Терминология и основы
Обучение больших моделей обычно использует одномашинные хосты с 8 GPU для формирования кластеров. Модели включают 8*{A100, A800, H100, H800}. Ниже приведена топология оборудования типичного хоста с 8*A100 GPU:

Чип коммутатора PCIe
Такие устройства, как ЦП, память, хранилища (NVME), графические процессоры и сетевые карты, поддерживающие PCIe, могут подключаться к шине PCIe или выделенному чипу коммутатора PCIe для обеспечения взаимосвязанности.
В настоящее время существует пять поколений продуктов PCIe, последнее из которых — Gen5.
NVLink
Определение
Согласно Википедии, NVLink — это последовательный многоканальный канал связи ближнего действия на основе проводов, разработанный Nvidia. В отличие от PCI Express, устройство может состоять из нескольких NVLink, а для связи устройства используют ячеистую сеть вместо центрального концентратора. Протокол был впервые анонсирован в марте 2014 года и использует фирменное высокоскоростное сигнальное соединение (NVHS).
Подводя итог, можно сказать, что NVLink — это высокоскоростной метод соединения между различными графическими процессорами в одном хосте. Это канал связи на короткие расстояния, который обеспечивает успешную передачу пакетов, обеспечивает более высокую производительность и служит заменой PCIe. Он поддерживает несколько полос, причем пропускная способность канала линейно увеличивается с числом полос. Графические процессоры в одном узле соединены между собой через NVLink в полносвязной схеме (аналогично архитектуре «позвоночник-лист») с использованием фирменной технологии NVIDIA.
Эволюция: Поколения 1/2/3/4
Основные различия заключаются в количестве полос на NVLink и пропускной способности на полосу (приведенные цифры являются двунаправленными полосами пропускания):

Например:
A100: 2 полосы/NVSwitch * 6 NVSwitch * 50 ГБ/с/полоса = 600 ГБ/с двунаправленной пропускной способности (300 ГБ/с однонаправленной). Примечание: это общая пропускная способность от одного графического процессора ко всем NVSwitch.
A800: уменьшено на 4 полосы, в результате чего получается 8 полос * 50 ГБ/с/полоса = 400 ГБ/с двунаправленной пропускной способности (200 ГБ/с однонаправленной).
мониторинг
Данные о пропускной способности NVLink в реальном времени можно получить на основе показателей DCGM.

НВСвитч
На схеме ниже представлена типичная топология аппаратного обеспечения хоста 8*A100 GPU.

NVSwitch — это микросхема коммутатора NVIDIA, встроенная в модуль графического процессора, а не независимый внешний коммутатор.
Ниже представлено изображение реальной машины от Inspur. Восемь блоков представляют восемь графических процессоров A100, а шесть толстых радиаторов справа покрывают чипы NVSwitch:

Коммутатор NVLink
Хотя NVSwitch звучит как коммутатор, на самом деле это микросхема коммутатора на модуле графического процессора, используемая для соединения графических процессоров в пределах одного хоста.
В 2022 году NVIDIA выпустила этот чип как фактический коммутатор под названием NVLink Switch, предназначенный для соединения устройств GPU между хостами. Названия можно легко спутать.
HBM (память с высокой пропускной способностью)
Origin
Традиционно память GPU и обычная память (DDR) монтируются на материнской плате и подключаются к процессору (CPU, GPU) через PCIe. Это создает узкое место в скорости PCIe, при этом Gen4 предлагает 64 ГБ/с, а Gen5 — 128 ГБ/с. Чтобы преодолеть это, некоторые производители GPU (не только NVIDIA) объединяют несколько чипов DDR и упаковывают их с GPU. Таким образом, каждый GPU может взаимодействовать со своей собственной памятью без маршрутизации через чип коммутатора PCIe, что значительно увеличивает скорость. Эта «память с высокой пропускной способностью» сокращенно называется HBM. На рынке HBM в настоящее время доминируют южнокорейские компании, такие как SK Hynix и Samsung.
Evolution: HBM 1/2/2e/3/3e

