Как выбрать GPU-сервер для ИИ
GPU-серверы используют там, где обычной процессорной мощности уже недостаточно. В статье разберем, как выбрать сервер для ИИ и на какие параметры смотреть при подборе. Покажем устройство таких систем, основные варианты конфигураций и примеры для разных задач.
В этой статье:
- Что такое GPU-сервер и чем он отличается от обычного сервера
- Как работает GPU в сервере
- Какие характеристики GPU учитывать при выборе
- Сколько GPU нужно в одном сервере
- Какие компоненты важны кроме GPU
- Питание, охлаждение и ограничения платформы
- Как выбрать GPU-сервер под задачу
- Примеры конфигураций GPU-серверов
- Вопросы и ответы
Что такое GPU-сервер и чем он отличается от обычного сервера
GPU-сервер — вычислительная система с одним или несколькими ускорителями. Они выполняют большое количество операций параллельно, поэтому такую архитектуру используют в задачах ИИ и других ресурсоемких вычислениях.
В обычной конфигурации основная обработка приходится на центральные процессоры. Здесь часть вычислений передается ускорителям, а остальные компоненты обеспечивают работу системы и обмен данными. Дальше разберем, как устроено это взаимодействие.
Как работает GPU в сервере
Программа передает данные на обработку через центральный процессор. Нужная для вычислений информация загружается в видеопамять, после чего GPU выполняет множество операций параллельно. Результат затем получает программа для дальнейшей работы.
CPU при этом управляет выполнением программы и выполняет задачи, для которых последовательная обработка подходит лучше. GPU берет на себя параллельные вычисления. Такая схема позволяет распределить работу между разными вычислительными ресурсами сервера.
Скорость обработки зависит в том числе от обмена данными между памятью системы и ускорителем. Поэтому при выборе оборудования важно учитывать характеристики самого GPU и возможности серверной платформы.
Какие характеристики GPU учитывать при выборе
Первый параметр — объем видеопамяти. В ней GPU хранит данные, которые нужны во время вычислений. Доступный объем ограничивает размер модели и количество данных, с которыми ускоритель может работать одновременно.
Важна и пропускная способность памяти. Она показывает, как быстро данные передаются между памятью и вычислительными блоками. Чем интенсивнее задача работает с большими объемами данных, тем заметнее влияние этого показателя на скорость обработки.
Производительность GPU зависит от типа вычислений. В характеристиках серверных ускорителей встречаются FP32, FP16, BF16 и FP8 — форматы чисел с разной точностью и требованиями к ресурсам.
Поэтому сравнивать две модели по одному значению производительности некорректно. Нужно смотреть показатели для того формата, который использует конкретная задача.
Сколько GPU нужно в одном сервере
Количество GPU зависит от двух основных факторов: хватает ли видеопамяти одного ускорителя и достаточно ли его вычислительной производительности для рабочей нагрузки. Если ресурсов хватает, увеличивать число GPU нет смысла.
Несколько ускорителей используют, когда одного уже недостаточно. При этом программа должна уметь распределять между ними данные и вычисления. Установка дополнительных GPU сама по себе не дает кратного роста производительности.
Конфигурации с 2–4 GPU позволяют увеличить доступные вычислительные ресурсы и работать с более тяжелыми задачами. Часть времени при этом уходит на обмен данными и синхронизацию между ускорителями, поэтому масштабирование зависит от самой нагрузки и программного обеспечения.
Серверы на 8 GPU используют там, где требуется высокая вычислительная плотность в одном узле. Для таких систем применяют специализированные платформы, рассчитанные на совместную работу нескольких ускорителей.
Какие компоненты важны кроме GPU
После выбора ускорителей нужно подобрать остальные компоненты сервера. Здесь важны процессор, оперативная память, накопители и сеть. Требования к ним зависят от программного обеспечения и характера вычислений.
Процессор
CPU выполняет ту часть работы, которая остается за центральным процессором. Поэтому его производительность должна соответствовать нагрузке и количеству установленных ускорителей.
В системах с несколькими GPU важно проверить возможности PCIe. Через этот интерфейс к серверной платформе подключаются ускорители и другие платы расширения. Число доступных линий и схема их распределения зависят от конкретной платформы.
Универсального соотношения между количеством CPU и GPU нет. Число ядер, частоту и количество процессоров выбирают с учетом используемых программ и архитектуры сервера.
Оперативная память
Оперативная память нужна самой системе, программам и данным, которые обрабатывает CPU. Требуемый объем зависит от размера рабочей нагрузки и того, сколько операций выполняется параллельно.
Привязывать объем RAM к видеопамяти по одной универсальной формуле некорректно. Требования нужно проверять для конкретного программного обеспечения и сценария работы.
Накопители
На дисках хранятся наборы данных, модели, временные файлы и промежуточные результаты вычислений. Поэтому важны и доступная емкость, и скорость работы накопителей.
Для интенсивной работы с локальными данными часто используют NVMe. Если объем информации велик или к одним данным обращаются несколько систем, может потребоваться внешняя СХД.
Сеть
Сеть особенно важна, когда сервер получает данные из внешнего хранилища или работает вместе с другими вычислительными узлами. В таких случаях пропускная способность соединения может влиять на скорость обмена данными.
Для одиночного сервера с локальным хранением требования могут быть ниже. Поэтому сетевую часть подбирают с учетом того, откуда поступают данные и как GPU-сервер связан с остальной инфраструктурой.
Питание, охлаждение и ограничения платформы
GPU-серверы потребляют больше электроэнергии и выделяют больше тепла, чем системы без вычислительных ускорителей. Поэтому при выборе оборудования нужно учитывать возможности самой площадки: питание, охлаждение и ограничения шасси.
Питание
Для сервера учитывают полное энергопотребление системы под нагрузкой. Мощности блоков питания должно хватать на установленные GPU и остальные компоненты с учетом предусмотренной схемы резервирования.
Отдельно проверяют доступную мощность в стойке. Сервер может поддерживать нужное количество ускорителей, но линия питания в серверной может оказаться рассчитана на меньшую нагрузку. Для систем с несколькими GPU этот вопрос особенно важен.
Если используется резервирование питания, блоки питания могут подключаться к независимым линиям. Такая схема снижает зависимость от отказа одного источника электропитания.
Охлаждение
Чем выше энергопотребление компонентов, тем больше тепла нужно отводить от сервера. Система охлаждения должна справляться с длительной работой под высокой нагрузкой.
В большинстве стоечных платформ используется воздушное охлаждение. На его эффективность влияют конструкция шасси, расположение компонентов, вентиляторы и организация воздушного потока в стойке.
Для более плотных систем может применяться жидкостное охлаждение. Оно требует соответствующей конструкции сервера и подготовленной инженерной инфраструктуры.
Если компоненты перегреваются, система может снижать их рабочие частоты для защиты оборудования. В результате производительность падает, даже если сама конфигурация рассчитана на более высокий уровень нагрузки.
Ограничения платформы
Количество и тип GPU ограничивает конструкция сервера. Значение имеют размеры корпуса, число мест под ускорители, форм-фактор и способ их установки.
PCIe-ускорители устанавливаются в слоты расширения. Некоторые модели занимают больше одного слота, поэтому важно учитывать физическое пространство внутри корпуса и доступный поток воздуха.
SXM — форм-фактор серверных GPU NVIDIA. Такой ускоритель выполнен в виде отдельного модуля и устанавливается на специальную плату внутри сервера. В обычный слот PCIe его поставить нельзя.
SXM используют в специализированных многоускорительных системах. Такой формат позволяет организовать высокоскоростной обмен между GPU через NVLink и рассчитан на плотные вычислительные конфигурации. Конкретные возможности зависят от поколения ускорителя и серверной платформы.
В итоге при выборе GPU-сервера нужно учитывать три ограничения одновременно: доступную мощность, возможности охлаждения и число ускорителей, которое позволяет разместить выбранное шасси.
Как выбрать GPU-сервер под задачу
Запуск готовой модели
При инференсе модель уже обучена и используется для обработки новых запросов. Здесь важно, чтобы она помещалась в видеопамять и сервер справлялся с нужным количеством обращений за заданное время.
Нагрузка растет вместе с размером модели, объемом данных в одном запросе и числом одновременных пользователей. Поэтому для такого сценария важны объем памяти ускорителя и скорость выполнения вычислений.
Дообучение
При дообучении модель изменяет свои параметры на новых данных. Такой процесс обычно требует больше памяти и вычислительных ресурсов, чем простой запуск готовой модели.
Требования зависят от метода дообучения. Если изменяется только часть параметров, ресурсов потребуется меньше, чем при обновлении всей модели. Значение имеет и объем обучающих данных, которые система должна обработать за один цикл работы.
Обучение с нуля
При полном обучении сервер выполняет весь цикл вычислений для формирования параметров модели. Для крупных моделей одного ускорителя часто становится недостаточно по памяти или производительности, поэтому нагрузку распределяют между несколькими GPU.
В таком сценарии важны уже не только возможности каждого ускорителя, но и скорость их совместной работы. Чем больше времени система тратит на обмен и синхронизацию, тем слабее растет производительность при добавлении новых GPU.
Для задач компьютерного зрения, генерации изображений, обработки речи и других направлений действует та же логика: сначала определяют режим работы модели, затем оценивают объем данных и требуемую скорость обработки.
Примеры конфигураций GPU-серверов
Рассмотрим две системы разного класса. Dell PowerEdge R760xa рассчитан на установку нескольких ускорителей PCIe, а Supermicro SYS-821GE-TNHR построен на восьмиускорительной платформе NVIDIA HGX H100.
Dell PowerEdge R760xa с 4× NVIDIA L40S
Dell PowerEdge R760xa позволяет установить до четырех полноразмерных двухслотовых ускорителей. В конфигурации с NVIDIA L40S сервер получает четыре GPU по 48 ГБ видеопамяти каждый.
Пример конфигурации:
- 2× Intel Xeon Gold 6438M, 32 ядра, 2,2 ГГц;
- 4× NVIDIA L40S 48 ГБ PCIe;
- 512 ГБ DDR5 RDIMM, 16×32 ГБ;
- BOSS-N1 и 2×960 ГБ M.2 в RAID 1 под систему;
- 2×3,84 ТБ NVMe U.2 Gen4 для данных;
- NVIDIA ConnectX-6 Lx с двумя портами 10/25GbE SFP28.
Такую конфигурацию можно использовать для инференса и дообучения моделей, если нагрузка умеет работать с несколькими ускорителями. Четыре L40S дают 192 ГБ суммарной видеопамяти, но память отдельных GPU не объединяется автоматически в единый общий объем.
Supermicro SYS-821GE-TNHR с 8× NVIDIA H100
Supermicro SYS-821GE-TNHR построен на NVIDIA HGX H100 и рассчитан на восемь ускорителей H100 в формате SXM. Такая архитектура предназначена для задач, где требуется совместная работа большого числа GPU внутри одного сервера.
Пример конфигурации:
- 2× Intel Xeon Gold 6548Y+, 32 ядра, 2,5 ГГц;
- 8× NVIDIA H100 SXM по 80 ГБ;
- 2 ТБ DDR5 RDIMM, 16×128 ГБ;
- 2×1,92 ТБ M.2 NVMe под систему;
- 8×3,84 ТБ NVMe для данных;
- 2×25GbE SFP28;
- 6×3000 Вт с резервированием 4+2.
Такой сервер можно рассматривать для обучения и дообучения крупных моделей и других ресурсоемких вычислений, которые способны использовать восемь H100. Платформа HGX обеспечивает высокоскоростной обмен между ускорителями и рассчитана именно на их совместную работу.
Dell PowerEdge R760xa подходит для задач, где достаточно четырех отдельных PCIe-ускорителей. Supermicro SYS-821GE-TNHR относится к другому классу систем: восемь H100 объединены в специализированную вычислительную платформу. Поэтому сравнивать такие серверы только по количеству GPU некорректно.
Вопросы и ответы
Несколько ускорителей увеличивают суммарный объем доступной памяти системы, но их видеопамять не превращается автоматически в один общий массив. Программа должна уметь распределять модель и данные между несколькими устройствами.
Технически такая конфигурация возможна для части платформ и программ. Однако ускорители с разной производительностью и объемом памяти сложнее использовать для одной общей вычислительной задачи. Если нагрузка должна равномерно распределяться между несколькими устройствами, обычно проще работать с одинаковыми моделями.
Не всегда. Несколько ускорителей могут работать и через PCIe. NVLink нужен прежде всего там, где устройства часто обмениваются большими объемами данных и скорость такого обмена влияет на выполнение задачи.
Серверные ускорители рассчитаны на установку в соответствующие вычислительные платформы и длительную работу под нагрузкой. В зависимости от модели они отличаются объемом и типом памяти, способом охлаждения, форм-фактором, энергопотреблением и возможностями связи с другими ускорителями.
Обычную видеокарту нельзя считать прямой заменой серверному GPU только на основании близкой вычислительной производительности.
Да. Ускорители могут обмениваться данными через PCIe, если такую работу поддерживает программа. NVLink дает более быстрый канал между совместимыми GPU, но нужен не для каждой многопроцессорной нагрузки.
Нет. Такие системы применяют и для других задач с большим объемом параллельных вычислений: научных расчетов, моделирования, обработки изображений и видео. Требования к оборудованию при этом могут отличаться от конфигураций для ИИ.