加州大学伯克利分校和麻省理工学院的研究人员推出了 FreeToken。这是一款开源推理引擎,旨在弥合前沿混合专家(MoE)模型与消费级硬件之间的差距。该项目的共同作者包括 Databricks 联合创始人 Matei Zaharia 和 Ion Stoica,以及 Song Han、Kurt Keutzer 等人。
该项目改变了边缘 AI 的思路:不再把个人计算机视为资源受限的数据中心节点,而是将其作为可弹性调度的异构计算资源。
虽然稀疏 MoE 架构在处理每个 Token 时只计算全部参数中的一小部分,但解码过程仍需在数千亿个未激活权重之间进行路由。在数据中心环境中,NVLink 等高带宽互连可以掩盖专家权重的传输开销。然而,在消费级硬件上,PCIe 吞吐量(通常为 16~64 GB/s)和主机内存延迟会成为严重的解码瓶颈。现有边缘运行时依赖静态专家卸载:未激活的权重驻留在系统内存中,一旦被激活,便会同步传输至 GPU,发生缓存未命中时,整个执行过程都会完全停顿。
为解决这一问题,FreeToken 用一种名为 q* 策略的动态协同调度方案取代了僵化的卸载机制。发生缓存未命中时,FreeToken 不会让 GPU 停止运行,而是根据实时互连吞吐量,在 CPU 核心与 GPU 张量核心之间分配 Token 计算任务。该系统采用快速权重格式(FTW)和整层双缓冲,让通过 PCIe 传输权重的过程与活跃计算层的执行完全重叠。弹性内存管理器还可以在运行期间动态调整 KV 缓存条目与常驻专家槽位之间的显存分配,无需重新加载模型。
现代编程助手和自主智能体会产生独特的执行模式:频繁修改提示词、返回工具调用结果以及生成思考块,都会不断改变上下文窗口。当前缀发生变化时,标准引擎会丢弃线性 KV 缓存,从而触发代价高昂的完整序列重计算。FreeToken 集成了语义锚点检查点机制,在逻辑任务边界缓存中间注意力状态和循环激活值。当智能体修改中间工具参数或插入外部执行结果时,FreeToken 可以复用已有的子序列状态,而不必让提示词缓存整体失效。
FreeToken 概览,来源《FreeToken:通过带宽自适应执行实现高效的边缘原生 MoE 服务》研究论文
这种架构让 FreeToken 与生态系统中的其他运行时形成了明显区别:
-
Ollama 和 llama.cpp**:**针对 GGUF 量化和逐层卸载进行了优化,但无法在主机与设备之间动态分配稀疏专家的负载。在相同的 MoE 模型上,FreeToken 的解码速度快 3~4 倍,预填充速度快 6~30 倍。
-
KTransformers**:**采用静态 CPU/GPU 卸载规则,而 FreeToken 会实时计算每一层的闭式最优分配方案。
根据论文的基准测试部分,FreeToken 在配备 8GB 显存 RTX 4060 的笔记本电脑上运行 Qwen3.6-35B 时,速度约为每秒 39 个 Token;在配备 RTX 5090 的台式机上运行了 DeepSeek-V4-Flash(284B);还在配备单块工作站 GPU 的设备上运行了 GLM-5.2(753B)。用户可以通过 FlashML.ai 和 GitHub 仓库获取其命令行工具和桌面客户端。目前,它支持 Linux 和 Windows 系统上的 NVIDIA RTX 30、40 和 50 系列 GPU。
Hacker News 和 Reddit 的 LocalLLaMA 论坛中的社区反馈表明,人们越来越关注本地硬件自主权,但也在从技术层面审视真实边缘环境中的调度效果。Hacker News 上的工程师指出,将带宽自适应 MoE 服务与价格可承受的消费级内存结合起来,例如使用二手 RTX 3090/4080 GPU 搭配标准 DDR4/DDR5 内存,可以显著降低自行托管前沿推理智能体的门槛,同时避免持续支付云 API 费用。与此同时,LocalLLaMA 的基准测试分析和论文讨论帖引发了深入的技术讨论:理论上的 q* 闭式计算能否准确反映真实环境中的 CPU 调度延迟、内存争用,以及智能体并发运行时不断变化的专家常驻情况。尽管人们仍在争论,将其与经过手工调优的 llama.cpp 配置进行基线比较是否合理,但更广泛的共识已经显现出明确的范式转变:开发者越来越认为,要摆脱专有 API 锁定、将智能体迭代成本降至零,并在自动化编程工作流中保护知识产权隐私,对边缘异构资源进行协同调度至关重要。
原文链接:https://www.infoq.com/news/2026/08/freetoken-local-inference/