инструменты 1 мин

Энтузиаст запустил 75B-модель Nemotron на двух RTX 3090 с полным контекстом 262K токенов

Пользователь Reddit смог запустить 75-миллиардную модель NVIDIA Nemotron-Labs-3-Puzzle на двух видеокартах RTX 3090 с полным контекстным окном 262K токенов. Ключ успеха — W4A16-квантизация (4-битные эксперты, 16-битная активация), правильная настройка аллокатора памяти CUDA и использование PIECEWISE-графов. Достигнута скорость ~94 токена/сек для одного запроса и 255 токенов/сек суммарно для четырёх параллельных.

Демонстрирует практическую возможность запуска больших MoE-моделей на потребительском железе, что снижает барьер входа для экспериментов с SOTA-моделями и расширяет границы локального AI-деплоя.

Сообщество показывает, что возможно

Пользователь Reddit под ником ballzdeep поделился успешным запуском 75-миллиардной модели NVIDIA Nemotron-Labs-3-Puzzle-75B на двух потребительских видеокартах RTX 3090 — железе, которое формально не предназначено для таких масштабов.

Технические детали

Основа успеха — квантизованная версия W4A16, где эксперты MoE сжаты до 4 бит, общие слои и Mamba до INT8, а критичные компоненты (внимание, эмбеддинги) остаются в BF16. Итоговый размер модели — 41,48 ГБ, что умещается в 48 ГБ суммарной VRAM двух карт.

Ключевой прорыв — параметр PYTORCH_CUDA_ALLOC_CONF с порогом сборки мусора 0.6 и ограничением на размер блоков памяти. Это высвободило ~1 ГБ зарезервированной, но фрагментированной памяти, которую стандартный режим expandable_segments не мог вернуть.

Для ускорения декодирования использованы PIECEWISE CUDA-графы вместо полных — они захватывают только подграфы MoE/MLP (десятки мегабайт), оставляя слои Mamba и внимания в eager-режиме. Это дало скачок с 28 до 88+ токенов/сек для одиночного запроса.

Результаты

  • N=1 (один запрос): 93,8 токена/сек при декодировании, ~3660 токенов/сек при префилле на промптах 4-8K
  • N=4 (четыре параллельных запроса): суммарно 255 токенов/сек (по ~69 на поток), время до первого токена (TTFT) медиана 0,61 сек
  • Полный контекст 262K токенов доступен, KV-кэш в INT8 занимает пул на 278K
  • Тест Needle-in-Haystack на 52K пройден успешно

Карты работают без NVLink, через PCIe Gen4 ×8 с патчем BAR1-P2P от aikitoria для ускорения tensor-parallel all-reduce (даёт +8% для N=1, +6% для N=4).

Что это значит

Эксперимент показывает, что даже флагманские MoE-модели с сотнями миллиардов параметров можно запускать на локальном железе ценой умного сжатия и тонкой настройки фреймворка. Важно понимать: это не production-решение, а proof-of-concept для энтузиастов, но граница между «серверным» и «домашним» AI размывается.

Ключевые выводы

  • W4A16-квантизация позволяет уместить 75B-модель в 48 ГБ потребительской VRAM
  • Правильная настройка аллокатора памяти CUDA критична: стандартные режимы оставляют ~1 ГБ недоступной фрагментированной памяти
  • PIECEWISE CUDA-графы дают 3× прирост скорости декодирования, захватывая только MoE/MLP и оставляя Mamba/внимание в eager
  • Полный контекст 262K токенов достижим на двух 3090 благодаря INT8 KV-кэшу
  • Tensor parallelism без NVLink работает через PCIe с патчем BAR1-P2P, давая +6-8% скорости
квантизацияvLLMMoEлокальный деплойоптимизация

Автор: Юлия Тарасова · Источник: reddit.com

Мнение редакции

Это именно тот контент, ради которого стоит следить за AI-сабреддитами: живой эксперимент с подробным разбором, а не очередной «я запустил Llama по туториалу». Автор показал, как превратить пару потребительских карт в платформу для 75B-модели с полным контекстом четверть миллиона токенов — задача, которая ещё год назад казалась уделом облачных A100.

Особенно ценно, что он раскрыл хитрости: кастомный порог сборки мусора в CUDA-аллокаторе, PIECEWISE-графы вместо полных (иначе 24 ГБ не хватит), BAR1-P2P патч для ускорения без NVLink. Это не просто «работает у меня», а воспроизводимый рецепт для тех, кто хочет выжать максимум из домашнего железа. Конечно, для production это не годится — latency и throughput всё равно далеки от серверных сетапов, — но как proof-of-concept и площадка для прототипирования вполне рабочий вариант.

Комментарии