Repolode
NVIDIA

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. 1

    Clone o repositório

    git clone https://github.com/NVIDIA/apex
  2. 2

    Acesse o diretório do projeto

    cd apex
  3. 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