Согласно Википедии, AMD MI300X использует конфигурацию HBM192 объемом 3 ГБ с пропускной способностью 5.2 ТБ/с. HBM3e — это улучшенная версия HBM3 со скоростями от 6.4 ГТ/с до 8 ГТ/с.
Единицы пропускной способности
Производительность крупномасштабного обучения GPU напрямую связана со скоростью передачи данных. Это касается различных соединений, таких как пропускная способность PCIe, пропускная способность памяти, пропускная способность NVLink, пропускная способность HBM и пропускная способность сети. Пропускная способность сети обычно выражается в битах в секунду (б/с) и обычно относится к однонаправленной (TX/RX). Пропускная способность других модулей обычно выражается в байтах в секунду (Б/с) или транзакциях в секунду (Т/с) и обычно относится к общей двунаправленной пропускной способности. Важно различать и преобразовывать эти единицы при сравнении пропускной способности.
Типичный хост 8A100/8A800
Host Topology: 2-2-4-6-8-8
- 2 ЦП (и соответствующая им память, NUMA)
- 2 сетевые карты хранения данных (для доступа к распределенному хранилищу, внутриполосного управления и т. д.)
- 4 чипа коммутатора PCIe Gen4
- 6 чипов NVSwitch
- 8 графических процессоров
- 8 сетевых карт, выделенных для графического процессора

Более подробное представление представлено на следующей диаграмме:

Сетевые карты хранения данных
Они напрямую подключены к процессору через PCIe. Их цели включают:
Чтение и запись данных из распределенного хранилища, например, чтение обучающих данных и запись контрольных точек.
Обычное управление узлами, SSH, мониторинг и т. д.
Официальная рекомендация — использовать BF3 DPU, но пока пропускная способность соответствует требованиям, подойдет любое решение. Для экономически эффективной сети используйте RoCE; для лучшей производительности используйте IB.
NVSwitch Fabric: внутриузловая полносвязная сеть
8 графических процессоров соединены в конфигурации полной сетки через 6 чипов NVSwitch, также известных как фабрика NVSwitch. Каждое соединение в полной сетке имеет пропускную способность n * bw-per-nvlink-lane:
Для A100 с использованием NVLink3 это 50 ГБ/с на линию, поэтому каждое соединение в полносвязной сети составляет 12*50 ГБ/с = 600 ГБ/с (в обоих направлениях) и 300 ГБ/с в одном направлении.
Для A800, представляющего собой сокращенную версию, 12 полос сокращаются до 8, поэтому каждое соединение имеет пропускную способность 8*50 ГБ/с = 400 ГБ/с (двунаправленное) и 200 ГБ/с однонаправленное.
Использование nvidia-smi topo для просмотра топологии
Ниже представлена фактическая топология, отображаемая nvidia-smi на машине 8*A800 (сетевые карты объединены в пары, NIC 0~3 объединены):

Между графическими процессорами (верхняя левая область): все они NV8, что означает 8 соединений NVLink.
Между сетевыми картами:
На том же ЦП: УЗЕЛ, что означает отсутствие необходимости в пересечении NUMA, но требует пересечения микросхем коммутатора PCIe.
На разных ЦП: SYS, что указывает на необходимость пересечения NUMA.
Между графическими процессорами и сетевыми картами:
На том же процессоре и под той же микросхемой коммутатора PCIe: УЗЕЛ, что указывает только на пересекающиеся микросхемы коммутатора PCIe.
На одном и том же ЦП, но под разными чипами коммутатора PCIe: УЗЕЛ, указывающий на пересечение чипов коммутатора PCIe и моста хоста PCIe.
На разных ЦП: SYS, указывающий на пересечение NUMA, микросхем коммутатора PCIe и самое большое расстояние.
Сетевое взаимодействие кластера обучения GPU: IDC GPU Fabric
Архитектура взаимодействия узлов графического процессора:

