NCCL é a biblioteca da NVIDIA com primitivas otimizadas de comunicação entre GPUs, como all-reduce e all-gather, para treinamento em um ou vários nós.
NVIDIA/apex
Extensão da NVIDIA para PyTorch com utilitários de precisão mista e treinamento distribuído, além de kernels CUDA e C++ fundidos opcionais.
- Estrelas
- 8,999
- Forks
- 1,532
- Issues abertas
- 777
- Último commit
- há 4 dias
O que é?
Apex é um conjunto de utilitários mantidos pela NVIDIA que ampliam o PyTorch para precisão mista e treinamento distribuído. A proposta é dar acesso a utilitários de treinamento atualizados antes que sejam incorporados ao PyTorch.
O pacote inclui kernels fundidos para operações comuns, como Adam, normalização de camadas e softmax, além de um namespace contrib com módulos experimentais para áreas como esparsidade, transducer loss, bottleneck blocks e otimizadores distribuídos. Muitos desses componentes são compilados como extensões opcionais em C++/CUDA, ativadas por variáveis de ambiente durante a instalação.
Também há suporte a uma compilação apenas em Python, mas ela não inclui os kernels fundidos e executa DistributedDataParallel, amp e SyncBatchNorm mais lentamente. Os contêineres de PyTorch da NVIDIA no NGC vêm com todas as extensões pré-instaladas.
Recursos principais
- 01Utilitários de treinamento com precisão mista (apex.amp) para PyTorch.
- 02Recursos auxiliares para treinamento distribuído, incluindo DistributedDataParallel e SyncBatchNorm.
- 03Otimizações e kernels de normalização de camadas fundidos, compilados como extensões CUDA.
- 04Pacotes contrib modulares, ativados individualmente durante a instalação.
- 05Opção de instalação apenas em Python para ambientes sem toolchain CUDA.
Casos de uso
- Acelerar o treinamento de modelos grandes em GPUs NVIDIA com precisão mista.
- Executar treinamento PyTorch em várias GPUs ou nós com utilitários distribuídos fundidos.
- Experimentar otimizadores fundidos ou camadas de normalização em código de treinamento personalizado.
Início rápido
- 1
Clone o repositório
git clone https://github.com/NVIDIA/apex - 2
Acesse o diretório do projeto
cd apex - 3
Compile e instale as extensões principais de C++ e CUDA
APEX_CPP_EXT=1 APEX_CUDA_EXT=1 pip install -v --no-build-isolation .
Antes de usar
- A compilação das extensões de CUDA e C++ requer uma configuração compatível do PyTorch e do CUDA.
- Alguns módulos apex.contrib só funcionam com versões nightly do PyTorch, e não com versões estáveis.
- A instalação no Windows é experimental.
Em coleções
Tópicos
Perguntas frequentes
- O que é apex?
- Extensão da NVIDIA para PyTorch com utilitários de precisão mista e treinamento distribuído, além de kernels CUDA e C++ fundidos opcionais. Apex é um conjunto de utilitários mantidos pela NVIDIA que ampliam o PyTorch para precisão mista e treinamento distribuído. A proposta é dar acesso a utilitários de treinamento atualizados antes que sejam incorporados ao PyTorch.
- apex é gratuito? Qual é a licença?
- apex é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
- apex ainda é mantido?
- Manutenção ativa. O último commit de apex foi em 2 de nov. de 2026.
- Para que posso usar apex?
- Acelerar o treinamento de modelos grandes em GPUs NVIDIA com precisão mista. Executar treinamento PyTorch em várias GPUs ou nós com utilitários distribuídos fundidos. Experimentar otimizadores fundidos ou camadas de normalização em código de treinamento personalizado.
- Como instalar apex?
- Clone o repositório: git clone https://github.com/NVIDIA/apex Acesse o diretório do projeto: cd apex Compile e instale as extensões principais de C++ e CUDA: APEX_CPP_EXT=1 APEX_CUDA_EXT=1 pip install -v --no-build-isolation .
- Onde consigo apex?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/NVIDIA/apex
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca otimizada para GPU e scripts de referência para treinar grandes modelos transformer com paralelismo multidimensional.
Biblioteca de otimização de deep learning que facilita e torna mais eficiente o treinamento distribuído e a inferência de modelos grandes.
Sistema baseado em PyTorch para treinamento e inferência distribuídos de grandes modelos de IA, com paralelismo, otimização de memória e treinamento heterogêneo.
Framework de deep learning baseado em PyTorch que automatiza loops de treinamento, escalabilidade para múltiplas GPUs e código de infraestrutura, mantendo o controle total do código do modelo.
Biblioteca otimizada de Mixture-of-Experts da Microsoft para treinar e servir modelos MoE em PyTorch, com inferência de baixa precisão para modelos como DeepSeek, Qwen e GLM.