Проектирование и практика крупномасштабных высокопроизводительных сетей искусственного интеллекта

Требования к сети для обучения большой модели

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

Это связано с двумя основными причинами: Сами модели очень большие. Из-за текущих ограничений памяти графического процессора нам приходится разделять модель на множество графических процессоров для хранения. Например, большая модель FiberMall имеет 260 миллиардов параметров, но на самом деле один графический процессор A800 с 80 ГБ памяти может хранить только около 1–2 миллиардов параметров, включая вычислительные состояния во время обучения. Для хранения одной только модели с 260 миллиардами параметров потребуются сотни графических процессоров, что уже является относительно большим масштабом.

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

В FiberMall мы называем шкалу обучения в зависимости от количества графических процессоров, используемых для выполнения задачи. Например, мы называем его мелкомасштабным, если в нем меньше 100 карточек, средним, если оно составляет от 100 до 1,000 карточек, крупномасштабным, если оно превышает 1,000 карточек, и сверхкрупномасштабным, если оно превышает 10,000 1,000 карточек. Согласно этому соглашению об именах, мы можем сказать, что крупномасштабное параллельное обучение более XNUMX карточек является основой успеха больших моделей.

Существует несколько распространенных стратегий распределенного параллельного обучения моделей машинного обучения. Мы опишем три наиболее широко используемых подхода.

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

Вторая параллельная стратегия — это конвейерный параллелизм. Модели нейронных сетей обычно состоят из нескольких слоев нейронов, включая модели глубокого трансформатора. При конвейерном параллелизме модель разбивается по слоям, при этом разные уровни назначаются разным графическим процессорам. Этот подход требует двухточечной передачи данных между графическими процессорами для передачи активаций во время прямого прохода и градиентов во время обратного прохода. Хотя обмен данными происходит несколько раз за итерацию, объем передаваемых данных обычно невелик, а требования к производительности сети относительно скромны.

Третья стратегия параллельного параллелизма — это тензорный параллелизм, который предполагает совместное использование нескольких графических процессоров для выполнения одного тензорного вычисления, например умножения матриц. Этот подход требует операции Allreduce для синхронизации результатов вычислений частичного тензора между графическими процессорами. Размер вычисляемых тензоров зависит как от архитектуры модели, так и от размера пакета, используемого для обучения, и эти вычисления тензоров часто происходят во время каждой итерации обучения. В результате тензорный параллелизм предъявляет наибольшие требования.

Учитывая характеристики трех параллельных стратегий, при обучении крупномасштабных моделей обычно применяется гибридный подход.

В пределах одной машины с несколькими графическими процессорами тензорный параллелизм используется для полного использования высокоскоростных соединений NVLink между графическими процессорами.

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

Для дальнейшего ускорения обучения модели затем применяется параллелизм данных, где каждая группа параллелизма данных (DP) состоит из комбинации тензорного параллелизма и конвейерного параллелизма.

Операции Allreduce при параллелизме данных выполняются внутри каждой группы DP, где градиенты синхронизируются между графическими процессорами одной группы DP. Например, на диаграмме показана конфигурация с 8 графическими процессорами в тензорном параллелизме, 4 графическими процессорами в конвейерном параллелизме и 3 группами DP. В данном случае имеется 32 группы Allreduce, каждая из которых состоит из 3 графических процессоров, выполняющих синхронизацию градиента.

Основным требованием к сети для обучения больших моделей является операция Allreduce на этапе параллелизма данных, где каждый графический процессор должен участвовать в Allreduce на объемах данных в диапазоне 10 ГБ.

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

Сверхбольшой масштаб

Размер модели напрямую определяет скорость обучения модели. Как показано на рисунке, для модели со 175 миллиардами параметров обучение с использованием 100 графических процессоров займет более 2,000 дней. Однако, используя 8,000 графических процессоров, время обучения можно сократить примерно до 30 дней. Сегодня это имеет решающее значение для быстрого создания крупномасштабных моделей.

Сверхвысокая пропускная способность

Пропускная способность AllReduce напрямую определяет общую эффективность крупномасштабного распределенного обучения. Как показано на рисунке, когда средняя пропускная способность AllReduce для одного графического процессора составляет 5 ГБ/с, общий коэффициент ускорения при крупномасштабном распределенном обучении составляет всего 70%. Для достижения коэффициента ускорения 90 % пропускная способность AllReduce с одним графическим процессором должна достигать 20 ГБ/с, что эквивалентно одному графическому процессору, полностью использующему сетевую карту 400G.

