个人开发者写出3k行Rust大模型推理核心
所以……我现在把它做出来跑通了。用 Rust 写的推理引擎核心大约 3000 行代码,涵盖了调度、kv/swa/循环状态、前缀缓存、多模态、动态批处理这些功能。
然后我让 Codex 实现了这些模型,同时加上 MTP、cudagraphs、Blackwell 上的 TP 支持:
- DeepSeekV4 Flash
- Gemma 3.8 27B
- GPT-OSS
- Inkling
结果发现,要让大多数模型运行起来,用上高效、可图化的持久化内核之类的东西,需要非常多的额外代码。简单模型比如 gpt-oss 大约需要 2500 行,而像 DeepSeekV4 Flash 这种包含 mHC、CSA、HCA 和 DSpark 的庞然大物,最多要 7000 行。
我不确定会不会继续做这个项目,但过程挺有意思的。简单的核心是可复用的,而且启动速度快得惊人——这个推理引擎没有技术债,也不需要处理一大堆动态配置,只需要在 nvfp4 里做一次模型前向传播 :’)
说不定哪天 SGLang/vLLM 也能做成这样模块化。下图是 Inkling-Small TP=1 做了几次 sconv 内核融合后的交互性-吞吐量数据。对了,这还没开重叠调度!当你的核心加调度器本身就很小,而且还是用 Rust 写的时候,其实根本不需要这东西。
本文由 AI 翻译自英文原帖,技术名词保留英文。
查看 X 原帖