Sobre o projeto

O Apex é uma coleção de utilitários mantida pela NVIDIA que visa disponibilizar rapidamente aos usuários do PyTorch recursos atualizados de precisão mista e treinamento distribuído, com parte do código destinada a eventualmente ser incorporada ao PyTorch upstream. O que ele oferece: - Auxiliares de treinamento com precisão mista (apex.amp) para executar modelos em precisão reduzida. - Utilitários de treinamento distribuído, incluindo apex.parallel.DistributedDataParallel e SyncBatchNorm. - Kernels fundidos para otimizadores como FusedAdam, e camadas de normalização como FusedLayerNorm e FusedRMSNorm. - Um conjunto de módulos contrib opcionais cobrindo áreas como esparsidade, group batch norm, xentropy, focal loss, perdas transducer, peer memory, NCCL P2P, camadas bottleneck, otimizadores distribuídos e GPU direct storage. Notas de instalação: - Os contêineres NVIDIA PyTorch no NGC já vêm com as extensões personalizadas disponíveis. - A partir do código-fonte, o caminho recomendado usa variáveis de ambiente como APEX_CPP_EXT=1 e APEX_CUDA_EXT=1 com pip install --no-build-isolation; sinalizadores de linha de comando legados (--cpp_ext, --cuda_ext) continuam suportados. - Uma compilação somente em Python é possível, mas omite os kernels fundidos, portanto FusedAdam, FusedLayerNorm/FusedRMSNorm e os caminhos fundidos para SyncBatchNorm, DistributedDataParallel e amp ficam indisponíveis ou mais lentos. - Módulos contrib individuais exigem suas próprias opções de instalação; alguns podem ser compatíveis apenas com nightlies do PyTorch em vez de versões estáveis. APEX_ALL_CONTRIB_EXT=1 compila todas as extensões contrib de uma vez. - O Ninja é recomendado para compilação mais rápida, e opções de compilação paralela estão documentadas para ambientes com CPU ou memória limitadas. - O suporte ao Windows é descrito como experimental. Esta é uma biblioteca para desenvolvedores que treinam modelos de aprendizado profundo e desejam blocos de construção de precisão mista e treinamento distribuído, e não uma aplicação para usuário final.