Краткий ответ.
VRAM принимает данные, напрямую используемые GPU, тогда как RAM служит системе и обработке процессором. Для выбора оцените память, необходимую для вашей полной нагрузки, затем оставьте запас для временных данных, контекста и одновременных запросов.
- VRAM от GPU и системная RAM не взаимозаменяемы.
- Файл модели не отражает всю память, необходимую во время её выполнения.
- Сравнивайте конфигурации с вашим программным обеспечением, его точностью и целевой нагрузкой.
01Для чего нужны эти две памяти?
RAM используется системой, загрузкой файлов, процессами и подготовкой данных. Видеопамять, или VRAM, содержит данные, необходимые GPU для его вычислений. NVMe хранилище сохраняет файлы; оно выполняет ещё одну функцию.
Некоторые программы умеют перемещать часть данных между CPU и GPU. Эта возможность зависит от оборудования и используемого движка. Она не позволяет считать, что вся системная RAM автоматически становится VRAM, и не гарантирует той же производительности.
02Для модели ИИ учитывайте больше, чем её веса
Веса — это параметры модели. Их размер в памяти зависит, в частности, от их количества и выбранной точности. Для упрощённого расчёта семь миллиардов параметров по два байта составляют около 14 миллиардов байт, без учёта других потребностей программного обеспечения. Поэтому этот расчёт не гарантирует, что карты на 16 ГБ будет достаточно.
Во время инференса KV-кэш хранит информацию, полезную для генерации. Его заполнение зависит от архитектуры, длины последовательностей и количества одновременно обрабатываемых запросов. Также необходимо учитывать рабочие области движка и другие загруженные модели.
03Инференс, обучение и рендеринг требуют разного
Инференс — это использование модели для получения результата. Обучение или некоторые методы адаптации добавляют другие рабочие данные, в частности связанные с вычислением градиентов и оптимизацией. Измерение, полученное при инференсе, не определяет автоматически требования к обучению.
Для рендеринга 3D лучше протестировать репрезентативную сцену с её текстурами, геометрией и настройками движка. Два проекта, использующие одно и то же программное обеспечение, могут иметь очень разные потребности в памяти. Поэтому названия программного обеспечения недостаточно для выбора объёма.
04Чтение таблицы GPU WispHost
Таблица различает видеопамять и RAM сервера. Пять конфигураций включают выделенную карту целиком. Приведённые ниже значения — это объёмы из каталога, а не результаты производительности и не обещание, что конкретная модель поместится в память.
| Конфигурация | GPU | VRAM | RAM системная |
|---|---|---|---|
| Wisp Compute16 | RTX A4000 | 16 ГБ | 64 ГБ |
| Wisp Compute24 | RTX 4090 | 24 ГБ | 128 ГБ |
| Wisp Compute32 | RTX 5090 | 32 ГБ | 192 ГБ |
| Wisp Tensor A80 | A100 | 80 ГБ | 256 ГБ |
| Wisp Tensor H80 | H100 | 80 ГБ | 384 ГБ |
05Подготовьте воспроизводимый тест
Зафиксируйте модель или сцену, её версию, точность, движок, пакет обработки и размер входных данных. Затем измерьте максимальное потребление памяти и время до получения результата. Для интерактивного сервиса добавьте одновременную нагрузку, соответствующую ожидаемым пользователям.
Сохраняйте эти параметры вместе с результатами. Без них сравнение двух цифр скорости может свестись к сравнению разных задач. Если память переполняется, изучите настройки движка и их влияние, прежде чем делать вывод, что нужно менять только карту.
06Выберите запас, подходящий вашей нагрузке
Начните с объёма, необходимого для самого требовательного репрезентативного случая, затем предусмотрите запас на изменения данных и параллельной нагрузки. После этого сравните GPU, RAM, vCPU, хранилище и сеть вместе. Более мощная карта не исправит загрузку данных или CPU обработку, которая ограничивает всю цепочку.
Источники и ссылки
Чтобы глубже разобраться в технических моментах и найти первоисточники информации.