今天介绍一款国产的推理加速框架,它让deepseek的推理速度又上一个档次。 它就是由清华大学 MADSys 团队和 Approaching.AI 共同开发一个新项目KTransformers(Quick Transformers),它是一个基于 Python 的框架,专注于提升 Hugging Face Transformers 的使用体验。 它通过先进的内核优化和并行策略,显著提高 LLM 的推理速度。
KTransformers 具有高度的灵活性和可扩展性,允许用户通过简单的代码注入,集成优化的模块,并提供 Transformers 兼容的接口、兼容 OpenAI 和 Ollama 的 RESTful API,以及一个简化的 ChatGPT 风格的 Web UI。
KTransformers 的性能优化基本囊括了目前主流的优化手段,包括:
- 内核优化:通过注入优化的内核(如 Llamafile 和 Marlin),替换 PyTorch 原生模块,从而提高计算效率。这些内核针对特定硬件和数据类型进行了深度优化。
- 量化技术:支持模型量化,将模型权重从高精度浮点数转换为低精度整数,减少模型大小和计算量,同时保持模型性能。
- 并行策略:采用先进的并行策略,将计算任务分配到多个设备并行执行,加速推理过程。
- 稀疏注意力:面对长文本输入,采用稀疏注意力机制,减少计算复杂度,提高推理速度。
- CPU/GPU 卸载:支持将计算任务在 CPU 和 GPU 之间灵活分配,充分利用不同硬件的优势。
- 动态负载均衡:可以根据硬件负载情况动态调整任务分配,实现负载均衡,提高整体性能。
- 注入框架:提供了一个灵活的注入框架,允许用户通过 YAML 配置文件定义优化规则,将指定模块替换为优化版本。
通过这些优化,也换来了不错的应用效果:
- DeepSeek V3/R1:在单张 24GB 显存的 GPU 上,KTransformers 能够以高达 286.55 tokens/s 的速度运行 DeepSeek-Coder-V3/R1 模型,相比 llama.cpp 提升了 27.79 倍。
- InternLM2.5-7B-Chat-1M:KTransformers 支持在 24GB 显存和 150GB 内存的电脑上bf16精度运行 InternLM2.5-7B-Chat-1M 模型,实现 1M 上下文的推理任务。它在 1M “大海捞针” 测试中达到了 92.88%的成功率,在 128K的测试中达到了 100%。
使用方式多样,可以使用封装好的服务,把它当作另一个“ollama”使用,也可以直接集成内核二次开发,感兴趣的朋友可以体验。
github地址:
https://github.com/kvcache-ai/ktransformers
公众号私信“进群”入群讨论。