1 pontos por GN⁺ 2024-06-29 | 1 comentários | Compartilhar no WhatsApp

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

 
GN⁺ 2024-06-29
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

    • Todos os componentes — InfiniBand, Ethernet, GPU, nós etc. — precisam funcionar perfeitamente
    • Se uma única das mais de 12.000 conexões estiver instável, todo o treinamento pode ficar mais lento
    • Compartilharam um guia abrangente sobre scripts open source e configuração de infraestrutura
    • Esta é uma de três partes sobre o treinamento de um modelo 70B; as outras duas focam em avaliação e otimização de hiperparâmetros com CARBS
  • Em um cluster, há 4.092 GPUs H100 distribuídas por 511 computadores

    • Isso corresponde a mais de US$ 100 milhões em custo de GPUs
    • Há curiosidade sobre a possibilidade de fazer esse trabalho com um orçamento de PC gamer
  • Esse tema foi discutido no podcast Latent Space há alguns dias

    • É um bom episódio para ouvir o contexto por trás das decisões
  • Há curiosidade sobre por que tanto hardware de PC é necessário

    • Fica a dúvida se não daria para montar isso com um backend PCI + InfiniBand, GPUs e pequenos controladores ARM
    • Também há dúvida se isso se deve à inércia de designs anteriores ou à falta de mercado para controladores especializados de GPU
  • Seria interessante repetir o treinamento no mesmo hardware usando Unicode bruto em vez de dados de treinamento tokenizados

    • Gostaria de ver a diferença em desempenho de ortografia e métrica
  • 4.092 GPUs H100

    • Estão em uma tarefa de "self-coding"
    • Pode ser uma solução no-code ou minimal code
    • O site tem muitos artigos e materiais interessantes
  • Há interesse no consumo total de energia necessário para construir o modelo

    • Fica a dúvida se existem números sobre energia e refrigeração
    • Foi mencionado que Mark Zuckerberg está planejando o próximo modelo de 1GW
  • Há curiosidade sobre qual foi o custo total

    • Incluindo custo de hardware, tempo de desenvolvimento, eletricidade e refrigeração
  • A Cisco está avançando em uma nova colaboração com a NVIDIA na velocidade de 800G por porta

    • Fica a dúvida se o InfiniBand é acessível pela GPU
    • Houve também um comentário agradecendo pelo compartilhamento
  • Há curiosidade sobre o que acontece com o hardware e a infraestrutura depois que o modelo é treinado