Gemini — семейство высокопроизводительных мультимодальных моделей: инфраструктура обучения
25 декабря 2023 г.:::информация Этот документ доступен на arxiv под лицензией CC 4.0.
Авторы:
(1) Команда Gemini, Google.
:::
Таблица ссылок
Обсуждение и заключение, ссылки
3. Инфраструктура обучения
Мы обучали модели Gemini с использованием TPUv5e и TPUv4 (Jouppi et al., 2023), в зависимости от их размеров и конфигурации. Обучение Gemini Ultra использовало большой парк ускорителей TPUv4 в нескольких центрах обработки данных. Это представляет собой значительное увеличение масштаба по сравнению с нашей предыдущей флагманской моделью PaLM-2, которая создавала новые инфраструктурные проблемы. Увеличение количества ускорителей приводит к пропорциональному уменьшению среднего времени наработки на отказ оборудования во всей системе. Мы свели к минимуму количество запланированных перепланировок и упреждающих операций, но настоящие машинные сбои являются обычным явлением для всех аппаратных ускорителей в таких больших масштабах.
Ускорители TPUv4 развернуты в «SuperPods» из 4096 чипов, каждый из которых подключен к выделенному оптическому коммутатору, который может динамически реконфигурировать кубы чипов 4x4x4 в произвольные топологии 3D-тора примерно за 10 секунд (Jouppi et al., 2023). Для Gemini Ultra мы решили сохранить небольшое количество кубов на суперпод, чтобы обеспечить горячее резервирование и непрерывное обслуживание.
Ускорители TPU в основном обмениваются данными через высокоскоростное соединение между чипами, но в масштабе Gemini Ultra мы объединяем SuperPods в нескольких центрах обработки данных, используя внутрикластерную и межкластерную сеть Google (Poutievski et al., 2022; Wetherall et al.). ., 2023; Яо Хун и др., 2018). Задержек и пропускной способности сети Google достаточно для поддержки широко используемой парадигмы синхронного обучения, использующей параллелизм моделей внутри суперподов и параллелизм данных между суперподами.
Модель программирования Jax (Bradbury et al., 2018) и Pathways (Barham et al., 2022) с «единым контроллером» позволяет одному процессу Python управлять всем процессом обучения, что значительно упрощает рабочий процесс разработки. Устройство разделения GSPMD (Xu et al., 2021) в компиляторе XLA разделяет вычисления этапа обучения, а компилятор XLA MegaScale (XLA, 2019) передает статически графики соответствующих коллективов так, чтобы они максимально перекрывались с вычислениями с очень небольшим изменением шага. время.
Поддержание высокой производительности[3] в таком масштабе было бы невозможно при использовании традиционного подхода периодической проверки весов в постоянном кластерном хранилище. Вместо этого в Gemini мы использовали избыточные копии состояния модели в памяти, а в случае любых незапланированных сбоев оборудования мы быстро восстанавливаемся непосредственно из неповрежденной реплики модели. По сравнению с PaLM и PaLM-2 (Anil et al., 2023) это обеспечило существенное ускорение времени восстановления, несмотря на использование значительно больших ресурсов обучения. В результате общий доход от самой масштабной обучающей работы увеличился с 85 % до 97 %.
Обучение в беспрецедентных масштабах неизменно выявляет новые и интересные способы сбоя систем – и в данном случае одной из проблем, которую нам нужно было решить, была проблема «тихого повреждения данных (SDC)» (Диксит и др., 2021; Хохшильд и др., 2021; Вишванатан и др., 2015). Хотя это крайне редко, масштаб Близнецов означает, что мы можем ожидать, что мероприятия SDC будут влиять на тренировки каждую неделю или две. Для быстрого обнаружения и устранения неисправного оборудования потребовалось несколько новых методов, которые используют детерминированное воспроизведение для изоляции неверных вычислений в сочетании с упреждающими сканерами SDC на простаивающих машинах и в горячем резерве. Наша полностью детерминированная инфраструктура позволила нам быстро выявить основные причины (включая сбои оборудования) во время разработки, ведущей к модели Ultra, и это было решающим фактором для стабильного обучения.
[3] Мы определяем хорошую производительность как время, потраченное на вычисление новых полезных шагов за время, прошедшее в процессе обучения.
Оригинал