KTransformers: как запускать огромные LLM через RAM + GPU, когда не хватает VRAM
KTransformers · CPU-GPU hybrid · MoE · SGLang · локальный ИИ

KTransformers: как запускать огромные LLM через RAM + GPU, когда не хватает VRAM

Большие MoE-модели могут весить сотни гигабайт и не помещаться даже в одну мощную видеокарту. KTransformers использует другой подход: часть вычислений и expert weights остаются в системной памяти и обрабатываются CPU, а наиболее выгодные участки и «горячие» эксперты работают на GPU. За счёт этого модели, рассчитанные на серверное железо, становятся доступны на гибридных CPU+GPU конфигурациях.

v0.7.1 актуальный GitHub release от 15 сентября 2026 года
Apache-2.0 основной project и kt-kernel
Linux-first текущий официальный inference stack пока помечен Linux Only
Heterogeneous inference

KTransformers использует системную память как часть вычислительной архитектуры, а не как медленный swap

Обычный GPU inference старается держать всю модель или большую её часть в VRAM. KTransformers оптимизирован именно под Mixture-of-Experts: у таких моделей на каждом token активируется только часть экспертов. Это позволяет оставить значительную часть expert weights в RAM и вызывать CPU kernels только тогда, когда конкретный expert действительно нужен.

Promptтекст / image / agent context
→
GPUattention + resident experts
↔
KTransformersexpert routing + scheduling
↔
CPU + RAMoffloaded experts
01 GPU не обязан хранить все experts

Часть MoE weights остаётся в системной памяти.

02 CPU не просто «держит файл»

AVX/AMX kernels реально вычисляют expert layers.

03 Hot experts можно держать на GPU

Scheduler использует более быстрый accelerator там, где это выгоднее.

04 Server остаётся обычным LLM endpoint

SGLang-KT отдаёт OpenAI-compatible API.

Почему это особенно хорошо работает с MoE

«300 миллиардов параметров» не означает, что все 300 миллиардов нужны для каждого token

В dense-модели практически каждый слой использует все соответствующие weights. В MoE-модели router выбирает небольшой набор experts. Поэтому можно разместить experts в разных типах памяти и выполнять только выбранные.

Dense Большая часть weights активна постоянно

CPU offload часто быстро упирается в memory bandwidth и PCIe.

KTransformers не «превращает 300B в 30B».

Полные weights всё равно нужно где-то хранить. Вы экономите прежде всего дорогую VRAM, используя гораздо более объёмную системную RAM.

Старые гайды частично устарели

Современный KTransformers — это kt-kernel + SGLang-KT, а не старый local_chat.py

В официальной документации 2026 года project разделён на два публичных направления: Inference и SFT. Исходный интегрированный framework сохранён в archive/.

Inference kt-kernel + sglang-kt

Текущий путь запуска production-style server.

SFT ktransformers[sft]

LoRA/full fine-tuning через интеграцию с LLaMA-Factory.

Legacy local_chat.py

Не стоит строить новую инструкцию вокруг старого entrypoint.

Legacy balance_serve

Старый backend остаётся в истории проекта, но current docs ведут к SGLang-KT.

Current inference path

Установка для 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 не является эквивалентной заменой.

kt-kernel CPU/GPU MoE kernels

AVX2, AVX512, AMX и CUDA variants.

sglang-kt Serving layer

Batching, API, model frontend и hybrid execution.

kt CLI Диагностика и запуск

kt doctor, kt run, kt chat.

Hugging Face Model weights

Оригинальные или подходящие quantized weights.

Создавайте отдельное clean environment под KT.

Проект использует согласованные версии 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.

После запуска — обычный API

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 и другим совместимым инструментам.

Главный ресурс — уже не только VRAM

Для KTransformers особенно важны RAM, memory bandwidth, CPU ISA и PCIe

RAM Должна вместить CPU-resident weights

Для крупных моделей речь быстро идёт о 64/128/256/512 ГБ и выше.

CPU AVX2 — нижний практический tier

AVX512/AMX дают более эффективные kernels в поддерживаемых режимах.

GPU 24 ГБ VRAM — частый ориентир docs

Но конкретный минимум зависит от architecture, context и precision.

PCIe Обмен CPU↔GPU важен

Медленная шина способна свести часть преимущества гибридной схемы на нет.

NUMA Критично для multi-socket

Thread pools и memory placement должны соответствовать topology.

SSD Weights занимают много места

Некоторые современные модели требуют сотни гигабайт только на checkpoint.

Пример текущего AVX2 tutorial

Официальный AVX2 guide для Qwen3-30B-A3B указывает: x86-64 CPU с AVX2/FMA, NVIDIA GPU 24 ГБ+ и системную память как минимум размером с model weights; для BF16-варианта Qwen3-30B-A3B приведён ориентир 64 ГБ+ RAM.

Количество parameters — плохой единственный критерий.

