Почему гигантские ИИ-модели перегружают ваш GPU
Гигантские ИИ-модели, особенно модели типа mixture of experts (MoE), представляют собой уникальную проблему для потребительских GPU. Возьмем, к примеру, DeepSeek V4-Flash: она обладает ошеломляющими 284 миллиардами параметров. Однако для генерации любого отдельного токена используется лишь крошечная часть — около 13 миллиардов. Хотя эта активная часть могла бы поместиться на многих GPU, все 284 миллиарда параметров должны где-то храниться (обычно в системной оперативной памяти), так как заранее неизвестно, какие эксперты потребуются в следующий момент.
Традиционные движки для инференса, такие как Ollama, с трудом справляются с этой динамической реальностью. Когда MoE-модель превышает объем VRAM вашего GPU (например, модель Qwen 3.6 35B размером 38 ГБ на карте с 32 ГБ памяти), Ollama прибегает к статическому решению. Она постоянно разделяет модель, перенося слои на CPU (например, 30% на CPU, 70% на GPU). Это означает, что каждый токен, независимо от того, какие эксперты ему нужны, должен проходить через каждый слой, что вынуждает совершать медленный обход через CPU для значительной части вычислений. В тестах это дало всего 58 токенов в секунду.
FreeToken предлагает принципиально иной подход. Он отказывается от статического размещения, переосмысливая проблему как динамическое планирование. VRAM вашего GPU становится интеллектуальным кэшем для часто используемых экспертов, в то время как полная модель находится в системной оперативной памяти; только активно востребованные эксперты передаются на GPU по мере необходимости. Эта динамическая кэш-система гораздо лучше подходит для MoE-моделей, которые часто повторно используют одних и тех же экспертов для разных токенов, сохраняя вычисления на более быстром GPU.
Секрет FreeToken: планирование, а не разделение
FreeToken переосмысливает то, как ваш ПК обрабатывает массивные модели mixture of experts. Вместо того чтобы пытаться втиснуть все 284 миллиарда параметров DeepSeek V4-Flash в ваш GPU, FreeToken использует GPU VRAM как высокоскоростной кэш. Полная модель хранится в системной оперативной памяти, а в VRAM динамически подгружаются только недавно использованные эксперты. Поскольку модели часто повторно используют экспертов для разных токенов, эта стратегия значительно снижает нагрузку на память.
Когда вы впервые отправляете промпт (фаза "prefill"), моделям обычно требуется доступ ко многим экспертам, что может замедлить процесс. FreeToken использует double buffering (двойную буферизацию), чтобы скрыть эту задержку. Пока ваш GPU обрабатывает текущий слой, инструмент одновременно передает экспертов следующего слоя из системной оперативной памяти через PCIe, не давая GPU простаивать.
Во время непосредственной генерации происходит промах кэша (cache miss), если эксперт отсутствует на GPU. В этот момент вступает в дело умная политика Q\* policy от FreeToken. Она автоматически измеряет специфические скорости PCIe и оперативной памяти вашего ПК, на лету решая, что быстрее: подгрузить отсутствующего эксперта в GPU или вычислить его непосредственно на CPU. Это динамическое разделение оптимизирует работу под ваше уникальное оборудование, будь то узкая шина PCIe или быстрая оперативная память.
Проверка заявления о трехкратном ускорении
Итак, оправдал ли FreeToken возложенные на него ожидания? В видео был проведен полноценный тест в реальных условиях, где он соревновался с Ollama в сложной задаче: запуск модели mixture of experts объемом 38 ГБ на потребительском GPU с 32 ГБ VRAM. Эта конфигурация специально создана для того, чтобы «сломать» традиционные движки инференса, вынуждая их переносить значительную часть модели в более медленную системную оперативную память.
В этой ситуации Ollama разделяет модель по слоям, перенося около 30% на CPU. Это означает, что каждый токен делает «крюк» через медленный CPU для определенных слоев, что создает значительные узкие места. В результате Ollama выполняла задачу крайне медленно, затратив более 14 минут 20 секунд при низкой скорости 58 токенов в секунду.
FreeToken, напротив, выполнил ту же самую задачу за быстрые 4 минуты 40 секунд, выдавая впечатляющие 132 токена в секунду. Это почти трехкратное ускорение, что имеет огромное значение для всех, кто запускает большие модели локально, когда размер модели превышает объем видеопамяти (VRAM) GPU.
Умная стратегия кэширования FreeToken также была продемонстрирована вживую. Инструмент позволяет изменять размер кэша экспертов GPU «на лету», наглядно доказывая, что небольшая часть «горячих» экспертов выполняет основную работу. Исследователи заметили, что уменьшение кэша с 58% до 40% от общего размера модели привело к снижению скорости всего на 7%. Это подтверждает основную идею: зачастую активно используется лишь 20-40% экспертов модели, что доказывает эффективность метода dynamic caching в FreeToken. Для более глубокого изучения технической реализации вы можете ознакомиться с проектом на GitHub - FlashML-org/FreeToken: FreeToken brings datacenter-scale model serving to your desktop. Run massive models locally, fast and efficiently..
Нравится статья? Получайте такие каждое утро на почту.
одно письмо в день · отписка в два клика · без сторонних трекеров
FreeToken — не панацея
FreeToken — это не волшебная палочка для любой задачи ИИ. Его впечатляющий прирост скорости проявляется только тогда, когда ваша mixture of experts model превышает объем VRAM вашего GPU. Вспомните тот важный видеотест: модель объемом 38 ГБ на GPU с 32 ГБ памяти — сценарий, созданный для того, чтобы «сломать» традиционные движки вывода.
Но для моделей поменьше ситуация меняется. Например, 4-битная квантованная модель, которая легко помещается в ваши 32 ГБ VRAM, на самом деле работает быстрее на Ollama. В видео было показано 240 токенов в секунду на Ollama против 225 токенов в секунду на FreeToken в этом случае. Сложная архитектура потоковой передачи FreeToken, разработанная для перегрузки VRAM, становится избыточной нагрузкой, когда данные не нужно передавать из системной оперативной памяти.
Итак, вот простой совет: если ваша модель полностью помещается в GPU, используйте Ollama или Llama.cpp для достижения оптимальной производительности. Только когда вы хотите запустить те самые массивные mixture of experts models уровня дата-центров, которые иначе не поместились бы на вашем потребительском оборудовании, стоит переключиться на FreeToken. Он открывает доступ к таким ранее недоступным моделям и значительно ускоряет их работу.
Часто задаваемые вопросы
Что такое FreeToken?
FreeToken — это движок вывода с открытым исходным кодом, разработанный специально для эффективного запуска больших ИИ-моделей типа Mixture of Experts (MoE) на потребительском оборудовании, выступающий в качестве высокопроизводительной альтернативы таким инструментам, как Ollama или Llama.cpp, для этой конкретной задачи.
Как FreeToken ускоряет ИИ-модели?
Вместо постоянного разделения слоев модели между CPU и GPU, FreeToken использует VRAM GPU как динамический кэш для наиболее часто используемых «экспертов». Он применяет интеллектуальное планирование, двойную буферизацию и адаптивное совместное выполнение CPU-GPU для минимизации задержек при передаче данных, особенно когда модель больше доступного объема VRAM.
Всегда ли FreeToken быстрее, чем Ollama?
Нет. Основное преимущество FreeToken проявляется, когда модель MoE слишком велика, чтобы поместиться в VRAM вашего GPU. Если модель легко помещается в VRAM, Ollama или Llama.cpp, скорее всего, будут быстрее, поскольку архитектура потоковой передачи FreeToken создает лишние накладные расходы.
На каких типах моделей специализируется FreeToken?
FreeToken создан специально для моделей Mixture of Experts (MoE), таких как DeepSeek-V4-Flash, Qwen3.6-35B и GLM-5.2. Его архитектура оптимизирована для обработки динамической активации «экспертов», уникальной для этих моделей.

