Meta* недавно опубликовала исследование, подробно описывающее запуск модели Llama 3 405B на кластере, содержащем 16384 графических процессора Nvidia H100 с 80 ГБ. Обучающий прогон длился 54 дня, и за это время в кластере произошло 419 неожиданных сбоев компонентов, в среднем один сбой каждые три часа. В половине случаев сбоев виноваты графические процессоры или их встроенная память HBM3.

Суперкомпьютеры являются чрезвычайно сложными устройствами, в которых используются десятки тысяч процессоров, сотни тысяч других чипов и сотни километров кабелей. В сложном суперкомпьютере каждые несколько часов что-то выходит из строя, что является нормой, и главная задача разработчиков — обеспечить работоспособность системы независимо от таких локальных поломок.
Масштаб и синхронный характер обучения 16384 графических процессоров делают его склонным к периодическим сбоям. Если сбои не будут устранены должным образом, один сбой графического процессора может нарушить всю работу по обучению, что потребует перезапуска системы. Тем не менее команда Llama 3 сохранила эффективное время тренировок более чем на 90%.
Во время 54-дневного прогона было зафиксировано 466 перерывов в работе, из них 47 запланированных и 419 неожиданных. Плановые перерывы были связаны с автоматическим обслуживанием, а неожиданные в основном были связаны с аппаратными проблемами. Проблемы с графическим процессором были самой крупной категорией, на которую пришлось 58,7% неожиданных сбоев. Только три инцидента потребовали значительного ручного вмешательства, остальные устранялись автоматически.

Из 419 неожиданных сбоев 148 (30,1%) были вызваны различными сбоями графических процессоров (включая сбои NVLink), тогда как 72 (17,2%) были вызваны сбоями памяти HBM3, это неудивительно, учитывая, что графические процессоры Nvidia H100 потребляют около 700 Вт и испытывают сильное температурное воздействие. Интересно, что за 54 дня вышли из строя только два процессора.
Хотя графические процессоры являются наиболее важными компонентами, 41,3% неожиданных сбоев были вызваны многочисленными факторами, включая ошибки программного обеспечения, сетевые кабели и сетевые адаптеры.
Для повышения эффективности было сокращено время запуска заданий и контрольных точек, а также разработаны собственные диагностические инструменты. Регистратор NCCL от PyTorch широко использовался для быстрой диагностики и устранения зависаний и проблем с производительностью, особенно связанных с NCCLX. Этот инструмент собирает коллективные метаданные, помогая быстро решать проблемы.
* - Признана экстремистской на территории России.

