Configurando o Ambiente
O primeiro passo é configurar o cluster Cycle Cloud e o ambiente. Isso envolve conectar-se à máquina de scheduler e configurar o daemon do Docker para usar um sistema de arquivos compartilhado para armazenamento. Além disso, é gerada uma chave de API NGC para configurar o ambiente do Cycle Cloud.
Baixando o Modelo e o Conjunto de Dados
Em seguida, é necessário criar um diretório de trabalho scratch no sistema de arquivos compartilhado e definir a variável de ambiente JackScratchSpace para o caminho do diretório scratch. Em seguida, clone o repositório de computação otimizado para o diretório scratch. O conjunto de dados é baixado usando um módulo pequeno em um único nó e copiado para o disco NVMe de recursos dos nós de computação no cluster.
Executando os Benchmark
Por fim, é necessário definir a variável de ambiente JackScratchSpace para o caminho onde os dados são armazenados nos nós de computação. Em seguida, execute o benchmark de treinamento T5 com tamanho de batch de 32 por GPU para um único VM e o benchmark extra com tamanho de batch de 8 por GPU para um único VM. Os resultados dos benchmarks podem ser encontrados no arquivo de log.
Resultados
No vídeo, são apresentados os resultados do benchmark de treinamento T5X usando contêineres NVIDIA JAX e máquinas virtuais Azure NDm A100 v4. Dois modelos são testados: T5X Large e T5X Extra Large. A métrica de interesse é sequências por segundo. Os resultados são:
* T5X Large: 505,279 sequências por segundo
* T5X Extra Large: 139,562 sequências por segundo
Em resumo, este artigo destaca os passos importantes para executar o benchmark de treinamento T5 com o contêiner NVIDIA Jack no Azure, desde a configuração do ambiente até a execução dos benchmarks.