Вычислительная сеть:
Сетевые интерфейсные платы GPU (NIC) напрямую подключены к коммутаторам top-of-rack (leaf). Эти коммутаторы leaf подключены в полносвязной топологии к коммутаторам spin, образуя вычислительную сеть GPU между хостами. Цель этой сети — облегчить обмен данными между GPU на разных узлах. Каждый GPU подключен к своему NIC через чип коммутатора PCIe: GPU <–> PCIe Switch <–> NIC.
Сеть хранения:
Две сетевые карты, напрямую подключенные к ЦП, подключены к другой сети, в основном для операций чтения/записи данных и управления SSH.
RoCE против InfiniBand:
И вычислительные, и сети хранения требуют RDMA для достижения высокой производительности, необходимой для ИИ. В настоящее время существует два варианта RDMA:
RoCEv2: Поставщики публичных облаков обычно используют эту сеть для хостов с 8 GPU, таких как CX6 с конфигурацией 8*100Gbps. Это относительно недорого, при этом удовлетворяя требованиям производительности.
InfiniBand (IB): обеспечивает производительность на 20% выше, чем RoCEv2, при той же пропускной способности сетевой карты, но стоит в два раза дороже.
Анализ узких мест полосы пропускания канала передачи данных:

Основные пропускные способности каналов указаны на диаграмме:
Внутрихостовая связь с графическим процессором: использует NVLink с двунаправленной пропускной способностью 600 ГБ/с (300 ГБ/с в однонаправленном направлении).
Внутрихостовая связь между графическим процессором и сетевой картой: использует чипы коммутатора PCIe Gen4 с двунаправленной пропускной способностью 64 ГБ/с (однонаправленная — 32 ГБ/с).
Связь между хостами GPU: использует сетевые карты для передачи данных. Основная полоса пропускания для отечественных моделей A100/A800 составляет 100 Гбит/с (12.5 ГБ/с однонаправленная), что приводит к значительно более низкой производительности по сравнению с внутрихостовой связью.
- 200 Гбит/с (25 ГБ/с): приближается к однонаправленной пропускной способности PCIe Gen4.
- 400 Гбит/с (50 ГБ/с): превышает однонаправленную пропускную способность PCIe Gen4.
Таким образом, использование сетевых карт 400 Гбит/с в этих моделях не очень эффективно, поскольку для полного использования 400 Гбит/с требуется производительность PCIe Gen5.
Типичные хосты 8H100/8H800
Существует два типа форм-фактора платы графического процессора:
- PCIe Gen5
- SXM5: обеспечивает более высокую производительность.
Компоновка чипа H100:
Внутренняя структура чипа графического процессора H100 включает в себя:

Технологический процесс 4 нм.
Нижний ряд состоит из 18 линий Gen4 NVLink с общей двунаправленной пропускной способностью 900 ГБ/с (18 линий * 25 ГБ/с на линию).
Средняя синяя секция — это кэш L2.
По бокам расположены чипы HBM, которые выполняют функцию памяти графического процессора.
Топология оборудования внутри хоста:
Аналогично структуре A100 с 8 графическими процессорами, но имеет следующие отличия:
Количество чипов NVSwitch сокращено с 6 до 4.

Подключение к ЦП было обновлено с PCIe Gen4 x16 до PCIe Gen5 x16 с двунаправленной пропускной способностью 128 ГБ/с.
Сеть:
Аналогично A100, но стандартная конфигурация обновлена до 400Gbps CX7 NIC. В противном случае разрыв в пропускной способности между коммутатором PCIe и NVLink/NVSwitch был бы еще больше.
Типичные хосты 4*L40S/8*L40S
L40S — это новое поколение экономически эффективных многофункциональных графических процессоров, выпуск которых запланирован на 2023 год, позиционируется как конкурент A100. Хотя он не подходит для обучения больших базовых моделей (как будет объяснено позже), его рекламируют как способный справиться практически с любой другой задачей.
Сравнение конфигураций и характеристик L40S и A100
Одной из ключевых особенностей L40S является его короткое время выхода на рынок, то есть период от заказа до поставки намного короче по сравнению с A100/A800/H800. Это обусловлено как техническими, так и нетехническими причинами, такими как: Удаление FP64 и NVLink.
Использование памяти GDDR6, которая не зависит от производственных мощностей HBM (и усовершенствованной упаковки).
Более низкая стоимость объясняется несколькими факторами, которые будут подробно рассмотрены далее.
Основное снижение стоимости, скорее всего, обусловлено самим графическим процессором за счет удаления определенных модулей и функций или использования более дешевых альтернатив.
Экономия общей стоимости системы, например, за счет устранения слоя коммутаторов PCIe Gen4. По сравнению с 4x/8x GPU, остальные компоненты системы практически не имеют существенной стоимости.
Сравнение производительности L40S и A100
Ниже приведено официальное сравнение производительности:

