Запустил модель на 1.56 ТБ на игровом ноуте с 6 ГБ видеопамяти — вот что вышло
Энтузиаст запустил гигантскую MoE-модель (1.56 ТБ, 896 экспертов на слой) на бюджетном ноутбуке HP Victus с RTX 4050 (6 ГБ VRAM). Первая попытка — краш до первого токена. После патча движка и стриминга весов с SSD получилось 0.1 токена в секунду — медленно, но работает. Бутылочное горлышко — 33 ГБ чтения с диска на каждый токен.
Это предел того, что можно выжать из дешёвого железа — важно понимать, где кончается оптимизация и начинается фантастика. Полезно для оценки реальных возможностей MoE и планирования инфраструктуры.
Что произошло
Пользователь Reddit под ником UsedMorning9886 провёл эксперимент: запустил MoE-модель размером 1.56 терабайта на бюджетном игровом ноутбуке HP Victus с видеокартой RTX 4050 (6 ГБ памяти). Модель состоит из 93 слоёв по 896 экспертов на каждом, сжата до ~4.46 бит на параметр форматом MXFP4.
Первая попытка запуска на стандартном движке провалилась — краш до первого токена из-за нехватки памяти. Модель требовала около 40 ГБ резидентной памяти для весов attention-слоёв, а доступно было только ~19 ГБ (13.5 ГБ ОЗУ + 5.5 ГБ видеопамяти).
Вторая попытка после патча движка увенчалась успехом. Автор переделал runtime, чтобы использовать RAM как тонкий LRU-кэш и стримить веса прямо с SSD. Результат: модель загрузилась за 5 минут 42 секунды, обработала промпт из 7 токенов за 11.8 секунды, дальше генерировала со скоростью 0.106 токена в секунду (~9.4 секунды на токен).
Узкое место — диск. Каждый токен требует подгрузки примерно 33 ГБ данных (13.4 ГБ активных экспертов + 19.6 ГБ uncached весов), что при пропускной способности SSD 3.5 ГБ/с даёт теоретический предел около 0.1 токена в секунду. RTX 4050 без нативной поддержки MXFP4 дополнительно тормозит из-за деквантизации весов в FP16/INT8 перед исполнением на Tensor Cores.
Автор: Никита Громов · Источник: reddit.com
Разработчикам. Реальный кейс оптимизации инференса под жёсткие ограничения памяти. Показывает, как стриминг весов с SSD + LRU-кэш в RAM позволяют запускать модели, превышающие доступную память в разы. Полезно для работы с большими MoE, понимания bottleneck'ов на уровне I/O и экспериментов с квантизацией.
Бизнесу. Доказательство концепции: даже терабайтные модели можно развернуть на дешёвом железе, если скорость не критична. Открывает возможности для прототипирования и A/B тестов больших моделей без аренды облачных GPU, но для прода такая скорость непригодна.
Инвесторам. Эксперимент показывает, что барьер входа для работы с гигантскими моделями снижается — софт оптимизация важнее железа. Потенциальный рост спроса на инструменты для эффективного инференса на consumer-уровне оборудовании, но массовое применение ограничено скоростью I/O.
- Разработка специализированных inference-движков с агрессивным кэшированием и стримингом для запуска больших моделей на слабом железе — ниша для стартапов
- Сервисы для прототипирования и тестирования гигантских MoE без аренды дорогих GPU — pay-per-use модель на базе оптимизированных рантаймов
- Консалтинг и инструменты для адаптации больших моделей под edge-устройства с ограниченной памятью — спрос от IoT и встраиваемых систем
- Продажа патченных движков и оптимизаций как библиотек для разработчиков, работающих с MoE на бюджетном оборудовании
- Обучающие курсы и контент для ML-инженеров по низкоуровневой оптимизации инференса — растущая потребность в таких навыках
- Скорость 0.1 токена в секунду делает решение непригодным для продакшена — это исследовательский эксперимент, а не готовый продукт
- Высокая нагрузка на SSD (33 ГБ чтения на токен) быстро износит потребительские диски, что ограничивает практическое применение
- Отсутствие нативной поддержки MXFP4 на старых GPU создаёт дополнительный overhead — решение актуально только для очень узкого сегмента железа
- Масштабируемость под вопросом: при росте числа одновременных запросов I/O-bottleneck убьёт производительность окончательно
Это классный хак для резюме в GitHub, но не более. Парень показал, что теоретически можно запустить что угодно на чём угодно, если не жалко времени и SSD. Скорость в 0.1 токена в секунду — это как ехать на Феррари со скоростью велосипеда: технически едешь, но зачем?
Практическая польза тут минимальна. Для исследований, где нужно один раз прогнать модель и посмотреть на результат — окей, сэкономил на облаке. Для всего остального это издевательство над железом и собственным временем. Интересно как доказательство концепции и повод задуматься, как далеко можно зайти в оптимизации, но монетизировать такое не выйдет. Если у вас есть задача, требующая скорости хотя бы 1 токен в секунду — это решение не для вас.
Комментарии