Смотрите одновременно на precision, активные experts, размер KV cache, context length, CPU backend и сколько experts вы хотите держать в VRAM.

Зачем вообще такой сложный stack

Пример 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 ГБ свободной системной памяти.

Model GLM-5.3-Flash

Большая MoE-модель с multimodal input и tool calling.

Weights ≈306 GiB FP8

Именно системная RAM делает подобный local deployment вообще возможным.

Context До 1M tokens

Практический usable context дополнительно ограничивается KV memory.

GPU RTX 40/50 series в docs

Текущий tutorial поддерживает NVIDIA SM89/SM120 для этой модели.

«Запускается на одной GPU» не означает «работает как обычная 30B модель».

Сотни гигабайт RAM, мощный CPU и высокая memory bandwidth остаются частью требований. KTransformers переносит bottleneck, а не отменяет его.

Не только native BF16/FP8

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.

Quantization — не всегда бесплатная экономия.

KT docs отдельно предупреждают, что некоторые INT4 paths могут заметно ухудшать качество на конкретных моделях. Проверяйте outputs на реальных задачах.

В 2026 проект умеет уже не только inference

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.

LoRA Основной практический сценарий

Дообучаются adapters, а не все weights.

Full SFT Поддерживается для отдельных workflows

Намного тяжелее по RAM/GPU/IO.

Hybrid CPU experts + GPU training

Тот же принцип heterogeneous computing используется уже при fine-tuning.

Очень важный нюанс

Текущий KTransformers нельзя честно рекомендовать как обычное Windows-приложение

В истории проекта действительно была native Windows support, и старый README 2024–2025 годов всё ещё легко находится в поиске. Но современный kt-kernel + SGLang-KT stack имеет другую архитектуру.

Сегодня Официальный download: «Linux Only (for now)»

PyPI wheels для kt-kernel также публикуются как Linux x86-64.

Roadmap Native Windows остаётся отдельной задачей

В roadmap 2026 разработчики продолжают исследовать перенос current heterogeneous path на Windows.

На Windows разумный путь сейчас — отдельный Linux server или Linux-среда, а не старые Windows-гайды.

Если нужна простая локальная модель на обычном Windows-ПК, Ollama или LM Studio значительно проще. KTransformers имеет смысл ради действительно больших MoE и специализированного hybrid inference.

Server с model execution — чувствительная служба

Не выставляйте KTransformers/SGLang endpoint напрямую в интернет

1 Bind localhost

Для локального использования ставьте 127.0.0.1, а не 0.0.0.0.

2 Reverse proxy + auth

Если API нужен по сети, добавьте authentication и TLS.

3 Не запускать от root

Inference process не должен иметь ненужных прав на host.

4 Проверять remote code

--trust-remote-code означает выполнение model repository Python-кода.

5 Pin versions

Согласовывайте kt-kernel, sglang-kt и model tutorial.

6 Обновлять старые installations

В 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 новее исправленной ветки.

Но localhost bind исправляет exposure, а не делает pickle безопасным сетевым protocol.

Не проксируйте внутренние scheduler ports наружу и не считайте model server публичным API gateway.

Ограничения

KTransformers полезен именно там, где сложность оправдана размером модели

01Linux-first

Текущий production path не является простым native Windows installer.

02Нужна большая RAM

VRAM экономится ценой использования десятков или сотен гигабайт DRAM.

03CPU matters

Слабый CPU быстро становится bottleneck.

04NUMA matters

На server-class hardware неправильная topology снижает performance.

05Model support не универсален

Новый MoE может требовать отдельной интеграции и kernel support.

06Версии быстро меняются

Старые tutorials легко ведут на несовместимый stack.

07Не замена маленьким моделям

Для 8B/14B на desktop GPU Ollama/LM Studio обычно проще.

08Больше moving parts

SGLang, kernels, CUDA, model parser и quantization должны совпасть.

Главный вопрос: нужна ли вам именно огромная MoE?

Если качественная 14B/30B модель целиком помещается в вашу GPU/RAM и решает задачу, усложнять стек KTransformers может не иметь смысла.

Практические сценарии

Где KTransformers действительно интересен

01 Большой MoE дома

Есть 128–512+ ГБ RAM и 24–32 ГБ GPU, но нет серверной GPU на сотни гигабайт VRAM.

02 Private agent server

Крупная локальная модель для coding/research задач через OpenAI-compatible API.

03 Лаборатория MoE

Исследовать expert scheduling, CPU offload и dynamic expert placement.

04 Большой context

Запуск моделей с длинным context на собственной инфраструктуре.

05 MoE LoRA

Fine-tuning огромной architecture без полного размещения expert weights в GPU.

06 Сервер из consumer GPUs

Использовать RTX-карты вместе с большой системной памятью и мощным CPU.

Первоисточники

KTransformers: current stack, hardware, releases и security

Материал проверен 21 сентября 2026 года.

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.

FAQ

Частые вопросы о 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 или лучше выбрать меньшую модель.