Этот новый кэш ускоряет огромные локальные ИИ-модели в 2 раза
Code Unpacked
0:00 / 0:00
Этот новый кэш ускоряет огромные локальные ИИ-модели в 2 раза
10 076 просмотров · 2 дн. назад
Code Unpacked
446 подписчиков
10 076 просмотров · 2 дн. назад
llama.cpp позволил запустить ту же самую модель более чем в два раза быстрее на той же самой видеокарте.
Это не новый формат квантизации и не потоковая передача с SSD. Вместо этого llama.cpp теперь рассматривает вашу видеопамять как кэш в реальном времени для весов Mixture-of-Experts, которые маршрутизатор фактически продолжает выбирать.
На одной RTX 5090 скорость Qwen3.8-Flash-Next выросла с 30,8 до 67,8 токенов в секунду.
🔔 Подпишитесь https://www.youtube.com/@Code-Unpacke...
📌 Разделы:
00:00 - Новый трюк для огромных моделей ИИ
00:54 - Огромные в целом. Малые на токен.
01:48 - Быстрый графический процессор, ожидающий доступа к памяти
02:47 - Другой вопрос
03:34 - Исправленный список не сработал
04:19 - Объединено в llama.cpp
05:13 - Та же модель. Тот же графический процессор.
06:07 - Целые слои или полезные эксперты
07:00 - Не универсальная кнопка скорости
08:02 - Утверждения и что можно воспроизвести
09:02 - Вопрос меняется
В этом видео мы разбираем, как кэш экспертов MoE преобразует свободную видеопамять в скорость, почему это работает и где это не помогает.
Модель Mixture-of-Experts имеет сотни экспертов на слой, но каждый токен направляет запросы только к нескольким из них. Когда модель больше, чем объем памяти вашего графического процессора, эти эксперты находятся в системной оперативной памяти, и графический процессор тратит время на ожидание пропускной способности оперативной памяти и PCI Express. Размещение целых слоев на графическом процессоре тратит видеопамять на экспертов, которые текущий токен никогда не использует. В кэше «горячих» экспертов резервируется пул видеопамяти для отдельных экспертов: недавно использованные эксперты остаются, «холодные» заменяются, попадания обрабатываются из памяти графического процессора, а промахи возвращаются на хост.
• Трассировка маршрутизации: более 54 000 записей; Фиксированный список популярных экспертов не сработал, но кэш LRU для каждого слоя достиг ~67% попаданий при 64 слотах и ~81% при 128
• Объединено в llama.cpp (Qwen3.8-Flash-Next Q4_0, ~94 ГБ): RTX 4090 25 → 39,4 → 40,7 ток/с (~1,62x)
• RTX 5090: 30,8 → 54,5 (кэш 6,4 ГБ) → 67,8 ток/с (кэш 18,6 ГБ), 2,2x, с ~89% попаданий в кэш
• Экспериментальная многопроцессорная версия, две RTX 3090 + 125 ГБ DDR4: MiMo (132 ГБ) ~4 → более 10 ток/с; Qwen3.8-Flash-Next 28 → 47, ~60 с спекулятивным декодированием MTP
Это не универсальная кнопка ускорения. Прирост зависит от модели, объема видеопамяти, пропускной способности оперативной памяти, конфигурации PCIe, размера кэша и маршрутизации. Для моделей, которые уже помещаются в видеопамять, разница практически незаметна, обработка запросов может замедлиться при использовании весов, отображаемых в память, а кэш применяется только к небольшим пакетам (32 токена или меньше). Наибольшие показатели многопроцессорной обработки получены в отдельном экспериментальном форке.
Обновление: после записи этого видео, в запросе на слияние llama.cpp #30112 (слияние 8 октября) была добавлена поддержка многопроцессорной обработки в основной кэш эксперта, поэтому объединенная версия больше не является однопроцессорной.
Что вы думаете: какую модель MoE вы бы попробовали первой с кэшем эксперта и на каком графическом процессоре? Дайте мне знать в комментариях.
🔗 Источники и дополнительная информация:
llama.cpp PR #29887, добавление кэша GPU для экспертов MoE, хранящихся в памяти хоста (объединено 7 октября, тесты на RTX 4090 и RTX 5090):
https://github.com/ggml-org/llama.cpp...
llama.cpp PR #30112, кэш экспертов MoE на нескольких GPU (объединено 8 октября):
https://github.com/ggml-org/llama.cpp...
llama.cpp PR #27861, ранний кэш экспертов LRU, хранящийся на GPU (54 тыс. записей маршрутизации, статические списки против LRU-64/128):
https://github.com/ggml-org/llama.cpp...
RFC: кэш экспертов MoE с гибридным выполнением «попадание/промах» (обсуждение llama.cpp #24528):
https://github.com/ggml-org/llama.cpp...
neurall/llama.cpp, экспериментальный форк с горячим кэшем экспертов (бенчмарки 2x RTX 3090 для GLM-5.3-Flash, MiMo и Qwen3.8-Flash-Next):
https://github.com/neurall/llama.cpp
Модель видеокарты Qwen3.8-Flash-Next (Hugging Face):
https://huggingface.co/Qwen/Qwen3.8-F...
#llamacpp #LocalAI #MixtureOfExperts #LLM #GPU #CodeUnpacked