KTransformers 全览:基于 CPU-GPU 异构计算的高性能 LLM 推理与微调优化框架

KTransformers 全览:基于 CPU-GPU 异构计算的高性能 LLM 推理与微调优化框架 KTransformers 全览基于 CPU-GPU 异构计算的高性能 LLM 推理与微调优化框架【免费下载链接】ktransformersA Flexible Framework for Experiencing Heterogeneous LLM Inference/Fine-tune Optimizations项目地址: https://gitcode.com/GitHub_Trending/ktr/ktransformersKTransformers 是一个专注于大语言模型LLM高效推理与微调的研究项目核心思路是通过 CPU-GPU 异构计算让消费级 GPU 与高性能 CPU 协同工作从而在有限显存下运行超大规模 MoE 模型。本文基于仓库文档入口 doc/README.md 编写系统介绍该项目面向用户的两大能力kt-kernel 高性能推理与 KTransformers × LlamaFactory 微调并给出完整的安装、启动命令与参数说明帮助读者快速上手异构 LLM 推理与微调。一、项目概览异构计算驱动的双能力框架KTransformers 的研究方向是通过 CPU-GPU 异构计算实现 LLM 的高效推理与微调。项目从 kt-kernel 源码树中暴露了两个面向用户的核心能力Inference推理即 kt-kernel一套面向异构 LLM 推理的 CPU 优化内核配套高性能 serving 方案SFT微调即 KTransformers × LlamaFactory MoE 微调 Cookbook与 LlamaFactory 深度集成支持超大规模 MoE 模型的低成本微调。仓库根目录的 README.md 与 doc/README.md 为同一文档的两个入口文档导航结构可参考 doc/SUMMARY.md其中 kt-kernel 部分从 doc/en/kt-kernel/kt-kernel_intro.md 进入SFT 部分从 doc/en/SFT/README.md 进入。文档组织说明历史上集成式的 KTransformers 框架已被归档至 archive/ 目录含 archive/README.md 英文版与 archive/README_ZH.md 中文版当前项目以 kt-kernel 源码树为中心组织上述两大能力以获得更清晰的文档与维护边界。二、能力一kt-kernel 高性能异构推理2.1 核心特性kt-kernel 是面向 KTransformers 的高性能内核库提供针对 AMX、AVX、KMLARM与 BLISAMD 库优化的 CPU MoE 推理内核核心特性包括CPU 优化 MoE 内核针对指令集高度优化的高吞吐 MoE 专家内核AVX512 原生精度后端为支持 AVX512 的服务器提供 FP8 / BF16 / INT4 原生 MoE 后端AMX INT4/INT8 后端为支持 AMX 的服务器提供 INT4/INT8 量化专家推理后端Llamafile CPU 后端基于 Llamafile 构建的 AVX2/AVX512 MoE 后端实现通用 CPU 部署NUMA 感知执行面向多路 / 多 NUMA 机器设计的线程池与内存布局。从源码结构看kt-kernel/operators/ 下按指令集组织实现amx/如 bf16-moe.hpp、fp8-moe.hpp、k2-moe.hpp、avx2/如 bf16-moe.hpp、gptq_int4-moe.hpp、kvcache/、llamafile/与moe_kernel/等与文档所述后端矩阵一一对应。2.2 安装PyPI 与源码两种方式方式一PyPI 安装推荐大多数用户pip install kt-kernel预编译 wheel 的特点自动 CPU 检测运行时检测 CPU 并加载最优内核变体多 CPU 变体内置 AMX、AVX512Base/VNNI/VBMI/BF16、AVX2 共 6 个变体内置 CUDA 支持为 NVIDIA GPUSM 80/86/89/90提供加速静态链接 CUDA 运行时无需安装 CUDA Toolkit无需编译提供 Python 3.10/3.11/3.12 预编译 wheel纯 CPU 可用无 GPU 时自动禁用 CUDA 特性。环境要求Python 3.10-3.12、Linux x86-64manylinux_2_17 兼容、支持 AVX2 的 CPUIntel Haswell 2013、AMD Zen可选 NVIDIA GPU计算能力 8.0即 Ampere 及以上如 A100/RTX 30/40 系列/H100V100、T4 等旧卡不支持。安装后可通过以下 Python 代码验证import kt_kernel # 查看加载的 CPU 变体与版本 print(fCPU variant: {kt_kernel.__cpu_variant__}) print(fVersion: {kt_kernel.__version__}) # 检查 CUDA 支持 from kt_kernel import kt_kernel_ext cpu_infer kt_kernel_ext.CPUInfer(4) has_cuda hasattr(cpu_infer, submit_with_cuda_stream) print(fCUDA support: {has_cuda})调试时可使用环境变量覆盖自动检测export KT_KERNEL_CPU_VARIANTavx2 # 强制指定变体 export KT_KERNEL_DEBUG1 # 输出检测过程 python -c import kt_kernel方式二源码安装本地使用或定制构建适用于需要 AMDBLIS、ARMKML或自定义 CUDA 版本的用户git submodule update --init --recursive conda create -n kt-kernel python3.11 -y conda activate kt-kernel ./install.sh # 自动检测 CPU 能力并以 -marchnative 构建install.sh 会自动完成检测 CPU 能力AMX、AVX512_VNNI、AVX512_BF16、安装系统依赖cmake、libhwloc-dev、pkg-config、仅针对本机 CPU 构建优化二进制并为缺少 VNNI/BF16 的 CPU 自动启用软件回退。也支持两步安装./install.sh deps仅装依赖、./install.sh build仅构建安装。各后端的最低 CPU 要求详见 kt-kernel/README.md后端最低 CPU 要求示例 CPU说明LLAMAFILEAVX2Intel Haswell2013、AMD Zen通用兼容RAWINT4AVX512F AVX512BWIntel Skylake-X2017、Ice Lake、Cascade LakeVNNI/BF16 有软件回退AMXINT4/INT8AMXIntel Sapphire Rapids2023性能最佳需 AMX 硬件FP8AVX512F AVX512BW AVX512_BF16 AVX512_VBMIIntel Cooper Lake/Sapphire Rapids、AMD Zen 4如 EPYC 9355原生精度如 DeepSeek V3.2、MiniMax M2.1BF16AVX512F AVX512BW AVX512_BF16Intel Cooper Lake/Sapphire Rapids、AMD Zen 4原生精度如 Qwen3-235B-A22B、GLM-4.7可移植性提示默认构建针对本机 CPU 优化-marchnative可能无法在更老/不同的 CPU 上运行。需要分发二进制时应使用手动配置见下文。2.3 与 SGLang 集成CPU-GPU 异构推理kt-kernel 可与 SGLang 集成实现生产级部署热专家hot experts运行在 GPU 上冷专家cold experts运行在 CPU 上实现最优资源利用。这一思想在仓库源码中也有体现例如 doc/en/kt-kernel/experts-sched-Tutorial.md 专门介绍了 CPU-GPU 专家调度机制。安装时需使用 kvcache-ai 维护的 SGLang 分支sglang-kt而非官方sglang包# 方式 A一键安装ktransformers 根目录同时安装 sglang kt-kernel ./install.sh # 方式 Bpip 安装 pip install kt-kernel sglang-kt # 方式 C源码可编辑安装 pip install -e third_party/sglang/python[all]权重准备按后端区分AMX 后端AMXINT4/AMXINT8需用 kt-kernel/scripts/convert_cpu_weights.py 将权重量化为 AMX 友好的 INT4/INT8 格式支持 FP8/FP16/BF16 → INT4/INT8python scripts/convert_cpu_weights.py \ --input-path /path/to/model \ --input-type bf16 \ --output /path/to/cpu-weights \ --quant-method int8 # 或 int4 / moe_int8AMD 专用LLAMAFILE 后端CPU 侧直接使用预量化的 GGUF 权重无需运行转换脚本支持Q4_KM、Q4_K、Q5_K等多种 GGUF 量化格式。启动 SGLang 服务器时在常规参数之外追加 kt-kernel 专属参数参数说明示例值--kt-methodCPU 推理后端方法AMXINT4、AMXINT8、RAWINT4、FP8、FP8_PERCHANNEL、BF16、LLAMAFILE--kt-weight-path量化后 CPU 权重路径/path/to/cpu-weights--kt-cpuinferCPU 推理线程数64按物理核数调整--kt-threadpool-count并行执行线程池数2通常 1-4--kt-num-gpu-experts保留在 GPU 上的专家数32其余专家放 CPU--kt-max-deferred-experts-per-token每 token 延迟执行的专家数流水线执行20 关闭推荐 1-4--kt-gpu-prefill-token-threshold预填充策略切换的 token 阈值仅原生后端1024-4096--kt-enable-dynamic-expert-update预填充期间基于实际路由统计动态更新专家放置布尔开关--kt-expert-placement-strategy初始 GPU 专家放置策略uniform、frequency、front-loading、random关键参数调优准则kt-cpuinfer应设为物理核心数而非超线程数。lscpu | grep -E ^CPU\(s\)|Thread\(s\) per core查看物理核数 CPU(s) ÷ Thread(s) per core。误设为超线程数会降低性能kt-threadpool-count应设为NUMA 节点数lscpu | grep NUMA node(s)或numactl --hardware典型值单路 1-2、双路 2-4有助于跨 NUMA 域利用内存带宽kt-num-gpu-expertsGPU 专家越多延迟越低但显存占用越高可能 OOMkt-max-deferred-experts-per-token0为同步执行简单但延迟高1-4为延迟执行推荐区间需调优5-7延迟降低最明显但可能引入明显精度损失kt-gpu-prefill-token-threshold仅 FP8/RAWINT4token 数 ≤ 阈值时使用混合 CPUGPU 预填充无需额外显存超过阈值时使用分层 GPU 预填充长序列扩展性更好但需一个 MoE 层的额外显存例如 Kimi-K2-Thinking 约 9GB、MiniMax-M2.1 约 3.6GBkt-expert-placement-strategyuniform均匀分配默认无需先验统计frequency按激活频率放置需--init-expert-location指向.pt统计文件front-loading从第一层开始填满random以固定种子 42 随机选择。2.4 完整示例Qwen3-30B-A3B 三种后端kt-kernel/README.md 以 RTX 4090 24GB 2×Intel Xeon Gold 6454S64 物理核/128 线程/2 NUMA 节点为例演示从下载权重到启动服务器的完整流程。选项 A原生后端BF16——适用于支持 BF16 的 AVX512 CPUpython -m sglang.launch_server \ --host 0.0.0.0 --port 30000 \ --model /mnt/data/models/Qwen3-30B-A3B \ --kt-weight-path /mnt/data/models/Qwen3-30B-A3B \ --kt-cpuinfer 64 --kt-threadpool-count 2 \ --kt-num-gpu-experts 32 --kt-method BF16 \ --attention-backend flashinfer \ --trust-remote-code --mem-fraction-static 0.80 \ --chunked-prefill-size 16384 --max-running-requests 4 \ --served-model-name Qwen3 --enable-mixed-chunk \ --tensor-parallel-size 1 --enable-p2p-check \ --disable-shared-experts-fusion \ --kt-gpu-prefill-token-threshold 4096 \ --kt-enable-dynamic-expert-update选项 BAMX 后端AMXINT8——适用于支持 AMX 指令集的 Intel CPU先用转换脚本生成 INT8 权重再启动python scripts/convert_cpu_weights.py \ --input-path /mnt/data/models/Qwen3-30B-A3B \ --input-type bf16 \ --output /mnt/data/models/Qwen3-30B-A3B-INT8 \ --quant-method int8 python -m sglang.launch_server \ --host 0.0.0.0 --port 8000 \ --model /mnt/data/models/Qwen3-30B-A3B \ --trust-remote-code --mem-fraction-static 0.92 \ --chunked-prefill-size 4096 --served-model-name Qwen3-30B-A3B \ --enable-mixed-chunk --kt-method AMXINT8 \ --kt-weight-path /mnt/data/models/Qwen3-30B-A3B-INT8 \ --kt-cpuinfer 64 --kt-threadpool-count 2 \ --kt-num-gpu-experts 32 --kt-max-deferred-experts-per-token 2选项 CLLAMAFILE 后端GGUF——适用于无 AMX 的通用 CPU直接下载 GGUF 权重huggingface-cli download Qwen/Qwen3-30B-A3B-GGUF Qwen3-30B-A3B-Q4_K_M.gguf \ --local-dir /mnt/data/models/Qwen3-30B-A3B-Q4_K_M python -m sglang.launch_server \ --host 0.0.0.0 --port 8000 \ --model /mnt/data/models/Qwen3-30B-A3B \ --trust-remote-code --mem-fraction-static 0.92 \ --chunked-prefill-size 4096 --served-model-name Qwen3-30B-A3B \ --enable-mixed-chunk --kt-method LLAMAFILE \ --kt-weight-path /mnt/data/models/Qwen3-30B-A3B-Q4_K_M \ --kt-cpuinfer 64 --kt-threadpool-count 2 \ --kt-num-gpu-experts 32 --kt-max-deferred-experts-per-token 22.5 直接使用 Python API不依赖 SGLang 时可通过 kt-kernel 的 Python API 独立使用from kt_kernel import KTMoEWrapper wrapper KTMoEWrapper( layer_idx0, num_experts8, num_experts_per_tok2, hidden_size4096, moe_intermediate_size14336, num_gpu_experts2, cpuinfer_threads32, threadpool_count2, weight_path/path/to/weights, chunked_prefill_size512, methodAMXINT4 # 可选: AMXINT4, AMXINT8, LLAMAFILE ) # 从磁盘加载预量化权重 wrapper.load_weights(physical_to_logical_map) # 或从张量加载在线量化 wrapper.load_weights_from_tensors(gate_proj, up_proj, down_proj, physical_to_logical_map) # 同步推理 output wrapper.forward(hidden_states, topk_ids, topk_weights, cuda_stream) # 异步推理性能更优 wrapper.submit_forward(hidden_states, topk_ids, topk_weights, cuda_stream) # ... 其他工作 ... output wrapper.sync_forward(hidden_states, cuda_stream)高级选项包括cpu_saveFalse加载后保留 CPU 内存中的权重、max_deferred_experts_per_token0延迟执行专家数、KTMoEWrapper.set_capture_batch_sizes([1, 2, 4, 8, 16])预分配特定 batch 大小的缓冲区以提升性能、KTMoEWrapper.clear_buffer_cache()清空缓冲区缓存释放内存等。2.6 推理性能示例根据 doc/README.md 公布的实测数据模型硬件配置总吞吐输出吞吐DeepSeek-R1-0528FP88×L20 GPU Xeon Gold 6454S227.85 tokens/s87.58 tokens/s8 路并发该数据为项目文档中公布的配置与结果实际性能受硬件、并发与模型版本影响仅供参考。2.7 kt-cli简化使用入口项目正在开发更简单的 CLI 使用方式见 doc/en/kt-kernel/kt-cli.md目前处于活跃开发中。其设计哲学是最小化阅读文档的负担交互模式不带参数运行命令获得逐步引导提示与直接模式直接传参兼容以往 SGLang KTransformers 的参数可无缝迁移。常用命令包括kt run model、kt chat、kt model、kt doctor、kt config、kt version等kt-kernel/README.md 的 CLI 表中还列出了quant权重量化、bench完整基准、microbench微基准、sftLlamaFactory 微调等命令。安装后可用kt version验证输出含 Python/CUDA/kt-kernel/sglang 版本信息。三、能力二KTransformers × LlamaFactory MoE 微调3.1 架构原理GPU 跑注意力CPU 存路由专家在资源受限场景下1-4 张 RTX 4090 加一台内存充足的 CPU 服务器即可微调 DeepSeek-V3/V4 系列、Kimi-K2.5、GLM-5.2 等千亿甚至万亿参数级 MoE 模型。KTransformers 与 LlamaFactory 的集成分工明确LlamaFactory保持其熟悉的训练工作流作为数据、训练、LoRA 注入与推理集成的统一配置和编排层GPU运行 Attention 与共享专家Shared Expert模块KTransformers将计算密集、稀疏激活的路由专家Routed Experts存放在CPU 内存中执行异构 GPU-CPU 训练。这一设计避免了大体量专家权重反复经 PCIe 传输同时让 CPU 运行时根据权重格式与可用指令集选择优化后端。官方文档doc/en/SFT/KTransformers-Fine-Tuning_Cookbook.md指出该方案在基准 MoE SFT 工作负载中相比 ZeRO-Offload 有6-12 倍训练加速CPU 内存约为旧 KT SFT 路径的约一半。3.2 安装与环境验证官方推荐使用干净的 Python 3.11 环境先固定 PyTorch 2.9.1 再安装 LlamaFactory最后安装 KT 依赖避免标准transformers/accelerate包覆盖 KT 变体conda create -n kt-sft python3.11 -y conda activate kt-sft git clone --depth 1 https://github.com/hiyouga/LlamaFactory.git cd LlamaFactory python -m pip install torch2.9.1 torchaudio2.9.1 torchvision0.24.1 python -m pip install -e . python -m pip install ktransformers[sft]0.7.0 python -m pip install sglang-kt0.7.0安装后检查依赖一致性与实际导入版本并验证 KT 插件可导入from importlib.metadata import version import accelerate, ktransformers, kt_kernel, torch, transformers for name, module in { torch: torch, transformers: transformers, accelerate: accelerate, kt_kernel: kt_kernel, ktransformers: ktransformers, }.items(): print(f{name:14s} {getattr(module, __version__, unknown)}) print(f{sglang-kt:14s} {version(sglang-kt)}) print(f{transformers-kt:14s} {version(transformers-kt)}) print(f{accelerate-kt:14s} {version(accelerate-kt)}) from accelerate.utils.dataclasses import KTransformersPlugin # noqa: F401文档给出的兼容版本组合为torch 2.9.1、transformers 5.6.0、accelerate 1.14.0、kt_kernel 0.7.0、ktransformers 0.7.0、sglang-kt 0.7.0、transformers-kt 5.6.0.post2、accelerate-kt 1.14.0.post2。3.3 快速开始命令cd /path/to/LLaMA-Factory python -m pip install -e . python -m pip install ktransformers[sft]0.7.0 python -m pip install sglang-kt0.7.0 CUDA_VISIBLE_DEVICES0,1,2,3 accelerate launch \ --config_file examples/ktransformers/accelerate/fsdp2_kt_int8.yaml \ src/train.py \ examples/ktransformers/train_lora/qwen3_5moe_lora_sft_kt.yaml3.4 SFT 性能与资源参考根据 doc/README.md 与 Cookbook 公布的实测数据模型GPU 显存训练速度硬件DeepSeek-V3~80GB 总计3.7 it/s4×RTX 4090DeepSeek-R1~80GB 总计3.7 it/s4×RTX 4090Qwen3-30B-A3B~24GB 总计8 it/s1×RTX 4090Cookbook 中还给出了以 2K 上下文、每卡 batch 1、梯度累积 1 为前提的实测参考值仅统计完成真实 LoRA 训练的 BF16 运行模型与权重GPU 数全局 batch单卡显存参考主机内存参考微调吞吐tokens/sQwen3-235B-2507 BF16 LoRA22≥ 27.14 GiB≥ 545.36 GiB147.91Qwen3.5-397B BF16 LoRA88≥ 20.37 GiB≥ 1075.68 GiB215.25显存列报告的是实测运行中单 GPU 峰值内存列为训练进程树的 CPU RSS 峰值归一化为 GiB仅是对应配置的最低参考值而非安全余量。不同 GPU 数量的结果不能直接推断线性扩展增大cutoff_len、batch 或 KT 缓存深度都会增加资源占用全参微调还需额外容纳梯度、主权重、优化器状态与完整检查点。3.5 配置要点两份 YAML 的职责划分每次训练运行需要两份 YAML 文件完整配置见 Cookbook 附录 A.1/A.2也可参考 doc/en/SFT/KTransformers-Fine-Tuning_Quick-Start.md 与 doc/en/SFT/KTransformers-Fine-Tuning_User-Guide.md文件职责常见字段训练 YAML模型、数据、LoRA 或全参微调、batch、序列长度、输出目录及所有 KT 设置model_name_or_path、dataset、finetuning_type、lora_*、cutoff_len、output_dir、use_kt、kt_cpu_activation、kt_weight_path、kt_non_expert_weight_path、kt_configAccelerate YAMLGPU 进程、FSDP2全分片数据并行 2、全局混合精度num_processes、mixed_precision、fsdp_config启动前需核对三个关系CUDA_VISIBLE_DEVICES中的 GPU 数必须等于num_processes若在训练 YAML 中手动设置kt_config.kt_model_max_length它必须覆盖cutoff_len加上运行时 token 余量LoRA rank 只写在训练 YAML 顶层LlamaFactory 会自动派生 KT 内部字段全参微调需移除 LoRA 专属字段。注意当前 LlamaFactory 拒绝在 Accelerate YAML 中出现kt_config。3.6 四类基础配置模板① 原生 BF16 LoRA首选路径无需权重转换# 文件1: 训练 YAML model_name_or_path: /data/models/Your-BF16-Model finetuning_type: lora lora_rank: 8 use_kt: true # 原生 BF16 不要设置 kt_weight_path kt_config: kt_backend: auto kt_expert_weight_format: bf16 # 文件2: Accelerate YAML mixed_precision: bf16 num_processes: 2② 原生 FP8 LoRA直接加载原生 FP8 专家权重降低主机内存占用# 文件1: 训练 YAML model_name_or_path: /data/models/Your-Native-FP8-Model finetuning_type: lora lora_rank: 8 use_kt: true # 原生 FP8 不要设置 kt_weight_path kt_config: kt_backend: auto kt_expert_weight_format: fp8 # 文件2: Accelerate YAML mixed_precision: bf16 num_processes: 2③ INT8 / AMXINT4 LoRA主机内存成为瓶颈时# 文件1: 训练 YAML finetuning_type: lora lora_rank: 8 use_kt: true # INT8 配置 kt_weight_path: /data/models/Your-Routed-Experts-INT8 kt_non_expert_weight_path: /data/models/Your-Non-Expert-Cache-BF16 kt_config: kt_backend: auto kt_expert_weight_format: int8 kt_weight_lifecycle: persistent # AMXINT4 时替换为: # kt_weight_path: /data/models/Your-Model-AMXINT4 # kt_non_expert_weight_path: /data/models/Your-Non-Expert-Cache-BF16 # kt_config: # kt_backend: AMXINT4 # 文件2: Accelerate YAML mixed_precision: bf16 num_processes: 2④ 原生 BF16 全参微调# 文件1: 训练 YAML finetuning_type: full learning_rate: 1.0e-5 use_kt: true # 移除 lora_rank、lora_alpha、lora_dropout、lora_target 等 LoRA 字段 kt_config: kt_backend: auto kt_expert_weight_format: bf16 # 文件2: Accelerate YAML mixed_precision: bf16 num_processes: 2启动命令CUDA_VISIBLE_DEVICES0,1 accelerate launch --main_process_port 0 \ --config_file qwen35_fsdp2_2gpu.yaml \ src/train.py qwen35_397b_bf16_lora.yaml3.7 高级调优参数LoRA 容量lora_rank/lora_alpha/lora_target/lora_dropout仅写在训练 YAML 顶层LlamaFactory 自动派生 KT 内部使用的 rank/alpha/dropout。推荐起点lora_rank: 8、lora_alpha: 16、lora_target: all、lora_dropout: 0.0适配不足时 rank 提到 16 再 32alpha 约为 rank 的两倍小数据集过拟合时 dropout 提到0.05序列长度cutoff_len按大多数样本的有效 token 数设置不要为少量长样本采用数据集最大长度。系统从cutoff_len派生 KT 模型长度容量手动增大需设kt_model_max_length必须大于cutoff_len并留足运行时 token 余量过小报 buffer/shape 错误过大增加主机内存Batchper_device_train_batch_size与gradient_accumulation_steps。超大规模 MoE 模型从per_device_train_batch_size: 1起步显存不足时保持微批为 1 而用梯度累积提升有效 batch。有效 batch per_device_train_batch_size × GPU 数 × gradient_accumulation_steps激活重计算与 CPU 激活复用disable_gradient_checkpointing: false开启梯度检查点以计算换显存主机内存充足时加顶层字段kt_cpu_activation: retain可在检查点重算期间保留 CPU 专家激活多耗主机内存减少重复 CPU 计算。两者是独立开关CPU 专家复用与线程kt_share_backward_bb: true复用 CPU 专家反向计算所需缓冲区kt_num_threads设为作业可用的物理核心数非含 SMT 的逻辑核若数据预处理共享 CPU 需预留核kt_threadpool_count由 NUMA 拓扑自动派生仅在确认 socket/NUMA 布局后手动修改断点续训resume_from_checkpoint指向目标checkpoint-*目录新运行省略output_dir始终指向当前作业输出目录绝不指向基模型目录overwrite_output_dir: false。3.8 常见问题速查Cookbook 附录 QA 要点为什么原生 FP8 检查点不能用转换 INT8 配置两者权重格式与加载路径不同原生 FP8 保留检查点中的 FP8 权重与 scale走 AVX512 原生精度后端INT8 配方读取INT8 路由专家 BF16 非专家缓存配对再由auto选择 AMX-INT8 或 AVX512-VNNI。不要把原生 FP8 检查点传给kt_weight_pathauto未选中预期后端保存lscpu输出与启动日志确认容器/虚拟化环境未屏蔽所需指令集。原生 BF16 有 AMX 时可选 AMXBF16原生 FP8 应选 AVX512不要强制 CPU 或权重格式不支持的后端主机内存不足先降低并发数据加载、序列长度与缓存深度确认未加载两份专家权重仍不足则准备转换 INT8 或 AMXINT4 权重全参微调需单独估算梯度、主权重、优化器状态GPU OOM先降低cutoff_len、每卡 batch 与激活占用再用gradient_accumulation_steps保持全局 batchnum_processes、可见 GPU 数与实际模型放置必须一致kt_model_max_length与cutoff_len不匹配增大cutoff_len时同步增大kt_model_max_length并留足运行时序列长度余量。四、模型支持与版本演进里程碑从 doc/README.md 的更新记录可以清晰看到项目的能力演进路径按时间倒序摘要2026-08原生支持 GLM-5.3-flash100 万 token 上下文 多模态输入消费级 GPU 可跑发布 KTransformers × LlamaFactory MoE 微调 CookbookLoRA 微调支持无 AMX 的兼容 AVX512 x86 CPU含 AMD 服务器引入原生 block-FP8 LoRA 微调直接从检查点加载 FP8 路由专家权重无需物化完整 BF16 副本2026-07MoE 模型端到端 BF16 全参微调含完整检查点保存2026-06MiniMax-M3、GLM-5.2 Day0 支持2026-05DeepSeek-V4-Flash 支持2026-03KT-Kernel 推理支持纯 AVX2 CPU 后端2026-01CPU-GPU 专家调度、原生 BF16 与 FP8 逐通道精度、AutoDL 一体化训推2025-12RL-DPO 微调、Kimi-K2-Thinking 原生推理2025-11KTransformers 微调 × LLaMA-Factory 集成2025-10支持 Ascend NPU集成 SGLang2025-09支持 Qwen3-Next、Kimi-K2-09052025-07SmallThinker、GLM4-MoE、Kimi-K2 支持2025-063 层GPU-CPU-Disk前缀缓存复用2025-05Intel Arc GPU 支持2025-04AMX-Int8、AMX-BF16、Qwen3MoE 支持多并发支持2025-03AMD GPU ROCm 支持unsloth 1.58/2.51 bits 权重与 IQ1_S/FP8 混合权重支持2025-02DeepSeek-R1/V3 单卡24GB/多卡 382G DRAM 运行支持长上下文支持2024-08DeepSeek-V2 所需显存从 21G 降至 11Gllamafile 线性后端、多 GPU、Windows 原生支持。模型侧的支持范围还可参考 doc/en/kt-kernel/Native-Precision-Tutorial.md原生精度后端BF16零精度损失、需 AMXAVX512、FP8块级 scale 量化、需 AVX512、FP8_PERCHANNEL逐通道 scale 量化、需 AVX512、RAWINT4CPU 与 GPU 共用 INT4 权重、需 AVX512覆盖 DeepSeek-V3/R1/V3.2、GLM-4.7、Kimi-K2-Thinking、MiniMax-M2/M2.1、Qwen3-235B-A22B、Qwen3-30-A3B、Qwen3-Next-80B-A3B 等模型。五、引用与社区若在研究中使用了 KTransformers官方推荐引用以下论文ACM SIGOPS SOSP 2025inproceedings{10.1145/3731569.3764843, title {KTransformers: Unleashing the Full Potential of CPU/GPU Hybrid Inference for MoE Models}, author {Chen, Hongtao and Xie, Weiyu and Zhang, Boxin and Tang, Jingqi and Wang, Jiahao and Dong, Jianwei and Chen, Shaoyuan and Yuan, Ziwei and Lin, Chen and Qiu, Chengyu and Zhu, Yuening and Ou, Qingliang and Liao, Jiaqi and Chen, Xianglin and Ai, Zhiyuan and Wu, Yongwei and Zhang, Mingxing}, booktitle {Proceedings of the ACM SIGOPS 31st Symposium on Operating Systems Principles}, year {2025} }项目由清华大学 MADSys Lab、Approaching.AI、9#AISoft 及社区贡献者共同开发维护欢迎通过提交 issue 和 pull request 参与贡献。六、进一步阅读按主题整理的核心文档路径均以仓库根目录为起点推理入门kt-kernel/README.md安装/验证/CLI/参数、doc/en/kt-kernel/kt-kernel_intro.md、doc/en/kt-kernel/kt-cli.md原生精度doc/en/kt-kernel/Native-Precision-Tutorial.md专家调度doc/en/kt-kernel/experts-sched-Tutorial.mdAVX2 后端doc/en/kt-kernel/AVX2-Tutorial.mdSFT 微调doc/en/SFT/KTransformers-Fine-Tuning_Cookbook.md首选、doc/en/SFT/KTransformers-Fine-Tuning_Quick-Start.md、doc/en/SFT/KTransformers-Fine-Tuning_User-Guide.md模型教程如 doc/en/kt-kernel/GLM-5.3-Flash-Tutorial.md、doc/en/DeepSeek-V4-Flash.md 等均可从 doc/SUMMARY.md 导航索引历史版本archive/README.md英文、archive/README_ZH.md中文。【免费下载链接】ktransformersA Flexible Framework for Experiencing Heterogeneous LLM Inference/Fine-tune Optimizations项目地址: https://gitcode.com/GitHub_Trending/ktr/ktransformers创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考