Сверхдолгая стабильность

Учитывая, что обучение модели может длиться несколько недель, долгосрочная стабильность имеет первостепенное значение. Если использовать в качестве примера доступность графического процессора, то если ежемесячная доступность одного графического процессора составляет 99.9%, вероятность возникновения сбоя и прерывания в течение одного месяца обучения с 1,000 графических процессоров составляет 60%. Даже если доступность графического процессора повысится до 99.99%, вероятность сбоя при использовании 8,000 графических процессоров все равно составит около 50%. Чтобы свести к минимуму перерывы в обучении и уменьшить необходимость в частых контрольных точках, сеть должна обеспечить еще более высокую доступность.

Проектирование высокопроизводительной сети AIPod

Для решения этих задач мы разработали высокопроизводительную сеть AIPod для инфраструктуры искусственного интеллекта.

Как показано на схеме, сеть AIPod представляет собой полностью подключенную топологию, содержащую примерно 400 коммутаторов, 3,000 сетевых карт, 10,000 20,000 кабелей и XNUMX XNUMX оптических модулей. Общая длина кабеля эквивалентна расстоянию от Пекина до Циндао.

Рациональный дизайн сети AIPod

После предыдущего обсуждения концептуального понимания давайте теперь углубимся в рациональный дизайн сети AIPod.

Для поддержки масштабной сети AIPod была выбрана трехуровневая неблокируемая сетевая архитектура CLOS. Топология сети CLOS аналогична схеме, показанной ранее, где:

Серверы подключены к коммутаторам уровня Leaf (LF).

Листовые коммутаторы соединяются с коммутаторами Spine (SP).

Коммутаторы Spine дополнительно подключаются к уровню SuperSpine (SSP).

Как упоминалось ранее, во время обучения большой модели основная связь происходит между графическими процессорами одного и того же сервера, т. е. между графическими процессорами 1 и графическим процессором 1, между графическими процессорами 2 и графическими процессорами 2 и так далее. Взаимодействие между графическими процессорами происходит реже.

Чтобы обеспечить такую ​​схему связи, сеть AIPod использует 8-канальную архитектуру. Каждый сервер имеет 8 сетевых портов, каждый из которых подключен к отдельному коммутатору Leaf. Эти 8 конечных коммутаторов образуют группу агрегации, поддерживающую до 512 графических процессоров.

Кроме того, 8 Leaf-коммутаторов подключены к разным каналам, и внутри каждого канала Leaf- и Spine-коммутаторы имеют полносвязную топологию. Такая конструкция позволяет масштабировать кластер для поддержки более 16 тыс. графических процессоров.

Хотя большая часть коммуникации происходит в пределах одного и того же канала, потребность в межканальной связи все же существует. Чтобы решить эту проблему, сеть AIPod использует уровень SuperSpine для соединения коммутаторов Spine разных каналов, обеспечивая бесперебойный путь связи по всей сети.

В сети AIPod используется неблокирующая конструкция или конструкция с коэффициентом превышения подписки 1:1, при которой пропускная способность восходящей и нисходящей линии связи коммутаторов одинакова, что обеспечивает достаточную пропускную способность внутри кластера.

Для поддержки максимально возможного масштаба в сети AIPod используются новейшие микросхемы коммутаторов высокой емкости, такие как коммутатор 51.2T, которые произошли от предыдущих поколений 12.8T и 25.6T.

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

В предыдущем обсуждении мы рассмотрели построение крупномасштабных сетей AIPod. Теперь давайте обратим наше внимание на проблемы, связанные с пропускной способностью сети.

Интеллектуальная облачная инфраструктура FiberMall выбрала максимальную спецификацию доступа к серверу 8x.400G, а сеть использует неблокирующую архитектуру CLOS, поддерживающую RDMA и GDR. Теоретически это должно обеспечить очень высокую пропускную способность. Однако по мере увеличения масштаба сети могут возникнуть различные проблемы, одной из наиболее серьезных из которых являются конфликты выбора пути между коммутаторами.

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

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