Производительность: от 1.2x до 2x (в зависимости от конкретного сценария).
Потребляемая мощность: два блока L40S потребляют примерно столько же энергии, сколько один A100.
Важно отметить, что официальной рекомендацией для хостов L40S является одна машина с 4 GPU, а не с 8 (причины этого будут объяснены позже). Поэтому сравнения обычно проводятся между двумя блоками 4L40S и одним блоком 8A100. Кроме того, многие улучшения производительности в различных сценариях имеют важное предварительное условие: сеть должна быть сетью RoCE или IB 200 Гбит/с, что будет объяснено далее.
Сборка системы L40S
Рекомендуемая архитектура: 2-2-4
По сравнению с архитектурой 100-2-2-4-6-8 A8, официально рекомендуемая архитектура хоста GPU L40S — 2-2-4. Физическая топология одной машины выглядит следующим образом:

Наиболее заметным изменением является удаление чипа коммутатора PCIe между CPU и GPU. И NIC, и GPU напрямую подключены к встроенному PCIe Gen4 x16 CPU (64 ГБ/с):
- 2 ЦП (NUMA)
- 2 двухпортовых сетевых адаптера CX7 (каждый сетевой адаптер 2*200 Гбит/с)
- 4 графических процессора L40S
Кроме того, предусмотрена только одна двухпортовая сетевая карта хранения данных, напрямую подключенная к любому из ЦП.
Такая конфигурация обеспечивает каждому графическому процессору среднюю пропускную способность сети 200 Гбит/с.
Нерекомендуемая архитектура: 2-2-8

Как показано, по сравнению с одной машиной с 4 графическими процессорами, для одной машины с 8 графическими процессорами требуется внедрение двух микросхем коммутатора PCIe Gen5.
Говорят, что текущая цена одного чипа коммутатора PCIe Gen5 составляет 10,000 2 долларов США (хотя эта информация не подтверждена), а для одной машины требуется XNUMX чипа, что делает его экономически неэффективным.
Коммутаторы PCIe выпускает только один производитель с ограниченными производственными мощностями и длительными сроками поставки.
Пропускная способность сети на каждый графический процессор сокращается вдвое.
Networking
Официальная рекомендация — модели с 4 GPU в сочетании с сетевым интерфейсом RoCE/IB со скоростью 200 Гбит/с.
Анализ узких мест в полосе пропускания канала передачи данных

