Исследователи Google DeepMind представляют DiLoCo новый распределенный алгоритм машинного обучения с низкой коммуникацией для эффективного и стойкого тренировки больших языковых моделей.

Google DeepMind представляет DiLoCo - новый распределенный алгоритм машинного обучения с низкой коммуникацией для эффективного и стойкого тренирования больших языковых моделей

Развитие способностей языковых моделей в реальных приложениях зачастую затрудняется сложными задачами, связанными с их масштабированием при использовании обычных методов, таких как стандартное обратное распространение ошибки. Последнее достижение Google DeepMind, DiLoCo (Distributed Low-Communication), устанавливает новый прецедент в оптимизации языковых моделей. В статье “DiLoCo: Distributed Low-Communication Training of Language Models” исследовательская команда представляет инновационный алгоритм распределенной оптимизации, который революционизирует подходы к обучению, работая на кластерах слабо связанных устройств, достигая значительного улучшения производительности и сокращения коммуникации в 500 раз.

Вдохновленные принципами Федеративного обучения, исследователи создали вариант широко признанного алгоритма Федеративного усреднения (FedAvg), дополнив его элементами, подобными алгоритму FedOpt. DiLoCo стратегически объединяет в себе AdamW в качестве внутреннего оптимизатора и использует Nesterov Momentum в качестве внешнего оптимизатора, создавая гениальное слияние, которое решает проблемы, заложенные в обычных парадигмах обучения.

Блеск DiLoCo заключается в трех его фундаментальных принципах:

1. Ограниченные требования к согласованию: Каждому рабочему необходимы согласованные устройства, но общее число требуется значительно меньше, что облегчает логистические сложности.

2. Сокращенная частота коммуникации: Рабочим больше не нужно обмениваться информацией на каждом шаге, а синхронизироваться только через интервалы 𝐻 шагов, что существенно сокращает накладные расходы на коммуникацию до сотен или даже тысяч.

3. Гетерогенность устройств: Внутри кластера устройства должны быть однородными, но DiLoCo позволяет разным кластерам работать с помощью различных типов устройств, предлагая уникальную гибкость.

Процесс обучения DiLoCo включает в себя множественное копирование предварительно обученной модели 𝜃 (0). Каждый рабочий независимо обучает свою модель на своем индивидуальном фрагменте данных в течение 𝐻 шагов. Затем рабочие усредняют свои внешние градиенты, и внешний оптимизатор обновляет глобальную копию параметра 𝜃 (1), которая распространяется обратно на рабочие. Этот циклический процесс повторяется 𝑇 раз, что позволяет обучать каждую копию в разных глобальных местоположениях, используя различные ускорители.

В практических экспериментах с набором данных C4, DiLoCo с применением восьми рабочих достигает производительности, сопоставимой с полностью синхронной оптимизацией, снижая коммуникацию на поразительные 500 раз. Более того, DiLoCo проявляет исключительную устойчивость к вариациям в распределении данных между рабочими и легко адаптируется к изменениям доступных ресурсов в процессе обучения.

В итоге, DiLoCo становится надежным и преобразующим решением для распределенного обучения языковых моделей-трансформеров на нескольких слабо связанных машинах. Этот новаторский подход не только преодолевает инфраструктурные проблемы, но и демонстрирует беспрецедентную производительность и приспособляемость, предвещая значительный прорыв в оптимизации языковых моделей.

Статья “Google DeepMind Researchers Introduce DiLoCo: A Novel Distributed, Low-Communication Machine Learning Algorithm for Effective and Resilient Large Language Model Training” впервые появилась на странице MarkTechPost.