Чтобы смягчить влияние этой проблемы, мы обычно настраиваем библиотеку связи NCCL на использование нескольких соединений между графическими процессорами, как показано на схеме справа. Чем больше связей, тем ниже вероятность серьезного дисбаланса. Такой подход увеличивает энтропию маршрутизации в сети и снижает влияние конфликтов выбора пути на основе хэша, но не решает проблему полностью.

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

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

AIPod может предоставлять эту информацию системе планирования задач, что позволяет ей планировать задачи в пределах одной и той же группы агрегации, насколько это возможно, гарантируя, что связь остается в пределах одной группы агрегации.

Однако большие задачи модели часто слишком велики, чтобы их можно было ограничить одной группой агрегации. В таких случаях нам необходимо использовать информацию группы агрегации для упорядоченной обработки глобальных ресурсов графического процессора, позволяя коммуникационной библиотеке создавать более эффективные топологии Allreduce, которые минимизируют трафик между коммутаторами. Диаграмма в правом нижнем углу иллюстрирует эту концепцию, где два разных порядка построения кольца для операции Allreduce с 4 графическими процессорами могут привести к значительно различному использованию полосы пропускания между коммутаторами. Левосторонний подход более эффективен, а правосторонний менее эффективен. В этом преимущество возможностей AIPod, учитывающих сетевую архитектуру.

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

Чтобы полностью решить эту проблему, нам необходимо использовать возможности многопутевой пересылки сети, которые позволяют принимать пакеты вне очереди, нарушая предположение о том, что пакеты одного соединения могут пересылаться только по одному пути. В сетях Infiniband появилась возможность адаптивной маршрутизации, а в AIPod мы реализовали аналогичную функциональность с использованием технологии динамической балансировки нагрузки (DLB) поверх специально созданных коммутаторов FiberMall.

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

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

Обеспечение стабильности в сетях AIPod

Непрерывное выполнение длительных задач имеет решающее значение для обучения больших моделей, но аппаратные сбои неизбежны. В кластере, способном разместить 16,000 100,000 графических процессоров, может быть около 10 4 оптических модулей. Если предположить, что среднее время наработки на отказ (MTBF) составляет XNUMX миллионов часов на модуль, то при такой большой базе отказ может происходить в среднем примерно каждые XNUMX дня, поскольку события с низкой вероятностью становятся событиями с высокой вероятностью в масштабе.

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

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

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

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

Достижение сверхнизкой задержки в сетях AIPod

Хотя низкая задержка не является основным фактором при обучении больших моделей, где пропускная способность является основной проблемой, сеть AIPod также предназначена для поддержки чувствительных к задержке рабочих нагрузок искусственного интеллекта.

Ключевыми факторами, которые можно оптимизировать для снижения задержки, являются задержка в оптоволокне и задержка в очередях коммутатора. Сеть AIPod оптимизирует физическую компоновку кластера, чтобы минимизировать расстояние между серверами, коммутаторами и коммутаторами, позволяя использовать более короткие оптоволоконные соединения для уменьшения задержки распространения волокна.

Кроме того, сеть AIPod оптимизирует параметры управления перегрузкой, чтобы минимизировать занятость буфера коммутатора, что напрямую влияет на задержку в очереди. Благодаря этим оптимизациям AIPod может достичь задержки в сети на уровне микросекунд, что незначительно в контексте сквозного обучения больших моделей.

Использование высокопроизводительного хранилища в AIPod

В дополнение к высокопроизводительной обучающей сети AIPod также использует возможности высокопроизводительного хранилища FiberMall, такие как эластичная параллельная файловая система (PFS) на основе RDMA, которая может обеспечивать скорость до 200 Гбит/с на клиента, а также высокопроизводительную аппаратную нагрузку. балансировка экземпляров для доступа к облачному файловому хранилищу (CFS) или объектному хранилищу (BOS), обеспечивая стабильную пропускную способность более 10 Гбит/с на каждого клиента.

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

Обучение большой модели AIPod на практике

FiberMall продемонстрировал практическое применение сети AIPod при обучении крупномасштабных моделей, продемонстрировав стабильную работу с пропускной способностью связи для каждого графического процессора, превышающей 100 Гбит/с как в кластерах RoCE, так и в кластерах Infiniband.

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

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

Оставьте комментарий

Наверх