显存装不下的大模型一旦溢出到内存,速度就会掉到无法使用的程度。FreeToken 正是针对这堵墙,把目标锁定在 MoE 结构上。项目以 Apache 2.0 协议公开,并提供 Windows 与 Linux 的桌面应用。
从 MoE「用不到的权重」入手的推理引擎
FreeToken 是一款专门用于运行 MoE(Mixture-of-Experts,混合专家)模型的推理引擎,由 FlashML 开发,源代码以 Apache License 2.0 发布在 GitHub 上。项目将自身定位为面向边缘端的服务引擎,把 GPU、CPU、主机内存以及它们之间的互连通道视为一个统一且有弹性的推理平台。
MoE 模型的结构决定了每次推理只激活一部分专家。总参数量可以达到数百亿甚至数千亿,但单次推理真正触及的权重要小得多。FreeToken 以此为前提,只把当前需要的专家权重搬进显存,并通过全局 LRU(Least Recently Used,最近最少使用)缓存淘汰一段时间未被使用的权重。
以往的本地推理通常在加载模型时按层把权重静态分配给 GPU 和 CPU。溢出的部分会在此后每一次推理中持续拖慢速度。FreeToken 则在每次推理时重新调整分配,力求在同样的显存容量下提升实际速度。
按带宽决定分工的思路
技术核心是带宽自适应的 CPU 与 GPU 协同执行,论文中称之为 q* 策略。在读取输入的预填充阶段,整层权重以双缓冲方式流式传入,让权重搬运与计算重叠,从而隐藏等待时间。权重本身则采用名为 FTW 的专用高速格式。
内存分配同样不是固定的。专家缓存与 KV 缓存之间的份额可以在运行中调整,无需重启引擎或重新加载权重。上下文变长的场景和频繁切换专家的场景所需的最优配比并不相同,这种可变性因此很有意义。
面向智能体场景的缓存设计
另一根支柱是具备语义感知的缓存。FreeToken 设置了被称为语义锚点的检查点,用于保存循环状态与 KV 缓存。这样一来,工具调用、思考块插入等智能体特有的上下文改动发生时,就不必重新计算整段上下文。
经常运行编程智能体的人都熟悉这种情形:对话中间每插入一段内容,就要再等一轮重新计算。FreeToken 想削掉的正是这部分开销,方向与常见的跑分优化并不相同。
在消费级 RTX 上实测的数据
论文第一作者、加州大学伯克利分校的 Shuo Yang 公布的实测数据显示,在 GeForce RTX 4060 Laptop(8GB)上 Qwen3.6-35B-A3B 达到每秒 39 个 token,在 GeForce RTX 5090(32GB)上 DeepSeek-V4-Flash 284B 为每秒 22 至 25 个 token,在 RTX PRO 6000 Workstation 上 GLM-5.2 753B 为每秒 15 个 token。其中最直观的成果,是 350 亿参数级别的模型能在 8GB 的笔记本显卡上以可对话的速度运行。
他还给出了与 Ollama 的对比:解码快 3 至 4 倍,预填充快 6 至 30 倍。预填充一侧提升更明显,正是前述搬运与计算重叠机制的效果。论文已在 arXiv 上公开,题为 FreeToken: Efficient Edge-Native MoE Serving with Bandwidth-Adaptive Execution,合著者中包括 Kurt Keutzer、Song Han、Matei Zaharia、Ion Stoica 等人。
两种安装方式,API 兼容现有智能体
安装途径有 2 种。一是从官方网站下载的桌面应用,支持 Windows 和 Linux,它会代为完成引擎配置,并通过图形界面提供模型运行、聊天和参数调整。二是命令行方式,使用 uv 或 pip 安装 freetoken[accel],也支持从源码构建。
uv pip install "freetoken[accel]"
支持的模型包括 DeepSeek-V4-Flash、Qwen3.6-35B-A3B、GLM-5.2 等开放权重 MoE 模型,量化格式覆盖 MXFP4、NVFP4、FP8 与 BF16。显卡方面原生面向 NVIDIA 的 RTX 30、RTX 40 和 RTX 50 系列。API 同时兼容 Anthropic 与 OpenAI 两种格式,Codex、Claude Code、OpenCode、OpenClaw、DeepSeek Harness 等编程智能体可以直接接入。这种兼容性的用意,是让本地机器直接成为智能体的运行环境。
另外,该 GitHub 仓库在公开不久后已获得超过 4,300 个星标和 391 次分叉。关注度确实很高,但它仍是一个尚有未解决 Issue 的新项目,这一点需要留意。
总结
FreeToken 抓住 MoE 模型「每次只用到一小部分权重」的特性,试图让显存有限的机器也能以可用速度运行大模型。它把按带宽划分 CPU 与 GPU 分工、基于 LRU 的专家换入换出、专家缓存与 KV 缓存的运行时再分配,以及适应智能体上下文改动的缓存设计组合在一起。350 亿参数级模型在 8GB 笔记本显卡上跑出每秒 39 个 token,或许会稍稍改变人们对本地大模型的既有认知。