Используя в качестве примера два графических процессора L40S под управлением одного и того же центрального процессора, возможны два варианта соединения:
- Прямая обработка ЦП:
Путь: GPU0 <–PCIe–> CPU <–PCIe–> GPU1
Пропускная способность: PCIe Gen4 x16 с двунаправленной пропускной способностью 64 ГБ/с (однонаправленной — 32 ГБ/с).
Узкое место в работе ЦП: будет определено позднее.
- Обход обработки ЦП:
Путь: GPU0 <–PCIe–> NIC <– RoCE/IB Switch –> NIC <–PCIe–> GPU1
Пропускная способность: PCIe Gen4 x16 с двунаправленной пропускной способностью 64 ГБ/с (однонаправленной — 32 ГБ/с).
Средняя пропускная способность на графический процессор: каждый графический процессор имеет однонаправленный сетевой порт 200 Гбит/с, что эквивалентно 25 ГБ/с.
Поддержка NCCL: последняя версия NCCL адаптируется для L40S, при этом поведение по умолчанию заключается в маршрутизации данных наружу и обратно.
Хотя этот метод кажется более долгим, по сообщениям, он быстрее первого метода, при условии, что сетевые карты и коммутаторы правильно настроены с сетью RoCE/IB 200 Гбит/с. В этой сетевой архитектуре при достаточной пропускной способности пропускная способность связи и задержка между любыми двумя графическими процессорами являются согласованными, независимо от того, находятся ли они на одной машине или под одним и тем же процессором. Это позволяет горизонтально масштабировать кластер.
Соображения стоимости и производительности:
Стоимость машин GPU снижается. Однако для задач с более низкими требованиями к пропускной способности сети стоимость NVLINK фактически переносится на сеть. Поэтому сеть 200 Гбит/с необходима для полного использования производительности многопроцессорного обучения с L40S.
Узкие места пропускной способности во втором методе:
Узкое место в пропускной способности между графическими процессорами в пределах одного хоста определяется скоростью сетевого адаптера. Даже при рекомендуемой конфигурации 2*CX7:
- L40S: 200 Гбит/с (скорость однонаправленной сетевой карты)
- A100: 300 ГБ/с (однонаправленный NVLINK3) == 12x200 Гбит/с
- A800: 200 ГБ/с (однонаправленный NVLINK3) == 8x200 Гбит/с
Очевидно, что пропускная способность между графическими процессорами L40S в 12 раз меньше, чем у A100 NVLINK и в 8 раз меньше, чем у A800 NVLINK, что делает его непригодным для обучения базовой модели с большим объемом данных.
Соображения по тестированию:
Как уже упоминалось, даже при тестировании одной машины L4S с 40 ГП для достижения оптимальной производительности между ГП требуется коммутатор на 200 Гбит/с.
Сопутствующие товары:
-
Совместимый с NVIDIA MMA4Z00-NS400 400G OSFP SR4 Flat Top PAM4 850 нм 30 м на OM3/50 м на OM4 MTP/MPO-12 Многомодовый модуль оптического трансивера FEC $550.00
-
NVIDIA MMA4Z00-NS-FLT Совместимый двухпортовый OSFP 800 Гбит/с 2x400G SR8 PAM4 850 нм 100 м DOM Двойной модуль оптического трансивера MPO-12 MMF $650.00
-
NVIDIA MMA4Z00-NS Совместимый двухпортовый OSFP 800 Гбит/с 2x400G SR8 PAM4 850 нм 100 м DOM Двойной модуль оптического трансивера MPO-12 MMF $650.00
-
NVIDIA MMS4X00-NM Совместимый двухпортовый OSFP 800 Гбит/с 2x400G PAM4 1310nm 500m DOM Dual MTP/MPO-12 SMF Модуль оптического трансивера $900.00
-
Совместимый с NVIDIA MMS4X00-NM-FLT 800G Twin-port OSFP 2x400G Flat Top PAM4 1310nm 500m DOM Dual MTP/MPO-12 SMF Модуль оптического трансивера $1199.00
-
Совместимый с NVIDIA MMS4X00-NS400 400G OSFP DR4 Flat Top PAM4 1310nm MTP/MPO-12 500m SMF FEC Модуль оптического трансивера $700.00
-
Mellanox MMA1T00-HS, совместимый с 200G Infiniband HDR QSFP56 SR4, 850 нм, 100 м, MPO-12, модуль оптического приемопередатчика APC OM3/OM4 FEC PAM4 $139.00
-
Совместимость с NVIDIA MFP7E10-N010, 10 волокон, длина 33 м (8 футов), низкие вносимые потери, гнездо-мама Магистральный кабель MPO, полярность B, APC-APC, LSZH, многомодовый OM3 50/125 $47.00
-
Совместимый с NVIDIA MCP7Y00-N003-FLT 3 м (10 фута) 800G OSFP с двумя портами до 2x400G Flat Top OSFP InfiniBand NDR Breakout DAC $260.00
-
NVIDIA MCP7Y70-H002 Совместимость с двумя портами 2G, 7 м (400 фута), от 2x200G OSFP до 4x100G QSFP56, медный кабель прямого подключения с пассивной разводкой $155.00
-
NVIDIA MCA4J80-N003-FTF, совместимый с двумя портами 3G, 10 м (800 футов), 2x400G OSFP на 2x400G OSFP, активный медный кабель InfiniBand NDR, плоская верхняя часть на одном конце и ребристая верхняя часть на другом $600.00
-
NVIDIA MCP7Y10-N002, совместимый с двухпортовым OSFP 2G InfiniBand NDR длиной 7 м (800 фута) с 2x400G QSFP112 Breakout ЦАП $190.00