Новое поколение сетевых решений AIGC: технология DDC для сетей

В 2023 году произошел полный рост технологий искусственного интеллекта ИИ, представленных крупными моделями AIGC, такими как ChatGPT, GPT-4, Ernie Bot и т. д. Они интегрировали множество функций, таких как написание текста, разработка кода, создание стихов и т. д., а также впечатляюще продемонстрировали свои превосходные возможности по производству контента, повергнув людей в глубокий шок. У ИТ-специалистов коммуникационные технологии, лежащие в основе больших моделей AIGC, также должны вызывать глубокие размышления. Без хорошей сети невозможно говорить об обучении крупных моделей. Для построения крупномасштабного кластера обучающей модели необходимы не только базовые компоненты, такие как серверы графических процессоров, сетевые карты и т. д., но и срочно необходимо решить проблему построения сети. Какая мощная сеть поддерживает работу AIGC? Как появление волны искусственного интеллекта принесет революционные изменения в традиционную сеть?

АЙГК

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

Параллелизм данных:

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

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

Тензорный параллелизм:

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

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

Параллелизм конвейеров:

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

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

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

AIGC интеллектуальный

Давайте посмотрим на спрос на вычислительную мощность ИИ при обучении больших моделей. По мере постоянного обновления больших моделей потребность в вычислительной мощности для обучения моделей также увеличивается, удваиваясь каждые три месяца. Модель GPT-3 (175 миллиардов параметров, обучающий корпус объемом 45 ТБ, потребляющая 3640 Пфлопс/с-дней вычислительной мощности), ChatGPT3, использует 128 серверов A100, всего 1024 карты A100 для обучения, поэтому для одного серверного узла требуется 4 сети 100G. каналы; в то время как ChatGPT4, ChatGPT5 и другие крупные модели требования к сети будут выше.

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

Итак, вопрос в том, какой фактор больше всего влияет на загрузку графического процессора?

Ответ – сеть.

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

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

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

Использование графического процессора

Пропускная способность и загрузка графического процессора

Динамическая задержка и загрузка графического процессора

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

Какая сеть может поддерживать работу AIGC?

Чтобы справиться с высокими требованиями кластерных вычислений ИИ в сети, отрасль предлагает различные решения. В традиционных стратегиях мы обычно видим три технологии: Infiniband, RDMA и коммутатор кадров.

Сеть Infiniband

Для специалистов, знакомых с передачей данных, Infiniband сети не являются чем-то незнакомым. Он считается лучшим способом построения высокопроизводительной сети, обеспечивающей чрезвычайно высокую пропускную способность, отсутствие перегрузок и низкую задержку. Сеть, используемая ChatGPT и GPT-4, является сетью Infiniband. Однако недостатком этой технологии является то, что она дорогая и стоит в несколько раз дороже, чем традиционная сеть Ethernet. Кроме того, эта технология относительно закрыта, и в отрасли имеется только один зрелый поставщик, что ограничивает выбор пользователя.

RDMA в Infiniband

Сеть РДМАИНГ 

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

Раньше RDMA в основном распространялась в сети InfiniBand. Сейчас его постепенно перенесли на Ethernet. Текущая основная сетевая схема основана на протоколе RoCE v2 для построения сети, поддерживающей РДМА. Однако технологии PFC и ECN в этой схеме, хотя они и создаются во избежание перегрузки канала, могут привести к приостановке или замедлению работы отправителя при частом срабатывании, тем самым влияя на пропускную способность связи.

Сеть RDMA

Переключатель кадров

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

Новое поколение сети AIGC: технология DDC

Учитывая различные ограничения традиционных схем, появилось новое решение – DDC (Distributed Disaggregated Chassis). DDC «разбирает» традиционный коммутатор кадров, повышает его масштабируемость и гибко проектирует масштаб сети в соответствии с размером кластера AI. Благодаря этому инновационному подходу DDC преодолевает ограничения традиционных схем и обеспечивает более эффективную и гибкую сетевую архитектуру для вычислений с использованием искусственного интеллекта.

Переключатель кадров

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

  • Механизм пересылки VOQ+Cell, эффективно борющийся с потерей пакетов

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

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

Механизм пересылки VOQ+Cell на основе сотовой связи
  • Развертывание PFC с одним переходом, полностью исключающее тупиковую ситуацию

Технология PFC используется для управления трафиком в сетях без потерь RDMA, которые могут создавать несколько виртуальных каналов для каналов Ethernet и устанавливать приоритеты для каждого канала. Однако у PFC также есть проблемы с взаимоблокировками.

В сети DDC, поскольку все NCP и NCF рассматриваются как целостные устройства, многоуровневый коммутатор отсутствует, что позволяет полностью избежать проблемы тупиковой ситуации PFC.

Принципиальная схема рабочего механизма PFC

Принципиальная схема рабочего механизма PFC

40 200G
  • Распределенная ОС, повышение надежности

В архитектуре DDC функция управления централизованно контролируется NCC, но это может создать единую точку риска отказа. Чтобы избежать этой проблемы, DDC использует распределенную ОС, которая позволяет каждому NCP и NCF управлять независимо и имеет независимую плоскость управления и управления. Это не только значительно повышает надежность системы, но и упрощает ее развертывание.

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

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

Наверх