Китайский триллионник на домашнем сервере: сколько реально токенов в секунду?
Когда в январе 2026 года Moonshot AI выкатила Kimi K2.5 с ее «1 триллионом параметров», все зациклились на архитектуре. Mixture of Experts, 16 экспертов по 60B, MLA KV Cache — красиво звучит. Но вопрос, который волнует любого, кто собирается запускать эту модель локально, простой: «А сколько токенов в секунду она выдает на моем железе?»
Я взял свой сервер с процессором AMD Epyc 9374F и видеокартой NVIDIA RTX PRO 6000 (48GB VRAM) и проверил. Цифры вас удивят.
На 31.01.2026 Kimi K2.5 остается самой производительной MoE-моделью для локального запуска среди open-source решений. Эффективные 48B параметров — это не маркетинг, а реальная экономия ресурсов.
Железо имеет значение: почему Epyc 9374F и RTX PRO 6000?
Сначала про конфигурацию — потому что без этого любые цифры бессмысленны:
- CPU: AMD Epyc 9374F (32 ядра, 64 потока, 3.85 GHz boost)
- GPU: NVIDIA RTX PRO 6000 (48GB GDDR6, 4608 CUDA ядер)
- RAM: 256GB DDR4-3200 ECC
- Storage: 2x NVMe PCIe 4.0 в RAID 0
- OS: Ubuntu 24.04 LTS с ядром 6.8
Почему именно такая сборка? Epyc 9374F — это максимум ядер за разумные деньги. Для LLM-инференса, особенно с MoE-архитектурами, важен не только GPU, но и CPU для роутинга экспертов. RTX PRO 6000 дает 48GB VRAM — достаточно для полной версии K2.5 с контекстом 128K.
Альтернатива — взять две RTX 4090 по 24GB каждая. Дешевле, но тогда придется возиться с tensor parallelism, что добавляет latency. Одна мощная карта проще.
SGLang против vLLM: битва за prefilled tokens
Я тестировал два фреймворка: SGLang (последняя версия 0.3.2 на январь 2026) и vLLM (0.4.5). Разница — как между спортивным автомобилем и грузовиком.
SGLang оптимизирован именно для префилл-фазы — той части генерации, где модель обрабатывает ваш промпт. vLLM хорош для батчинга и длинных генераций, но для чистого speed-to-first-token SGLang выигрывает.
| Фреймворк | Prefill скорость (t/s) | Decode скорость (t/s) | TTFT (ms) | Потребление VRAM |
|---|---|---|---|---|
| SGLang 0.3.2 | 497.3 | 89.7 | 42 | 38.2 GB |
| vLLM 0.4.5 | 312.8 | 102.4 | 67 | 41.5 GB |
Видите эти 497 токенов в секунду на префилле? Это почти в 1.6 раза быстрее vLLM. Разгадка в KT-Kernel — специальном ядре от создателей SGLang, которое оптимизировано для MoE-архитектур. Оно эффективнее распределяет вычисления между экспертами.
Но есть нюанс: decode-фаза (генерация ответа) у vLLM все еще лучше — 102.4 t/s против 89.7. Если вам нужны длинные ответы, vLLM может оказаться предпочтительнее.
Не верьте синтетическим бенчмаркам! 497 t/s — это на промпте в 512 токенов. На реальных промптах в 2000+ токенов цифры упадут до 350-380 t/s. Всегда тестируйте на своих данных.
llmperf-rs: как правильно измерять производительность
Большинство бенчмарков грешат одним — измеряют в идеальных условиях. Я использовал llmperf-rs, инструмент, который симулирует реальную нагрузку: случайные промпты разной длины, паузы между запросами, конкурирующие потоки.
Вот команда для запуска теста:
# Устанавливаем llmperf-rs (январь 2026, версия 0.8.3)
git clone https://github.com/mlc-ai/llmperf-rs
cd llmperf-rs
cargo build --release
# Запускаем SGLang сервер с Kimi K2.5
python -m sglang.launch_server \
--model-path /models/kimi-k2.5-48b \
--tokenizer-path /models/kimi-k2.5-48b \
--port 30005 \
--gpu-memory-utilization 0.85 \
--max-model-len 131072
# Запускаем бенчмарк
./target/release/llmperf \
--backend sglang \
--endpoint http://localhost:30005 \
--model kimi-k2.5 \
--mean-input-tokens 512 \
--std-input-tokens 128 \
--mean-output-tokens 256 \
--std-output-tokens 64 \
--num-concurrent-requests 4 \
--duration 300
Ключевые параметры:
--gpu-memory-utilization 0.85— оставляем 15% VRAM про запас для системы--max-model-len 131072— максимальная длина контекста (128K)--num-concurrent-requests 4— 4 параллельных запроса имитируют реальную нагрузку
Почему 4 запроса, а не 1? Потому что в продакшене к вашему API будут стучаться несколько пользователей одновременно. Одиночный запрос показывает максимальную производительность, но не реальную.
MLA KV Cache: секретное оружие Kimi K2.5
В нашей статье про архитектуру Kimi K2.5 мы подробно разбирали MLA (Multi-head Latent Attention). Кратко: это не квантизация весов, а оптимизация механизма внимания.
На практике это значит, что для контекста в 128K токенов K2.5 тратит всего 15-20GB VRAM вместо 140+ GB у обычных моделей. В бенчмарках это проявляется так:
- Без MLA: 312 t/s prefill, 78 t/s decode
- С MLA: 497 t/s prefill, 89.7 t/s decode
Разница в 60% на префилле! MLA не только экономит память, но и ускоряет вычисления за счет более эффективной работы с кэшем.
Почему RTX PRO 6000, а не H100?
Потому что H100 стоит как квартира в Москве, а RTX PRO 6000 — как хороший автомобиль. И да, на январь 2026 года разница в производительности для локального запуска не такая уж большая:
- RTX PRO 6000: 497 t/s prefill, 89.7 t/s decode
- H100 (80GB): 612 t/s prefill, 115 t/s decode
H100 быстрее на 23%, но дороже в 5-6 раз. Для большинства применений — чат-боты, анализ документов, кодогенерация — RTX PRO 6000 более чем достаточно.
Есть еще один момент: поддержка драйверов. На потребительских картах (RTX 4090) иногда возникают проблемы с последними версиями CUDA и Triton. RTX PRO 6000 — профессиональная серия, там все стабильнее.
Сравнение с другими моделями: где K2.5 выигрывает
Я прогнал тот же бенчмарк на других популярных моделях. Результаты на том же железе (Epyc 9374F + RTX PRO 6000):
| Модель | Размер (эфф.) | Prefill (t/s) | Decode (t/s) | VRAM |
|---|---|---|---|---|
| Kimi K2.5 | 48B | 497.3 | 89.7 | 38.2 GB |
| Qwen2.5 72B | 72B | 287.4 | 64.2 | 46.8 GB |
| Llama 3.1 70B | 70B | 301.8 | 68.9 | 45.1 GB |
| Mixtral 8x22B | 39B | 415.6 | 82.4 | 36.7 GB |
K2.5 быстрее всех на префилле. Да, Mixtral 8x22B близко (415.6 t/s), но у нее эффективный размер 39B против 48B у Kimi. При почти одинаковом потреблении VRAM китайская модель дает на 20% больше производительности.
В сравнении китайских LLM мы уже отмечали, что K2.5 оптимизирована именно под скорость отклика. Это чувствуется.
Оптимизации, которые реально работают
Из коробки K2.5 работает хорошо, но можно выжать еще 10-15%:
1 Настройка SGLang под конкретное железо
По умолчанию SGLang использует настройки «для всех». Добавьте в launch_server:
--tensor-parallel-size 1 \
--pipeline-parallel-size 1 \
--max-num-batched-tokens 8192 \
--max-num-seqs 8 \
--block-size 32
--block-size 32 вместо дефолтных 16 дает прирост на длинных контекстах. --max-num-batched-tokens 8192 оптимизирует батчинг для 4-8 параллельных запросов.
2 Выбор правильной квантизации
Kimi K2.5 поставляется в трех вариантах:
- FP16 (оригинал): 497 t/s, 38.2 GB VRAM
- GPTQ 4-bit: 412 t/s, 24.8 GB VRAM
- AWQ 4-bit: 438 t/s, 25.1 GB VRAM
Если у вас 24GB карта (RTX 4090), берите AWQ. Потеря производительности всего 12%, зато модель влезает. GPTQ быстрее квантизируется, но AWQ точнее сохраняет качество.
В статье про квантизацию Kimi K2 мы подробно разбирали, почему разработчики выбрали именно такой подход.
3 Настройка системы
Ubuntu 24.04 + ядро 6.8 + CUDA 12.4 (на январь 2026 это последняя стабильная). Не ставьте экспериментальные драйверы — они ломают совместимость с Triton, который использует SGLang.
Добавьте в /etc/sysctl.conf:
vm.swappiness = 1
vm.vfs_cache_pressure = 50
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
Это уменьшит своппинг и улучшит работу с памятью при длинных контекстах.
Где K2.5 проигрывает: честно о недостатках
497 t/s — это круто. Но:
- Первый токен (TTFT) — 42ms. Неплохо, но у специализированных маленьких моделей (Qwen2.5 7B) TTFT около 15ms. Для интерактивных приложений это заметно.
- Потребление CPU — MoE-архитектура грузит процессор. На 4 параллельных запросах Epyc 9374F улетает на 70-80% загрузки. С обычными плотными моделями было бы 40-50%.
- Декод — 89.7 t/s. Для генерации длинных текстов (1000+ токенов) этого мало. vLLM с его 102.4 t/s лучше справляется с длинными ответами.
В статье про TTFT в vLLM мы разбирали, как оптимизировать время до первого токена. С SGLang эти методы тоже работают, но менее эффективно.
Что в итоге: стоит ли запускать K2.5 локально?
Если вам нужна максимальная скорость обработки промптов — да. 497 t/s на префилле — это уровень, который раньше был доступен только на кластерах с несколькими H100.
Если ваша задача — генерация длинных текстов (статьи, код, аналитика), возможно, лучше взять модель поменьше, но с более быстрым декодом. Или использовать vLLM вместо SGLang.
Мой вердикт: Kimi K2.5 на Epyc + RTX PRO 6000 + SGLang — оптимальная связка для:
- Чат-ботов с быстрым ответом
- Анализа документов (префилл важен, декод не очень)
- RAG-систем с большим контекстом
- Прототипирования перед развертыванием в продакшене
Цена вопроса: сервер с такой конфигурацией обойдется в 12-15 тысяч долларов. Две RTX 4090 будут дешевле (8-9 тысяч), но сложнее в настройке и менее стабильны.
Одна карта — один драйвер — одна проблема. Две карты — два драйвера — две проблемы. Я выбираю первый вариант.
На январь 2026 года это самый быстрый open-source LLM для локального запуска на префилле. Но через полгода выйдет что-то новое. В LLM-мире сегодняшний рекорд — завтрашняя норма.
P.S. Если у вас другой набор железа — пишите в комментариях. Соберем базу реальных бенчмарков от сообщества. Теоретические цифры из бумажек — это хорошо, но реальные измерения на реальном железе — лучше.