Как использовать GPU сервер на максимум для работы с нейросетями


Когда вы обучаете модель на мощных видеокартах, например RTX 4090 или L40S, скорость их загрузки может зависнуть на 40–60%, а сам процесс — растянуться на долгое время. Суть проблемы — в узком месте ввода-вывода. Проще говоря, данные не поспевают за GPU. В статье рассказываем, как устранить это «бутылочное горлышко» и заставить работать графический ускоритель более чем на 90%.
3 реальных узких места в AI-инфраструктуре
При запуске AI-проектов многие команды делают ставку только на вычислительную мощность GPU, недооценивая влияние I/O-подсистем. На практике именно они определяют, насколько эффективно вы используете вложения в инфраструктуру. Мы выделяем три ключевые зоны, где чаще всего возникают простои, и знаем, как их устранить без избыточных затрат.
- Хранилище: сетевые диски не выдерживают нагрузки топовых GPU
Сетевые хранилища (Ceph, MinIO, NAS) удобны для архивов и совместной работы, но не подходят для прямого чтения данных во время обучения. Предел их пропускной способности на одного клиента обычно составляет 1–2 ГБ/с. Этого недостаточно даже для одной L40S или RTX 4090.
Решение — локальные NVMe
В типичных конфигурациях для AI-обучения каждый GPU-инстанс оснащен локальными NVMe-дисками Gen4 (5–7 ГБ/с) или Gen5 (до 12+ ГБ/с). Это обеспечивает:
- Максимальную пропускную способность «на узел» — без зависимости от состояния сети или СХД.
- Низкую и стабильную задержку (p99 < 0,2 мс), критичную при высоком IOPS.
- Отказоустойчивость — исключение одной точки отказа (сеть хранилища).
Для топовых карт вроде RTX 6000 Ada или грядущих Blackwell мы уже внедряем PCI-E 5 и форм-фактор E3.S, чтобы I/O не стал узким местом даже при экстремальных нагрузках.
Формат данных — часть архитектуры
Миллионы мелких файлов — главный враг скорости. Именно поэтому уже на этапе приема датасета мы рекомендуем использовать WebDataset (.tar) или TFRecord. Переход к таким форматам ускоряет чтение в 3–10 раз и позволяет достичь 90–95% загрузки GPU вместо 50–60%.
Важно понимать: данные не обязательно должны храниться на NVMe постоянно. В промышленных AI-проектах датасеты обычно хранят централизованно (в Ceph, MinIO или NAS), а перед запуском обучения их копируют на локальные NVMe-диски инстанса. Это сочетает удобство управления с максимальной скоростью чтения.
Чтобы раскрыть всю пропускную способность NVMe, особенно при обучении с несколькими воркерами, данные разбивают на шарды — крупные файлы (например, .tar по 1–10 ГБ). Шардирование позволяет параллельно читать разные части датасета без конкуренции за файловую систему, минимизируя seek-операции и максимизируя последовательное чтение. Именно так устроены WebDataset и TFRecord — они не просто архивы, а оптимизированные шарды для I/O-пайплайна.
- CPU и RAM: если «кормить» GPU медленно — он будет голодать
Топовый GPU сервер бесполезен, если процессор CPU не справляется с декодированием, аугментациями и формированием батчей. Особенно это критично в CV-задачах: декомпрессия JPEG может занимать до 50% CPU-ресурсов.
Многие команды используют инстансы с CPU ниже 3,5 ГГц или DDR4-памятью — и GPU работает вполсилы даже на несложных датасетах.
Решение — брать сбалансированную конфигурацию под AI-нагрузку
Если вы арендуете сервер с GPU у провайдера (например, у нас в mClouds), все низкоуровневые вещи вроде NUMA, IOMMU и схемы PCI-E уже настроены на стороне платформы. Вы просто выбираете тариф, а не ковыряетесь в BIOS.
Минимальный уровень для таких задач:
- Процессоры от 3,0 ГГц, 16+ ядер.
- DDR5-память с высокой пропускной способностью.
- Локальные NVMe-диски Gen4/Gen5 под датасеты.
Если же вы собираете или настраиваете не облачный сервер с GPU, а выделенный сервер или свой сервер под себя, важно не забыть о BIOS — тут тоже прячутся узкие места:
- NUMA-топология — выставьте оптимальный режим (например, NPS = 1 или 2 на AMD EPYC), чтобы снизить задержки доступа к памяти.
- IOMMU — отключите, если не используется виртуализация: это ускоряет P2P-обмен между PCI-E-устройствами на 20–30%.
- Разводка PCI-E — убедитесь, что GPU и NVMe-диски подключены к разным PCI-E-корневым портам и не делят одну и ту же полосу.
Да, в суперкомпьютерах вроде DGX используют CPU с низкой частотой, но с большим числом ядер, потому что данные там заранее подготовлены. В российских реалиях аугментации часто применяются в реальном времени, и частота CPU критична.
- Сеть: включайте ее только тогда, когда это действительно нужно
Одна из самых частых ошибок — инвестировать в дорогую сеть преждевременно. В конфигурации с одним GPU-инстансом она не задействуется в цикле обучения: данные поступают напрямую с локального NVMe-диска через CPU к вычислительным ядрам GPU.
Требования к сети зависят от масштаба задачи, так при типовой задаче c одним сервером с одним GPU начального или среднего уровня, например для NVIDIA L4 или NVIDIA A16, будет достаточно и 10GB/s, так как сеть напрямую не участвует в обучении нейросетей, а данные читаются с NVMe дисков. Мы, в mClouds, рекомендуем диапазон 10-25GB/.
Инвестируйте в сеть только при масштабировании
Как только вы переходите на 2–4 инстанса (например, для Data Parallel обучения BERT или ResNet), между узлами начинает генерироваться интенсивный трафик: градиенты, веса, иногда активации. Для модели в 1 млрд параметров объем обмена может достигать 8–10 ГБ/с на узел.
Если этот трафик идет по той же сети, что и подгрузка датасета или запись чекпойнтов, эффективность масштабирования падает в 2–3 раза.
В нашем GPU облаке это реализовано «из коробки»: включены PFC и ECN, выставлен MTU 9000, настроен lossless-режим. Это дает стабильные ~10-50 ГБ/с полезного трафика между узлами без дополнительных настроек со стороны клиента.
Практический чек-лист: не платите за простой GPU сервера
Прежде чем масштабировать инфраструктуру, убедитесь, что вы не теряете деньги на простои внутри одного инстанса. Чтобы быстро найти проблему, проведите диагностику:
- Если в выводе nvidia-smi dmon наблюдаете утилизацию менее 60 %, то видеокарта недогружена, возможно не получает данные на вход для обработки или они запаздывают
- Если CPU загружен на 50-70% , то запас есть, если же близко к 100% - то или частота CPU недостаточна, или нужно больше ядер.
- Диск - наблюдайте за лэтенси диска, если более 5 мс, то возможно диск уже не вывозит.
Что проверить в первую очередь:
- Используете ли вы миллионы мелких файлов?
- Достаточно ли частоты CPU и объема DDR5-памяти?
- Настроены ли num_workers, pin_memory=Trueиprefetch_factorв DataLoader?
- Данные действительно читаются с локального NVMe, а не с сетевого хранилища?
TCO-калькулятор на пальцах: во что выгоднее вложиться
Инвестировать в еще один GPU, когда текущий простаивает из-за слабого CPU или медленного диска, экономически бессмысленно: вы просто получите два недогруженных GPU ускорителя вместо одного. Гораздо выгоднее сначала докрутить NVMe и CPU в существующей конфигурации.
Готовая к работе инфраструктура для ИИ: максимум отдачи с первого запуска
В условиях ограниченного бюджета (до 100–150 тыс. ₽/мес) главный вопрос — не «Сколько GPU арендовать?», а «Как добиться максимальной отдачи от аренды сервера с GPU?».
В идеале пользователь вообще не должен думать о NUMA, PCI-E и дисковых контроллерах — он просто выбирает нужный инстанс, а инфраструктура уже сбалансирована под работу с нейросетью, например обучение llama или Qwen LLM.
Пример базовой конфигурации для аренды сервера в облаке с GPU, которая позволяет загружать GPU на 90% и более:
- 16 vCPU / 64 ГБ DDR5 — CPU с частотой от 3,5 ГГц и быстрой памятью, чтобы не превращаться в узкое место для data pipeline.
- NVMe — суммарная пропускная способность от 4 ГБ/с на узел.
- Готовый data pipeline: поддержка WebDataset/TFRecord, DataLoader с pin_memory=True, prefetch_factor=2–4 и адекватным num_workers.
Этого достаточно, чтобы комфортно обучать CV и NLP-модели до ~20 млрд параметров на RTX 4090/L40S , а также A100/H100, а также и работать и с крупными LLM до 70B, укладываясь в один мощный сервер.
Как это реализовано в инфраструктуре mClouds
Описанная выше архитектура — не теоретическая модель, а основа нашей реальной ИИ облачной платформы с GPU. Сегодня мы используем 2U-серверы Dell PowerEdge с процессорами на базе AMD EPYC 9374F с рабочей частотой выше 4 ГГЦ. В такой конфигурации возможно размещение двух карт NVIDIA L40S на хост, каждая из которых подключена по полноценной линии PCI-E x16.
В новом поколении на процессорах AMD EPYC 9555 мы также используем серверы с видеокартами NVIDIA L4 24GB — также с выделенными x16-линиями для каждой. Карты наиболее эффективны как по бюджету так и по скорости работы для инференса нейросетей.
Дисковая подсистемы используют NVMe-массивы и исключает конкуренцию за полосу между GPU и хранилищем. Облачный сервер с локальным NVMe диском, в такой конфигурации, не являтся узким местом для работы с ИИ в облаке.
В результате получаем готовую к работе ИИ-платформу: мощные GPU ускорители, сбалансированный CPU EPYC с высокой частотой, DDR5-память, локальные NVMe и отсутствие I/O-«бутылочного горлышка» на уровне шины.
Итог: эффективный AI начинается с баланса инфраструктуры
Мощные GPU — это лишь часть уравнения. Без продуманной архитектуры I/O — быстрых локальных дисков, правильно подобранного CPU, предсказуемой сети при масштабировании — даже топовые видеокарты для ИИ будут простаивать, а бюджет — тратиться на простой, а не на результат.
Хорошая новость: повысить эффективность можно без покупки нового железа. Достаточно:
- Перейти от миллионов мелких файлов к WebDataset или TFRecord.
- Добавить NVMe в инстанс, в том числе массивы NVMe дисков.
- Настроить DataLoader с pin_memory=True и оптимальным num_workers.
- При масштабировании разделить сетевой трафик
На практике такие шаги регулярно поднимают загрузку GPU с 50 до 90%, а время обучения сокращают в 1,8–2,5 раза — без увеличения стоимости аренды сервера.
Проверяли ли вы загрузку GPU в своих проектах?
Если util стабильно ниже 85%, вы, скорее всего, платите не за обучение, а за простои. Пройдитесь по чек-листу из статьи, посмотрите на диск, CPU, DataLoader — почти всегда узкое место находится именно там, а не в видеокарте.
Если хотите проверить свои гипотезы на «живой» инфраструктуре, можно начать с готовых GPU-серверов mClouds: мы уже собрали конфигурации с L4 и L40S, быстрыми NVMe и настроенной сетью под AI-нагрузки. Выберите подходящий сервер для AI/ML и посмотрите, как меняется загрузка GPU, когда инфраструктура сбалансирована.
Октябрь в mClouds: теперь задачи ИИ на нашей платформе можно решать на 10% быстрееВ октябре главной темой стал ИИ — в общих трендах, публикациях и обновлениях GPU-платформы mClouds. Облако с GPU NVIDIA L40S 48GB теперь работает быстрее, а также протестировали скорость обучения нейросетей и сравнили возможности разных ускорителей
08 ноября, 2025
Выбираем GPU для ИИ: Видеокарты NVIDIA RTX 4090 и 5090 vs L40S 48GBРазобрали как выбрать видеокарту для работы с нейросетями. Сравнили работу с разным объемом памяти, где идет выбор между популярными RTX 4090 24GB, RTX 5090 32Gb и серверной L40S 48GB для ИИ. Наше сравнение видеокарт поможет вам принять оптимальное решение с учетом специфики ваших задач и бюджетных ограничений.
16 октября, 2025
Дайджест бархатного сезона: 2 месяца мощных апдейтов в облаке mCloudsОбновили облачную платформу и сетевую инфраструктуру, провели обучающий вебинар «GPU в облаке: как выжать максимум без лишних затрат», опубликовали новые классные статьи на Хабре.
06 октября, 2025