KTransformers: как запускать огромные LLM через RAM + GPU, когда не хватает VRAM
Большие MoE-модели могут весить сотни гигабайт и не помещаться даже в одну мощную видеокарту. KTransformers использует другой подход: часть вычислений и expert weights остаются в системной памяти и обрабатываются CPU, а наиболее выгодные участки и «горячие» эксперты работают на GPU. За счёт этого модели, рассчитанные на серверное железо, становятся доступны на гибридных CPU+GPU конфигурациях.
KTransformers использует системную память как часть вычислительной архитектуры, а не как медленный swap
Обычный GPU inference старается держать всю модель или большую её часть в VRAM. KTransformers оптимизирован именно под Mixture-of-Experts: у таких моделей на каждом token активируется только часть экспертов. Это позволяет оставить значительную часть expert weights в RAM и вызывать CPU kernels только тогда, когда конкретный expert действительно нужен.
Часть MoE weights остаётся в системной памяти.
AVX/AMX kernels реально вычисляют expert layers.
Scheduler использует более быстрый accelerator там, где это выгоднее.
SGLang-KT отдаёт OpenAI-compatible API.
«300 миллиардов параметров» не означает, что все 300 миллиардов нужны для каждого token
В dense-модели практически каждый слой использует все соответствующие weights. В MoE-модели router выбирает небольшой набор experts. Поэтому можно разместить experts в разных типах памяти и выполнять только выбранные.
CPU offload часто быстро упирается в memory bandwidth и PCIe.
Появляется возможность эффективно разделять experts между RAM и VRAM.
Полные weights всё равно нужно где-то хранить. Вы экономите прежде всего дорогую VRAM, используя гораздо более объёмную системную RAM.
Современный KTransformers — это kt-kernel + SGLang-KT, а не старый local_chat.py
В официальной документации 2026 года project разделён на два публичных направления:
Inference и SFT.
Исходный интегрированный framework сохранён в archive/.
kt-kernel + sglang-kt
Текущий путь запуска production-style server.
ktransformers[sft]
LoRA/full fine-tuning через интеграцию с LLaMA-Factory.
local_chat.py
Не стоит строить новую инструкцию вокруг старого entrypoint.
balance_serve
Старый backend остаётся в истории проекта, но current docs ведут к SGLang-KT.
Установка для inference
python -m venv .venv
source .venv/bin/activate
pip install kt-kernel sglang-kt
kt version
kt doctor
Важно использовать именно sglang-kt —
fork SGLang от kvcache-ai с интеграцией KT-Kernel.
Обычный upstream package sglang не является эквивалентной заменой.
AVX2, AVX512, AMX и CUDA variants.
Batching, API, model frontend и hybrid execution.
kt doctor, kt run, kt chat.
Оригинальные или подходящие quantized weights.
Проект использует согласованные версии SGLang/Transformers kernels.
Смешивание с обычным sglang и случайными nightly packages — частая причина конфликтов.
Qwen3-30B-A3B на RTX 4090 24 ГБ + системной памяти
В актуальном KT-Kernel README есть полный пример для Qwen3-30B-A3B на RTX 4090 24 ГБ и двух Intel Xeon Gold 6454S. Документация в этой конфигурации оставляет около 32 experts на GPU, остальные обрабатываются CPU.
python -m sglang.launch_server \
--host 127.0.0.1 \
--port 30000 \
--model /models/Qwen3-30B-A3B \
--kt-weight-path /models/Qwen3-30B-A3B \
--kt-cpuinfer 64 \
--kt-threadpool-count 2 \
--kt-num-gpu-experts 32 \
--kt-method BF16 \
--attention-backend flashinfer \
--mem-fraction-static 0.80 \
--chunked-prefill-size 16384 \
--max-running-requests 4 \
--served-model-name Qwen3 \
--enable-mixed-chunk \
--tensor-parallel-size 1 \
--kt-enable-dynamic-expert-update
--kt-cpuinfer
Физические CPU cores
Документация отдельно предупреждает: не hyperthreads.
--kt-threadpool-count
NUMA nodes
Особенно важно на двухсокетных серверах.
--kt-num-gpu-experts
Сколько experts оставить в VRAM
Зависит от модели и доступной памяти.
--kt-method
CPU backend/precision
BF16, FP8, AMXINT8, LLAMAFILE и другие варианты.
На обычном desktop CPU с 16 cores результат будет существенно отличаться от dual-Xeon системы с 64 physical cores.
KTransformers/SGLang-KT отдаёт OpenAI-compatible endpoint
curl http://localhost:30000/v1/models
curl http://localhost:30000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen3",
"messages": [
{
"role": "user",
"content": "Объясни, как работает MoE"
}
],
"stream": true
}'
Благодаря OpenAI-compatible API backend можно подключать к клиентам, которые умеют менять Base URL: собственным приложениям, LiteLLM, Open WebUI и другим совместимым инструментам.
Для KTransformers особенно важны RAM, memory bandwidth, CPU ISA и PCIe
Для крупных моделей речь быстро идёт о 64/128/256/512 ГБ и выше.
AVX512/AMX дают более эффективные kernels в поддерживаемых режимах.
Но конкретный минимум зависит от architecture, context и precision.
Медленная шина способна свести часть преимущества гибридной схемы на нет.
Thread pools и memory placement должны соответствовать topology.
Некоторые современные модели требуют сотни гигабайт только на checkpoint.
Пример текущего AVX2 tutorial
Официальный AVX2 guide для Qwen3-30B-A3B указывает: x86-64 CPU с AVX2/FMA, NVIDIA GPU 24 ГБ+ и системную память как минимум размером с model weights; для BF16-варианта Qwen3-30B-A3B приведён ориентир 64 ГБ+ RAM.
Смотрите одновременно на precision, активные experts, размер KV cache, context length, CPU backend и сколько experts вы хотите держать в VRAM.
Пример GLM-5.3-Flash: около 321B parameters и FP8 weights примерно 306 GiB
В августе 2026 KTransformers добавил native support для GLM-5.3-Flash. Официальный tutorial указывает: около 321B parameters, FP8 checkpoint примерно 306 GiB и рекомендацию иметь минимум 350 ГБ свободной системной памяти.
Большая MoE-модель с multimodal input и tool calling.
Именно системная RAM делает подобный local deployment вообще возможным.
Практический usable context дополнительно ограничивается KV memory.
Текущий tutorial поддерживает NVIDIA SM89/SM120 для этой модели.
Сотни гигабайт RAM, мощный CPU и высокая memory bandwidth остаются частью требований. KTransformers переносит bottleneck, а не отменяет его.
KT-Kernel умеет использовать GGUF через LLAMAFILE backend
Для CPU без AMX в текущей документации есть backend LLAMAFILE.
Он позволяет использовать pre-quantized GGUF weights для CPU-side experts.
BF16
Native precision
Максимальная точность, большой объём RAM.
FP8
Native/quantized
Меньший memory footprint при поддерживаемой architecture.
AMXINT8
Intel AMX
CPU experts после специальной конвертации weights.
RAWINT4
Native packed INT4
Используется в отдельных современных MoE architectures.
LLAMAFILE
GGUF
Более универсальный CPU path без обязательного AMX.
KT docs отдельно предупреждают, что некоторые INT4 paths могут заметно ухудшать качество на конкретных моделях. Проверяйте outputs на реальных задачах.
MoE-модели можно дообучать на той же CPU-GPU идее через LLaMA-Factory
cd /path/to/LLaMA-Factory
pip install -e .
pip install -r requirements/ktransformers.txt
SFT path использует ktransformers[sft].
В release v0.7.1 добавлено LoRA fine-tuning для Qwen VLM MoE и Kimi K2.5/K2.6,
включая native RAWINT4 routed experts для Kimi.
Дообучаются adapters, а не все weights.
Намного тяжелее по RAM/GPU/IO.
Тот же принцип heterogeneous computing используется уже при fine-tuning.
Текущий KTransformers нельзя честно рекомендовать как обычное Windows-приложение
В истории проекта действительно была native Windows support, и старый README 2024–2025 годов всё ещё легко находится в поиске. Но современный kt-kernel + SGLang-KT stack имеет другую архитектуру.
PyPI wheels для kt-kernel также публикуются как Linux x86-64.
В roadmap 2026 разработчики продолжают исследовать перенос current heterogeneous path на Windows.
Если нужна простая локальная модель на обычном Windows-ПК, Ollama или LM Studio значительно проще. KTransformers имеет смысл ради действительно больших MoE и специализированного hybrid inference.
Не выставляйте KTransformers/SGLang endpoint напрямую в интернет
Для локального использования ставьте 127.0.0.1, а не 0.0.0.0.
Если API нужен по сети, добавьте authentication и TLS.
Inference process не должен иметь ненужных прав на host.
--trust-remote-code означает выполнение model repository Python-кода.
Согласовывайте kt-kernel, sglang-kt и model tutorial.
В 2026 у legacy scheduler был critical remote-code-execution advisory.
CVE-2026-63767: почему особенно опасны старые balance_serve setups
KTransformers до 0.6.3 включительно содержал unauthenticated pickle deserialization issue
в ZMQ scheduler: service слушал все interfaces и мог выполнить crafted pickle payload.
GitHub Advisory оценивает проблему как critical.
В release 0.6.4 scheduler был переведён на 127.0.0.1.
Текущий v0.7.1 новее исправленной ветки.
Не проксируйте внутренние scheduler ports наружу и не считайте model server публичным API gateway.
KTransformers полезен именно там, где сложность оправдана размером модели
Текущий production path не является простым native Windows installer.
VRAM экономится ценой использования десятков или сотен гигабайт DRAM.
Слабый CPU быстро становится bottleneck.
На server-class hardware неправильная topology снижает performance.
Новый MoE может требовать отдельной интеграции и kernel support.
Старые tutorials легко ведут на несовместимый stack.
Для 8B/14B на desktop GPU Ollama/LM Studio обычно проще.
SGLang, kernels, CUDA, model parser и quantization должны совпасть.
Если качественная 14B/30B модель целиком помещается в вашу GPU/RAM и решает задачу, усложнять стек KTransformers может не иметь смысла.
Где KTransformers действительно интересен
Есть 128–512+ ГБ RAM и 24–32 ГБ GPU, но нет серверной GPU на сотни гигабайт VRAM.
Крупная локальная модель для coding/research задач через OpenAI-compatible API.
Исследовать expert scheduling, CPU offload и dynamic expert placement.
Запуск моделей с длинным context на собственной инфраструктуре.
Fine-tuning огромной architecture без полного размещения expert weights в GPU.
Использовать RTX-карты вместе с большой системной памятью и мощным CPU.
KTransformers: current stack, hardware, releases и security
Latest GitHub release — v0.7.1 от 15 сентября.
Актуальная публичная package-линия на PyPI — 0.7.0.post4;
kt-kernel 0.7.0.post4 опубликован для Linux CPython 3.11/3.12.
Лицензия — Apache-2.0.
KTransformers не заменяет Ollama — он решает более экстремальную задачу
Если модель помещается в видеокарту, обычный GPU inference проще. KTransformers становится интересен, когда хочется локально использовать MoE-модель намного крупнее доступной VRAM и есть возможность компенсировать это большим объёмом RAM и мощным CPU.
В 2026 году проект особенно интересен тем, что hybrid execution применяется уже не только к inference, но и к LoRA/SFT больших MoE-моделей. При этом current stack стал заметно более server-oriented: kt-kernel, SGLang-KT, OpenAI-compatible API и model-specific tutorials.
Частые вопросы о KTransformers
Что такое KTransformers простыми словами?
Framework для CPU-GPU hybrid inference и fine-tuning больших MoE-моделей. Он позволяет хранить и считать часть experts в системной RAM/CPU, экономя VRAM.
Можно ли запустить 300B-модель на видеокарте 24 ГБ?
Для некоторых поддерживаемых MoE architectures — технически да, если большая часть weights помещается в системную RAM и железо соответствует конкретному tutorial. Это не означает, что достаточно только 24 ГБ VRAM: могут потребоваться сотни гигабайт RAM и мощный CPU.
Работает ли KTransformers на Windows?
В старой архитектуре Windows support существовал, но текущий официальный download для modern kt-kernel/SGLang-KT stack помечен Linux Only (for now). Для новой установки ориентируйтесь на Linux.
Нужен ли Intel AMX?
Нет. KT-Kernel поддерживает AVX2, AVX512 и разные backends. Но доступные precision и performance зависят от instruction set.
Можно ли использовать обычный GGUF?
Для ряда моделей есть LLAMAFILE backend, который использует GGUF CPU weights. Совместимость нужно проверять по конкретному model tutorial.
Есть ли OpenAI-compatible API?
Да. Современный SGLang-KT serving path предоставляет /v1/chat/completions и совместимый API.
Чем KTransformers отличается от llama.cpp?
KTransformers сильнее сфокусирован на heterogeneous CPU-GPU execution больших MoE и специализированных expert kernels. llama.cpp — более универсальный portable GGUF runtime.
Можно ли дообучать модели?
Да. Современный KTransformers имеет SFT path через LLaMA-Factory, включая LoRA и поддержку отдельных больших MoE/VLM architectures.
Какая версия актуальна?
На 21 сентября 2026 года latest GitHub release — KTransformers v0.7.1.
Хотите понять, какую MoE-модель реально потянет ваша RAM + GPU?
Нужны CPU, объём и скорость RAM, видеокарта/VRAM и желаемая модель. После этого можно оценить, подходит ли KTransformers, обычный GGUF runtime или лучше выбрать меньшую модель.
