Construção da infraestrutura e configuração dos scripts
Introdução
- Ao longo de alguns meses, uma pequena equipe de pesquisa e engenharia treinou do zero um modelo de 70B de parâmetros em sua própria infraestrutura, superando o GPT-4o zero-shot em tarefas relacionadas a reasoning.
- Hoje, compartilham um guia abrangente da infraestrutura necessária, desde a configuração inicial do cluster e instalação do sistema operacional até a recuperação automática de erros que ocorrem durante o treinamento.
- Explicam em detalhes os desafios enfrentados em cada etapa e como os resolveram, além de disponibilizar scripts de infraestrutura para que outras equipes possam montar uma infraestrutura estável com mais facilidade.
Contexto: como este sistema funciona
- São necessárias GPUs rápidas para executar experimentos com grandes modelos de linguagem com agilidade.
- É usado um cluster com 4.092 GPUs H100 distribuídas em 511 computadores.
- A rede InfiniBand permite comunicação de alta velocidade entre as GPUs.
Processo: como ir do bare metal a um cluster totalmente operacional
Provisionamento de máquinas individuais
- A conexão Ethernet inicial com o cluster é estabelecida pela rede de gerenciamento, com acesso ao BMC (Baseboard Management Controller).
- O Ubuntu 22.04 é instalado no primeiro servidor usando o iDRAC, e a partir dele os demais servidores são configurados.
Instalação do sistema operacional em todas as máquinas
- O software MAAS é usado para provisionar os demais servidores.
- São usados boot via PXE e ferramentas automatizadas de iDRAC para inicializar pela rede, configurando o MAAS para responder às solicitações de boot PXE.
Diagnóstico de máquinas com defeito
- Cerca de 10% das máquinas falham na inicialização, principalmente por problemas físicos.
- Verificações automatizadas detectam os problemas, solicitando à Dell novos testes ou abrindo tickets para a equipe do data center.
Configuração mínima de metal observável
- Docker, drivers de GPU para data center, Prometheus Node Exporter e outros componentes são instalados em todos os servidores.
- Diagnósticos básicos de GPU são executados para verificar se a maioria das GPUs está funcionando normalmente.
Treinamento de GPU em nó único
- É verificado se todas as máquinas conseguem executar cargas de trabalho de GPU de forma independente.
- Erros relacionados a GPU são resolvidos, assim como problemas de conexão entre o barramento PCIe e as placas de rede.
Provisionamento do InfiniBand
- O UFM (Unified Fabric Manager) é instalado, os switches de rede são detectados e nomeados de acordo com sua localização física.
- Problemas de cabeamento de rede são resolvidos, assim como alertas de temperatura.
Garantia de máquinas totalmente saudáveis
- Diversas verificações de saúde confirmam quais hosts estão aptos para uso no treinamento.
- São feitas checagens de GPU, espaço em disco, Docker,
dmesg, iDRAC, discos, InfiniBand, NVLink, GDR, VBIOS, Flint, PSB e outros itens.
Diagnóstico de problemas comuns de treinamento
- Quando o hardware começa a funcionar corretamente, o treinamento é iniciado.
- São resolvidos problemas como falhas na inicialização, falhas no meio do processo, travamentos sem informações de stack trace e queda na velocidade de treinamento.
Melhoria das ferramentas de infraestrutura
- Diversas ferramentas e sistemas são desenvolvidos para garantir que o treinamento ocorra sem problemas.
- Máquinas com defeito e componentes de rede problemáticos são desativados automaticamente, e solicitações de reparo são automatizadas.
- São construídos um sistema de arquivos espelhado local e um registro Docker distribuído local.
- Ferramentas de monitoramento de desempenho são configuradas, e são criadas ferramentas para detectar lotes de treinamento lentos e entender suas causas.
Opinião do GN⁺
- Este artigo é muito útil por oferecer experiência prática e soluções para a configuração e gestão de clusters em larga escala.
- Explica bem a complexidade da construção da infraestrutura necessária para treinar grandes modelos de linguagem.
- Fornece diversos scripts e ferramentas que outras equipes podem consultar ao montar uma infraestrutura semelhante.
- Explica bem a importância da rede InfiniBand e os problemas que podem surgir durante sua configuração.
- Também descreve bem os pontos a considerar e os prós e contras ao adotar novas tecnologias ou software open source.
1 comentários
Comentários do Hacker News
Uma pequena equipe de pesquisa treinou um modelo de 70B parâmetros em sua própria infraestrutura e superou o GPT-4 zero-shot em tarefas relacionadas a raciocínio
Em um cluster, há 4.092 GPUs H100 distribuídas por 511 computadores
Esse tema foi discutido no podcast Latent Space há alguns dias
Há curiosidade sobre por que tanto hardware de PC é necessário
Seria interessante repetir o treinamento no mesmo hardware usando Unicode bruto em vez de dados de treinamento tokenizados
4.092 GPUs H100
Há interesse no consumo total de energia necessário para construir o modelo
Há curiosidade sobre qual foi o custo total
A Cisco está avançando em uma nova colaboração com a NVIDIA na velocidade de 800G por porta
Há curiosidade sobre o que acontece com o hardware e a infraestrutura depois que o modelo é treinado