@techNmak: 运行大型MoE模型最聪明的方式并不是增加更多GPU,而是不再把每个专家都视为值得占用GPU资源……

X AI KOLs Timeline 工具

摘要

KTransformers 是一个优化大型混合专家模型推理和微调的框架,它通过将活跃的专家动态放置在 GPU 上,其余专家保留在 CPU 内存中,使得像 DeepSeek-V3 这样的大型模型能够在有限的消费级 GPU 内存上运行。

运行大型MoE模型最聪明的方式并不是增加更多GPU,而是不再把每个专家都视为值得占用GPU资源。 大型混合专家模型包含数百个被称为专家的专用前馈网络。 但模型并不会对每个词元都用上所有专家。 在KTransformers所展示的架构中,路由器每次只从256个专家中激活8个。 因此,将整个专家池都存放在昂贵的GPU显存中意义不大。 KTransformers根据硬件真正擅长的任务来分配工作: → 注意力层和共享组件留在GPU上 → 庞大的路由专家池放在CPU内存中 → 常用专家可放置在GPU上 → 较冷的专家继续在CPU上运行 → AMX和AVX指令集加速INT4/INT8 CPU推理 → NUMA感知调度减少内存访问开销 CPU不再被视为慢速的溢出容器,而是成为推理引擎的活跃组成部分。 GPU处理算术密集型操作以及那些最受益于快速显存的专家。 CPU提供承载模型长尾专家所需的容量。KTransformers专为异构CPU-GPU推理而设计,支持大型MoE模型的动态专家放置。 这一区别至关重要。 稠密模型几乎每一次词元都需要大部分权重,而混合专家模型只需要一个小的工作集。 所以真正的优化问题不再是: 如何将整个模型塞进GPU? 而是: 模型的哪些部分目前值得占据GPU显存? KTransformers还与SGLang集成用于服务部署,与LLaMA-Factory集成用于在有限GPU显存下微调大型MoE模型。其已知配置包括:在四块RTX 4090上总计约80GB显存微调DeepSeek-V3/R1,以及在一块RTX 4090上运行Qwen3-30B-A3B。 该项目现已获得17K+ GitHub星标,支持的模型包括GLM-5.2、MiniMax-M3、DeepSeek-V4-Flash和Kimi-K2.5。 更宏观的理念: GPU显存不应成为整个模型的住所,而应是模型当前工作集的居所。 GitHub:https://github.com/kvcache-ai/ktransformers…
查看原文
查看缓存全文

缓存时间: 2026/07/12 23:01

一个用于体验前沿LLM推理/微调优化的灵活框架

相似文章

Transformer 中的专家混合模型 (MoEs)

Hugging Face Blog

Hugging Face 的博客文章,介绍 Transformer 中的专家混合模型 (MoEs) 架构,涵盖从密集模型到稀疏模型的转变、权重加载优化、专家并行计算以及基于 MoE 的语言模型训练技术。

多层级MoE缓存

Reddit r/LocalLLaMA

讨论MoE模型的多层级缓存策略,通过将频繁激活的专家保留在GPU上来提升推理速度,参考了PowerInfer和llama.cpp分支等现有实现。

使用 NVIDIA NeMo AutoModel 加速 Transformer 微调

Hugging Face Blog

NVIDIA NeMo AutoModel 利用 HuggingFace Transformers v5,在微调 Mixture-of-Experts 模型时,无需修改代码(只需一个导入),即可实现 3.4 至 3.7 倍的训练吞吐量提升和 29% 至 32% 的 GPU 内存减少。