58,7% неожиданных прерываний вызваны GPU, три инцидента потребовали значительного вмешательства человека
По имеющимся данным, за 54 дня предварительного обучения произошло 466 прерываний работы. Из них 47 были плановыми прерываниями, вызванными автоматизированным обслуживанием, таким как обновление прошивки или инициированные оператором обновления конфигурации или операции обновления набора данных; 419 были неожиданными прерываниями, в основном вызванными подтвержденными проблемами с оборудованием, включая сбои GPU, компонентов хоста или предполагаемые проблемы, связанные с оборудованием, такие как скрытое повреждение данных и незапланированные события обслуживания отдельных хостов.
Проблемы с GPU были основной категорией неожиданных прерываний, составляя 58,7% всех неожиданных проблем, включая различные сбои GPU, такие как NVLink и сбои памяти HBM3. Это неудивительно, учитывая, что GPU Nvidia H100 потребляет около 700 Вт и подвергается значительным тепловым нагрузкам. Несмотря на большое количество сбоев, только три инцидента потребовали значительного вмешательства человека, остальные проблемы были решены автоматически.
Оставшиеся 41,3% неожиданных прерываний были вызваны комбинацией программных ошибок, сетевых кабелей и сетевых адаптеров. Интересно, что за этот период вышли из строя только два CPU.
За 54-дневный период предварительного обучения Llama 3 405B были классифицированы основные причины неожиданных прерываний.
Еще одной проблемой, с которой столкнулась команда, обучающая крупномасштабную модель Llama 3 405B, были изменения энергопотребления десятков тысяч GPU одновременно, что создавало нагрузку на электросеть центра обработки данных.
В процессе обучения тысячи GPU могут одновременно увеличивать или уменьшать энергопотребление, например, при ожидании завершения контрольных точек или коллективной коммуникации, или при запуске или остановке всего обучающего задания. Когда это происходит, это может привести к мгновенным колебаниям энергопотребления центра обработки данных в десятки мегаватт, что может перегрузить электросеть.
Это постоянная проблема, означающая, что Meta должна обеспечить достаточное электроснабжение своих центров обработки данных для поддержания нормальной работы модели 405B и будущих более крупных моделей Llama. По мере роста сложности моделей ИИ увеличиваются и необходимые вычислительные ресурсы.
Усилия по достижению 90% эффективного времени обучения
Для повышения эффективности Meta разработала различные инструменты и стратегии оптимизации, включая сокращение времени запуска задач и контрольных точек, широкое использование встроенного в PyTorch регистратора полетов NCCL, а также выявление отстающих GPU. NCCLX сыграл решающую роль в обнаружении и локализации сбоев, особенно для проблем, связанных с NVLink и RoCE, а интеграция с PyTorch позволила отслеживать и автоматически прерывать коммуникационные зависания, вызванные сбоями NVLink.
Известно, что регистратор полетов NCCL PyTorch может записывать метаданные коллективов и трассировки стека в кольцевой буфер, что позволяет быстро диагностировать и решать проблемы зависания и производительности в крупном масштабе, особенно связанные с NCCLX. Кроме того, поскольку Meta использует в своей сети комбинацию NVLink и RoCE, это усложняет отладку проблем при крупномасштабном обучении. Передача данных через NVLink обычно выполняется с помощью операций загрузки/сохранения, выполняемых ядрами CUDA, а сбои удаленных GPU или соединений NVLink обычно проявляются как зависание операций загрузки/сохранения внутри ядер CUDA без явных кодов ошибок.
NCCLX повышает скорость и точность обнаружения и локализации сбоев благодаря тесной совместной разработке с PyTorch, позволяя PyTorch получать доступ к внутреннему состоянию NCCLX и отслеживать соответствующую информацию. Хотя невозможно полностью предотвратить зависания из-за сбоев NVLink, система отслеживает состояние коммуникационной библиотеки и автоматически прерывает такие зависания при их обнаружении. Кроме того, NCCLX отслеживает активность ядра и сети для каждой коммуникации NCCLX и предоставляет снимок внутреннего состояния неисправных коллективов NCCLX, включая завершенные и незавершенные передачи данных между всеми рангами.
Иногда проблемы с оборудованием могут привести к появлению "отстающих", которые все еще работают, но медленно, и их трудно обнаружить. Даже один "отстающий" может замедлить работу тысяч других GPU, часто проявляясь как нормальная, но медленная коммуникация. Для решения этой проблемы Meta разработала инструменты для приоритетной обработки потенциально проблемных коммуникаций от выбранных групп процессов, что позволяет эффективно обнаруживать и своевременно решать проблемы с отстающими, обеспечивая минимальное замедление и поддерживая общую эффективность обучения.
Еще одно интересное наблюдение касается влияния факторов окружающей среды на производительность крупномасштабного обучения. Для Llama 3 405B Meta заметила колебания пропускной способности на 1-2% в определенное время дня, что было вызвано более высокими температурами в полдень, влияющими на динамическую регулировку напряжения и частоты GPU, что в свою очередь влияло на производительность обучения. Однако это не является серьезной проблемой, так как динамическое масштабирование напряжения и частоты GPU обычно подвержено влиянию изменений температуры.
Заключение
Учитывая, что кластер из 16384 GPU H100 испытал 419 неожиданных сбоев за 54 дня, или 7,76 раз каждые 24 часа, мы не можем не задаться вопросом, какова частота сбоев суперкомпьютерного кластера Memphis Supercluster компании xAI, оснащенного 100000 GPU H100?
На прошлой неделе Илон Маск похвастался в социальной сети X, что запустил "самый мощный в мире кластер для обучения искусственного интеллекта" и что он создаст "самый мощный искусственный интеллект в мире по всем показателям" к декабрю этого года. Сообщается, что суперкомпьютерный кластер Memphis уже начал обучение, используя жидкостное охлаждение и единую архитектуру сетевого взаимодействия RDMA.
Судя по масштабу GPU, суперкомпьютерный кластер Memphis компании xAI может столкнуться с экспоненциально более высокой частотой сбоев, а количество неисправных компонентов может увеличиться в шесть раз, что создает еще большие проблемы для будущего обучения ИИ.
Ссылки:
https://www.inspire2rise.com/meta-faces-frequent-gpu-failures-llama-3-training.html
https://ai.meta.com/research/publications/the-llama-3-herd-of-models/