Яка відеокарта потрібна: навчання, інференс чи рендер
Вибір GPU для виділеного сервера залежить від задачі, а не від того, "яка карта потужніша". Навчання великих моделей вимагає багато VRAM і високої пропускної здатності пам'яті. Інференс (запуск вже навченої моделі) можна вести на карті з меншим обсягом пам'яті, але з упором на низьку затримку. Рендер і відеокодування сильніше залежать від кількості CUDA/Tensor-ядер і підтримки потрібних кодеків.
Помилка новачка — брати найпотужнішу карту "про запас", не порахувавши, чи влазить модель або сцена в її пам'ять. Якщо не влазить, користі від зайвих тисяч ядер небагато.
VRAM вирішує більше, ніж ядра
Обсяг відеопам'яті визначає, яку модель взагалі можна завантажити і з яким batch size навчати. Орієнтовні класи задач:
| Клас задачі | Мінімум VRAM | Коментар |
|---|---|---|
| Інференс малих моделей, рендер сцен | 16 ГБ | Вистачає для більшості прикладних задач |
| Fine-tuning середніх моделей | 24-48 ГБ | Потребує карти рівня workstation |
| Навчання великих моделей з нуля | 80 ГБ і вище | Зазвичай декілька карт з NVLink |
Якщо модель не вміщується в пам'ять однієї карти, доводиться або урізати batch size, або розподіляти модель на декілька GPU — а це вже інша архітектура сервера й інші вимоги до процесора, який повинен встигати годувати карти даними.
Живлення і охолодження сервера з GPU
Топова карта для ML споживає 300-700 Вт під навантаженням. Сервер з 4-8 такими картами легко виходить на 4-6 кВт сумарного споживання — це вже не стандартна стійка на 16 А, а окремий розрахунок за резервуванням живлення з двома незалежними вводами.
Охолодження теж не можна недооцінювати: GPU-сервер зі щільним пакуванням карт вимагає спрямованого повітряного потоку front-to-back і може не поміститися в компактний корпус без шкоди для теплового режиму.
Процесор, PCIe і форм-фактор під декілька карт
Кожна відеокарта рівня дата-центру займає лінії PCIe x16. При 4 і більше картах процесор повинен віддавати 64+ ліній PCIe без поділу з мережевими картами і NVMe-накопичувачами — це одна з причин, чому GPU-сервери майже завжди будують на платформах з великою кількістю ліній PCIe, а не на споживчих чипсетах.
Форм-фактор теж відіграє роль: карти повної висоти з активним охолодженням фізично влазять не в будь-який корпус, і тут варто звіритись зі статтею про форм-фактори 1U і 2U — більшість багатокарткових GPU-серверів збирають у корпусах 3U-4U саме через вимоги до охолодження і довжини карт.
NVLink, passthrough і віртуалізація GPU
Якщо карти повинні обмінюватись даними напряму, без проходження через оперативну пам'ять хоста, потрібен NVLink або аналогічна шина — це прискорює розподілене навчання на декілька GPU в рази порівняно з обміном через PCIe.
Для віртуалізації застосовують PCIe passthrough (вся карта віддається одній віртуальній машині) або vGPU (карта ділиться між декількома ВМ програмно, якщо виробник це підтримує). Passthrough простіший у налаштуванні і дає повну продуктивність, але виключає спільне використання карти.
nvidia-smi
nvidia-smi -q -d POWER
Чек-лист вибору GPU-сервера
- Порахуйте, скільки VRAM реально потрібно під вашу модель, а не беріть про запас.
- Перевірте сумарне енергоспоживання всіх карт і запас блоків живлення.
- Уточніть кількість ліній PCIe у процесора при 4 і більше картах.
- Вирішіть заздалегідь: passthrough чи vGPU, якщо сервер буде віртуалізовано.
Часті питання
Що робити, якщо модель не вміщується в пам'ять однієї відеокарти?
Якщо модель не вміщується в пам'ять однієї карти, залишаються два шляхи: зменшити batch size, що сповільнює навчання, або розподілити модель на декілька відеокарт одразу. Другий варіант потребує іншої архітектури сервера і процесора, здатного швидко постачати всі карти даними, тому вибір карти варто робити після розрахунку реального обсягу відеопам'яті під задачу, а не заздалегідь про запас.
Чи обов'язково використовувати NVLink, якщо карт декілька?
Ні, NVLink потрібен не завжди, а лише тоді, коли карти повинні обмінюватися даними між собою напряму, минаючи оперативну пам'ять хоста — це критично для розподіленого навчання великих моделей на декількох GPU одночасно. Якщо задача — інференс чи рендер на одній карті, така пряма шина між картами не потрібна взагалі.
Чим відрізняється passthrough від vGPU при виборі способу віртуалізації GPU?
Passthrough віддає всю відеокарту одній віртуальній машині цілком, простіший у налаштуванні і дає повну продуктивність, але виключає спільне використання карти іншими машинами. vGPU ділить одну карту між декількома віртуальними машинами програмно, якщо це підтримує виробник, жертвуючи частиною продуктивності заради гнучкості розподілу ресурсів між проєктами.
Чому для сервера з декількома GPU важливий форм-фактор корпуса, а не лише кількість карт?
Форм-фактор важливий, бо відеокарти повної висоти з активним охолодженням фізично не влазять у будь-який компактний корпус, а щільне пакування декількох карт потребує спрямованого повітряного потоку спереду назад для нормального теплового режиму. Тому багатокарткові GPU-сервери майже завжди збирають у високих корпусах, розрахованих саме під таке охолодження і довжину карт.