Предисловие: С 2017 года размер моделей ИИ удваивается каждые шесть месяцев: с 65 миллионов в Transformer первого поколения до 1,76 триллиона в GPT-4. Ожидается, что размер больших языковых моделей следующего поколения достигнет 10 триллионов. С другой стороны, объем данных, используемых для обучения модели, продолжает расти. Например, совокупный исходный объем данных C4 превышает 9,5 ПБ, при этом каждый месяц добавляется 200–300 ТБ. Текущий размер набора данных. очистка и обработка составляет около 38,5 ТБ, а количество обучающих выборок — 364,6М. Кроме того, с появлением мультимодальных больших моделей обучающие данные переходят от одного текста к изображениям и видео и даже к трехмерным облакам точек, а масштаб данных будет более чем в 10 000 раз больше, чем у текстовых данных.
Масштаб моделей ИИ огромен и продолжает быстро расти. Это не только приведет к экспоненциальному росту трафика центров обработки данных, но и уникальные характеристики трафика также повлекут за собой новые требования к сетям центров обработки данных.
Углубленный анализ трафика обучения, вывода и хранения данных крупных моделей ИИ поможет строителям центров обработки данных быть более целенаправленными и предоставлять пользователям более качественные услуги при меньших затратах, более высоких скоростях и более надежных сетях.
В этой статье мы сосредоточимся на представлении сетевого трафика в сценарии обучения большой модели ИИ. Сценарии вывода ИИ и хранения данных будут представлены в следующих статьях, так что следите за обновлениями.
Программа обучения ИИ сначала загружает параметры модели в память графического процессора, а затем проходит несколько эпох (то есть использует все обучающие наборы для полного обучения модели). Процесс обработки каждой эпохи можно просто описать как 4 шага. :
До появления больших моделей весь процесс мог выполняться на сервере ИИ. Программа обучения считывала модель ИИ и обучающий набор с локального диска сервера, загружала их в память, завершала обучение и оценку, а затем сохранил результаты обратно на локальный диск. Хотя для одновременного обучения используются несколько графических процессоров, чтобы ускорить обучение, весь ввод-вывод происходит на сервере искусственного интеллекта и не требует сетевого ввода-вывода.
С наступлением эры больших моделей пути трафика и сетевые требования для обучения ИИ претерпели огромные изменения.
Во-первых, масштаб параметров модели превышает объем памяти одного графического процессора. Если кластеры графических процессоров используются для совместных вычислений, им необходимо взаимодействовать друг с другом для обмена информацией. Такая информация включает параметры/градиенты, промежуточные значения активации и т. д.
Огромный набор данных используется всеми графическими процессорами и должен храниться централизованно на удаленном сервере хранения, вызываться через сеть и загружаться на сервер графического процессора в пакетном режиме. Кроме того, регулярно сохраняемые параметры и состояние оптимизатора также должны передаваться через сервер хранения, и в каждую эпоху обучения данные должны считываться и записываться через сеть.
Таким образом, сетевой трафик обучения большой модели ИИ можно разделить на следующие две категории:
в,Трафик между графическими процессорами сильно отличается от трафика внутри традиционных центров обработки данных.,Это связано сAIМетоды обучения больших моделей тесно связаны с——Технология параллельного обучения。
В настоящее время существует три основных типа моделей параллельных вычислений, широко используемых в обучении ИИ:
Режим параллельных вычислений | Подробности |
---|---|
параллелизм данных | Назначайте разные образцы данных разным графическим процессорам, чтобы ускорить обучение, используемое между хостами; |
тензорный параллелизм | Разделите матрицу параметров модели на подматрицы и распределите их по разным графическим процессорам, чтобы устранить ограничения памяти и ускорить вычисления. Обычно используется внутри хоста. |
Параллелизм трубопроводов | Разделите модель на несколько этапов и назначьте каждый этап отдельному графическому процессору, чтобы улучшить использование памяти и эффективность использования ресурсов. Обычно используется между хостами |
Общие шаблоны трафика коллективной связи (как показано ниже)
существоватьпараллелизм Данные, основной сетевой трафик поступает в результате градиентной синхронизации, которая происходит после каждой мини-пакетной обработки и усредняется с помощью операции всесокращения. В идеале все графические процессоры полностью подключены, и каждый графический процессор отправляет данные другим графическим процессорам G-1 отдельно, и в общей сложности необходимо отправить G. x (G-1) фрагментов данных.
FSDP (Полностью сегментированный параллелизм) данные) — улучшенная версия параллелизма данныхтехнология,Разработан для оптимизации использования памяти и эффективности связи. Он хранит параметры модели и градиенты, распределяя их по нескольким графическим процессорам.,Обеспечивает более эффективное использование памяти и обмен данными.
В FSDP сетевой трафик поступает в результате сбора параметров при прямом распространении и синхронизации градиента при обратном распространении.
Сбор параметров прямого распространения завершается операцией сбора всех данных, а сложность связи при сборе всех данных такая же, как и при сборе всех данных.
Градиентная синхронизация обратного распространения завершается операцией полного сокращения.,Поскольку параметры каждого графического процессора являются только исходными 1/G,Общий сетевой трафик в эпоху составляет всего 1/Г обычного параллелизма данных.
При тензорном параллелизме параметры модели распределяются по графическим процессорам G, и каждый графический процессор хранит только параметры 1/G. Сетевой трафик в основном поступает за счет передачи промежуточных значений активации при прямом распространении и градиентной синхронизации при обратном распространении.
При прямом распространении промежуточные значения активации, рассчитанные каждым графическим процессором, необходимо объединить и суммировать с помощью операции всесокращения. Для каждого токена на каждом уровне модели выполняется 2 слияния, в результате чего в общей сложности получается связь 2xTxL.
При обратном распространении градиенты необходимо синхронизировать между графическими процессорами. Это происходит дважды при обработке каждого слоя, и градиенты на каждом графическом процессоре суммируются с помощью операции полного сокращения. Эта синхронизация происходит во время обработки каждого слоя в каждом мини-пакете. Всего 2×N×L коммуникаций.
существовать Параллелизм трубопроводов, сетевой трафик в основном возникает за счет передачи промежуточных значений активации в процессах прямого и обратного распространения. с тензорным параллелизмдругой,Передача этих потоков происходит между двумя этапами модели,Используйте двухточечную связь вместо операций полного сокращения.,И частота тоже сильно снижается.
Подводить итоги,Тремя параллельными способами,тензорный параллелизм имеет самый большой поток и самую высокую частоту сети, Параллелизм. трубопроводов имеет самый низкий трафик,параллелизм данных имеет самую низкую частоту общения. Как показано в таблице ниже,P — параметр модели,T — количество токенов,L — количество слоев модели.,H — размер скрытого состояния,G — количество графических процессоров,N — количество мини-пакетов,Использование формата данных BFLOAT16.,Каждый параметр занимает 2 байта。существовать每个epochв процессе:
схема движения | Общий сетевой трафик обратного распространения ошибки | Время синхронизации обратного распространения | Общий сетевой трафик прямой обработки | Количество проходов прямого процесса | |
---|---|---|---|---|---|
параллелизм данных | all-reduce | 2 × N × P × G × (G-1) | 1 | 0 | 0 |
FSDP | all-gather + all-reduce | 2 × N × P × (G-1) | L | 2 × N × P × (G-1) | L |
тензорный параллелизм | all-reduce | 4 × N × P × L × (G-1) | 2 × L | 4 × L × T × H × (G-1) × G | 2 × L × T |
Параллелизм трубопроводов | Point-to-point | 2 × T × H × (G-1) | G-1 | 2 × T × H × (G-1) | G-1 |
Возьмите Ламу3 с 80 слоями (L). Модель 70B (P) и набор данных C4 являются примерами расчетов: используется формат данных BFLOAT16, каждый параметр занимает 2 байта, размер скрытого слоя установлен на 8192 (H), а для параллелизма используются 8 графических процессоров (G). данные. Общее количество токенов (T) в наборе данных C4 составляет около 156B, а количество выборок — 364,6. millions;batch Если размер равен 2048, каждая эпоха содержит примерно 178 000 мини-пакетов (N).
Расчет можно получить в течение каждой эпохи:
Общий сетевой трафик обратного распространения ошибки (ПБ) | Время синхронизации обратного распространения | Общий сетевой трафик прямой обработки(PB) | Общий сетевой трафик прямой обработки | |
---|---|---|---|---|
параллелизм данных | 1396 PB | 1 | 0 | 0 |
FSDP | 175 | 80 | 175 | 80 |
тензорный параллелизм | 26622 | 160 | 21840 | 160*156*10^9 |
Параллелизм трубопроводов | 17.9 | 7 | 17.9 | 7 |
Три метода параллелизма данных, тензорного параллелизма и параллелизма трубопроводов обычно используются в сочетании.,Это может еще больше повысить эффективность и масштабируемость при обучении больших моделей. В это время,Графический процессор также формирует кластер графических процессоров в соответствии с этими тремя измерениями.
Предположим, что существуют G(tp)×G(pp)×G(dp) В параллельном трехмерном массиве, состоящем из графических процессоров, все параметры P будут разделены на части G(tp)×G(pp), а размер каждой части равен P/G(tp)/G(pp). В модельном параллелизме, Параллелизм трубопроводовипараллелизм сетевой трафик существует в трёх измерениях данных. Далее мы углубимся в процесс обучения каждой эпохи и посчитаем состав и масштаб трафика на разных этапах.
В каждом мини-пакете синхронизация градиента при обратном распространении делится на:
Как показано ниже:
Таким образом, за одну эпоху общий сетевой трафик градиентной синхронизации составит: Впп+(ВВП-1)]
3. Распространение градиента промежуточной активации в измерении Параллелизм трубопроводов, расход: 2xTxHx (Gpp-1)
Следовательно, за одну эпоху общий поток всего обратного распространения ошибки равен: 2xNxPxGdpx[2xLx(Gtp-1)/Gpp+(Gdp-1)]+2xTxHx(Gpp-1)
При прямом распространении промежуточные активации передаются последовательно в тензорном порядке. параллелизм、Параллелизм размеры трубопроводов попеременно, в которых тензорный Шаг активации параллелизма каждый раз содержит 2 операции все-сокращения.
Как показано на рисунке ниже, показано прямое распространение токена:
Следовательно, за одну эпоху общий сетевой трафик прямого распространения равен: 4xTxHxLxPxGtpx(Gtp-1)+2xTxHx(Gpp-1).
Прямо сейчас:2xTxHx(2xLxGtpx(Gtp-1)+(Gpp-1)
таким образом,В качестве примера возьмем модель Llama3-70B.,Использование 8-полосного тензорного параллелизм x 8дорога Параллелизм трубопроводов x 16дорогапараллелизм данныхрежим,Обучено на 1024 графических процессорах.,Общий объем трафика, генерируемого за одну эпоху, составляет примерно 85 ЭБ. Такой огромный масштаб трафика,Если использовать переключатель с коммутационной способностью 51,2Т,24 часа работы при полной нагрузке,Для завершения перевода потребуется около 20 дней.
Учитывая, что предварительное обучение обычно содержит около 100 эпох, если обучение необходимо пройти за 100 дней, то для передачи данных, сгенерированных в процессе обучения, потребуется не менее 20 коммутаторов 51.2T.
Благодаря приведенному выше анализу и расчетам мы можем получить основные требования к вычислительной сети типичного интеллектуального вычислительного центра с искусственным интеллектом.
Подпишитесь на общедоступную учетную запись vx «Asterfusion», чтобы получать больше информации о технологиях и последних обновлениях продуктов.