405B 模elos enfrentam desafios de treinamento: GPUs da NVIDIA falham frequentemente, engenheiros da Meta respondem engenhosamente

GPUs e suas memórias de alta largura de banda são as principais causas de mais da metade das falhas.

58,7% das interrupções inesperadas originaram-se da GPU, três incidentes exigiram intervenção humana significativa

De acordo com relatos, durante os 54 dias de pré-treinamento, houve um total de 466 interrupções de trabalho. Destas, 47 foram interrupções planejadas, causadas por manutenção automatizada, como atualizações de firmware ou operações de atualização de configuração ou conjunto de dados iniciadas pelo operador; 419 foram interrupções inesperadas, principalmente devido a problemas de hardware confirmados, incluindo falhas de GPU, componentes do host ou problemas suspeitos relacionados ao hardware, como corrupção silenciosa de dados e eventos de manutenção não planejados de hosts individuais.

Problemas de GPU foram a categoria mais significativa de interrupções inesperadas, representando 58,7% de todos os problemas inesperados, incluindo várias falhas de GPU como NVLink e falhas de memória HBM3. Isso não é surpreendente, considerando que as GPUs H100 da Nvidia consomem cerca de 700W e estão sujeitas a alto estresse térmico. Apesar do grande número de falhas, apenas três incidentes exigiram intervenção humana significativa, com os problemas restantes sendo tratados automaticamente.

Os 41,3% restantes das interrupções inesperadas foram causados por uma combinação de erros de software, cabos de rede e adaptadores de rede. Curiosamente, apenas duas CPUs falharam durante este período.

Durante os 54 dias de pré-treinamento do Llama 3 405B, as causas raiz das interrupções inesperadas foram categorizadas.

Outro desafio enfrentado pela equipe de treinamento do modelo grande Llama 3 405B foi a mudança simultânea no consumo de energia de dezenas de milhares de GPUs, o que colocou pressão na rede elétrica do data center.

Durante o treinamento, milhares de GPUs podem aumentar ou diminuir o consumo de energia simultaneamente, por exemplo, ao aguardar a conclusão de checkpoints ou comunicações coletivas, ou durante a inicialização ou encerramento de toda a tarefa de treinamento. Quando isso ocorre, pode causar flutuações instantâneas no consumo de energia do data center na ordem de dezenas de megawatts, potencialmente sobrecarregando a rede elétrica.

Este é um desafio contínuo, o que significa que a Meta deve garantir que seus data centers tenham energia suficiente para manter o funcionamento normal do modelo de 405B e futuros modelos Llama de escala ainda maior. À medida que a complexidade dos modelos de IA continua crescendo, os recursos computacionais necessários também aumentam.

Esforços por trás da realização de 90% de tempo de treinamento efetivo

Para melhorar a eficiência, a Meta desenvolveu várias ferramentas e estratégias de otimização, incluindo a redução do tempo de inicialização de tarefas e checkpoints, uso extensivo do registrador de voo NCCL integrado ao PyTorch e identificação de GPUs atrasadas. Entre eles, o NCCLX desempenhou um papel crucial na detecção e localização de falhas, especialmente para problemas relacionados ao NVLink e RoCE, com sua integração ao PyTorch permitindo o monitoramento e timeout automático de pausas de comunicação causadas por falhas no NVLink.

Entende-se que o registrador de voo NCCL do PyTorch pode registrar metadados coletivos e rastreamentos de pilha em um buffer circular, permitindo o diagnóstico e resolução rápidos de problemas de travamento e desempenho em larga escala, especialmente relacionados ao NCCLX. Além disso, como a Meta usa uma mistura de NVLink e RoCE em sua rede, a depuração de problemas em treinamentos em larga escala torna-se mais complexa. As transferências de dados através do NVLink geralmente são realizadas por operações de carga/armazenamento emitidas por kernels CUDA, e falhas em GPUs remotas ou conexões NVLink geralmente se manifestam como operações de carga/armazenamento paralisadas dentro dos kernels CUDA, sem retornar códigos de erro explícitos.

O NCCLX melhora a velocidade e precisão da detecção e localização de falhas através de um design colaborativo próximo com o PyTorch, permitindo que o PyTorch acesse o estado interno do NCCLX e rastreie informações relevantes. Embora não possa prevenir completamente travamentos devido a falhas no NVLink, o sistema monitora o estado da biblioteca de comunicação e faz timeout automaticamente quando tais travamentos são detectados. Além disso, o NCCLX também rastreia a atividade do kernel e da rede para cada comunicação NCCLX e fornece instantâneos do estado interno de coletivos NCCLX com falha, incluindo transferências de dados concluídas e pendentes entre todas as classificações.

Às vezes, problemas de hardware podem levar a "retardatários" que ainda estão em execução, mas em velocidade reduzida, e são difíceis de detectar. Mesmo um único "retardatário" pode retardar milhares de outras GPUs, frequentemente se manifestando como comunicações normais, mas lentas. Para lidar com isso, a Meta desenvolveu ferramentas para priorizar comunicações potencialmente problemáticas de grupos de processos selecionados, efetivamente detectando e resolvendo retardatários em tempo hábil, garantindo que a desaceleração seja minimizada e mantendo a eficiência geral do treinamento.

Outra observação interessante é o impacto dos fatores ambientais no desempenho do treinamento em larga escala. Para o Llama 3 405B, a Meta notou uma variação de 1-2% na taxa de transferência em certos momentos do dia, uma flutuação causada pelas temperaturas mais altas ao meio-dia afetando o ajuste dinâmico de tensão e frequência das GPUs, influenciando assim o desempenho do treinamento. No entanto, isso não é um grande problema, pois o escalonamento dinâmico de tensão e frequência das GPUs geralmente é afetado por mudanças de temperatura.

Conclusão

Considerando que um cluster com 16.384 GPUs H100 experimentou 419 falhas inesperadas em 54 dias, ou 7,76 vezes a cada 24 horas, não podemos deixar de pensar: qual seria a frequência de falhas no Memphis Supercluster da xAI, equipado com 100.000 GPUs H100?

Na semana passada, Elon Musk se gabou na plataforma social X de ter lançado o "cluster de treinamento de IA mais poderoso do mundo", afirmando que criará "a IA mais poderosa do mundo em todas as métricas" até dezembro deste ano. Relata-se que o Memphis Supercluster já começou o treinamento, utilizando resfriamento líquido e uma arquitetura de interconexão de rede RDMA única.

Proporcionalmente à escala da GPU, o Memphis Supercluster da xAI pode enfrentar uma taxa de falhas exponencialmente maior, com o número de componentes com falha potencialmente aumentando seis vezes, o que apresenta desafios ainda maiores para seu futuro treinamento de IA.

Links de referência:

https://www.inspire2rise.com/meta-faces-frequent-gpu-failures-llama-3-training.html

https://www.tomshardware.com/tech-industry/artificial-intelligence/faulty-nvidia-h100-gpus-and-hbm3-memory-caused-half-of-the-failures-during-llama-3-training-one-failure-every-three-hours-for-metas-16384-gpu-training-cluster

https://ai.meta.com/research/publications/the-llama-3-herd-of-models/