FreeToken:单卡工作站运行753B大模型的边缘原生MoE推理引擎
Meet FreeToken: An Edge-Native MoE Serving Engine that Runs 753B GLM-5.2 on a Single Workstation GPU
本地部署超大模型是开发者刚需,FreeToken 提供了完整的工程实现与量化数据,直接解决了单卡跑 MoE 的痛点,值得收藏压测。
Frontier open-weight models are shipping faster than the hardware assumptions around them. Kimi-K3, GLM-5.2 and DeepSeek-V4-Flash are closing the capability gap with proprietary systems, but releasing parameters only determines who can obtain a model — not who can afford to run it. Serving them still assumes datacenter-class GPU clusters, and as agentic workloads push inference demand up, that cost lands hardest on individual developers and small teams. Meanwhile, more than a hundred million consumer machines already carry discrete GPUs. A team of researchers from UC Berkeley and UT Austin propose FreeToken. The research team argued the missing piece is not hardware but a serving system: it treats a personal machine as a unified, elastic inference platform rather than a small GPU, and continuously maps computation and model state onto whatever GPU, CPU, memory and interconnect bandwidth the machine actually has. The result is a 35B model at interactive speed on an 8 GB laptop GPU, 284B on a gaming desktop, and the 753B GLM-5.2 on a single workstation card.
前沿开源权重模型的发布速度超过了围绕它们的硬件假设。Kimi-K3、GLM-5.2 和 DeepSeek-V4-Flash 正在缩小与专有系统的能力差距,但仅发布参数只能决定谁能获得模型——而不能决定谁负担得起运行它的成本。部署这些模型仍然需要数据中心级的 GPU 集群,随着智能体工作负载推高推理需求,这种成本对个体开发者和小型团队打击最大。与此同时,超过一亿台消费级设备已配备独立显卡。来自加州大学伯克利分校和德克萨斯大学奥斯汀分校的研究团队提出了 FreeToken。研究团队认为,缺失的环节不是硬件,而是服务系统:它将个人机器视为统一的弹性推理平台,而非一块小显卡,并持续将计算和模型状态映射到机器实际拥有的任何 GPU、CPU、内存和互连带宽上。结果是在 8 GB 笔记本显卡上以交互速度运行 35B 模型,在台式游戏机上运行 284B 模型,以及在单张工作站显卡上运行 753B 的 GLM-5.2。
Is it deployable?
它是否可部署?
Yes, FreeToken is Apache-2.0 on GitHub, published on PyPI as freetoken v0.1.2 (uv pip install "freetoken[accel]"), and shipped as a one-click desktop app for Windows and Linux at flashml.ai. The CLI targets Linux x86_64 with an NVIDIA GPU on driver r580+ (CUDA 13). ft serve exposes OpenAI- and Anthropic-compatible endpoints on port 1919, and ft launch claude wires up Claude Code, Codex, OpenCode or OpenClaw against your own box.
是的,FreeToken 在 GitHub 上采用 Apache-2.0 许可证,在 PyPI 上发布为 freetoken v0.1.2(uv pip install "freetoken[accel]"),并以一键式桌面应用形式提供 Windows 和 Linux 版本,下载地址为 flashml.ai。CLI 针对带有 NVIDIA GPU(驱动版本 r580+,CUDA 13)的 Linux x86_64 系统。ft serve 在端口 1919 上暴露兼容 OpenAI 和 Anthropic 的端点,而 ft launch claude 则将 Claude Code、Codex、OpenCode 或 OpenClaw 连接到您自己的机器。
Who it fits: solo developers, startups and SMB engineering teams whose agent token bills already exceed the cost of a GPU they own; enterprises should treat it as an air-gapped or regulated-workload path, not a datacenter replacement. Strongest industry fit: healthcare and legal (data never leaves the machine), defense, finance, and IP-heavy R&D. Typical applications: local coding agents, private code review, offline contract analysis, synthetic-data generation, batch evals.
适用人群:个人开发者、初创公司和中小企业工程团队,其智能体令牌账单已超过他们拥有的 GPU 的成本;企业应将其视为隔离环境或受监管工作负载的路径,而非数据中心替代品。行业契合度最强:医疗和法律(数据永不离开机器)、国防、金融以及知识产权密集型的研发。典型应用:本地编码智能体、私有代码审查、离线合同分析、合成数据生成、批量评估。
The gap it targets
它瞄准的差距
Mixture-of-Experts makes local frontier inference arithmetically feasible. DeepSeek-V4-Flash activates 6 of 256 routed experts in each of 43 layers, so only 13B of its 284B parameters participate in any single token. Sparsity does not shrink the expert pool, though — at FP4 the full set is roughly 140 GB, so inactive experts sit in host memory and enter the execution path on demand.
混合专家(MoE)架构使本地前沿推理在算术上成为可能。DeepSeek-V4-Flash 在 43 层中的每一层激活 256 个路由专家中的 6 个,因此其 284B 参数中只有 13B 参与单个 token 的处理。然而,稀疏性并没有缩小专家池——在 FP4 精度下,完整集合约为 140 GB,因此未激活的专家驻留在主机内存中,并按需进入执行路径。
The research team isolates three failure modes in existing engines (llama.cpp, KTransformers, Ollama, MoE-Infinity):
研究团队在现有引擎(llama.cpp、KTransformers、Ollama、MoE-Infinity)中隔离出三种故障模式:
- Prefill destroys sparsity: Thousands of tokens per layer route to nearly the whole expert set, so a prefill pass streams the entire pool across PCIe — about two seconds on an RTX 5090, five on PCIe 4.0 desktops, ten or more on the x8 links common in laptops.
- Static placement misses decode traffic: llama.cpp assigns MoE tensors at load time; KTransformers pins a “hot” subset. Routing shifts every token, so most expert evaluations fall to the CPU while the GPU and the PCIe link sit idle.
- Consumer CPUs cannot carry the remainder: Dual-channel DDR5 delivers 80–90 GB/s against the 1–1.8 TB/s an RTX 4090 or 5090 draws from on-package memory.
- 预填充破坏稀疏性:每层有数千个 token 路由到几乎整个专家集,因此一次预填充传递会通过 PCIe 流式传输整个池——在 RTX 5090 上约需两秒,在 PCIe 4.0 台式机上需五秒,在笔记本电脑常见的 x8 链路上则需要十秒或更久。
- 静态放置遗漏了解码流量:llama.cpp 在加载时分配 MoE 张量;KTransformers 固定一个“热”子集。路由随每个 token 变化,导致大多数专家评估落在 CPU 上,而 GPU 和 PCIe 链路处于空闲状态。
- 消费级 CPU 无法承载剩余负载:双通道 DDR5 提供 80–90 GB/s 的带宽,而 RTX 4090 或 5090 从片上内存中汲取的带宽为 1–1.8 TB/s。
Three mechanisms
三种机制
- Bandwidth-adaptive execution (the q* policy): Because DMA transfers and CPU expert execution read from the same host-memory subsystem, a saturated PCIe link leaves a residual bandwidth of B_H − B_P. FreeToken splits each step’s m cache misses accordingly: q* ≈ m × B_P / B_H experts are filled into the GPU cache, the rest are computed in place on the CPU, and the two partial sums merge exactly — no approximation, no router modification. Both bandwidths are profiled on the deployed machine (ft bench bw), which matters: measured B_P:B_H is 52.7:77.3 on an RTX 5090 server but 11.8:47.5 on a 4060 laptop.
- Semantic-aware caching: During prefill, full-layer double buffering streams layer l+1 while the GPU computes layer l. Recurrent-state checkpoints are anchored at special-token boundaries — thinking blocks, tool calls, tool outputs — precisely where agent harnesses truncate context, so an edit re-prefills only the new suffix. During decode, a shared LRU expert cache spanning all MoE layers follows the router instead of a placement frozen at load time.
- Elastic memory management: At scheduler safe points the GPU expert cache is rebuilt under a revised VRAM budget without restarting the engine or reloading the host pool. Experts are read from disk straight into their final host layout, then pinned; no GPU warmup is required because the first request is served with a cold cache.
- 带宽自适应执行(q* 策略):由于 DMA 传输和 CPU 专家执行都读取自同一主机内存子系统,饱和的 PCIe 链路会留下 B_H − B_P 的剩余带宽。FreeToken 相应地将每一步的 m 次缓存未命中进行拆分:q* ≈ m × B_P / B_H 个专家被填入 GPU 缓存,其余在 CPU 上就地计算,两个部分和精确合并——无需近似,无需修改路由器。两种带宽均在部署机器上进行分析(ft bench bw),这一点很重要:在 RTX 5090 服务器上测得的 B_P:B_H 为 52.7:77.3,而在 4060 笔记本上则为 11.8:47.5。
- 语义感知缓存:在预填充期间,全层双缓冲在 GPU 计算第 l 层的同时流式传输第 l+1 层。循环状态检查点锚定在特殊 token 边界处——思考块、工具调用、工具输出——这正是智能体框架截断上下文的位置,因此编辑仅重新预填充新的后缀。在解码期间,跨越所有 MoE 层的共享 LRU 专家缓存遵循路由器的决策,而非加载时固定的放置策略。
- 弹性内存管理:在调度器安全点,GPU 专家缓存会在修订后的 VRAM 预算下重建,无需重启引擎或重新加载主机池。专家直接从磁盘读取至其最终的主机布局,然后固定;无需 GPU 预热,因为第一个请求使用冷缓存即可服务。
Results
结果
On an RTX 5090, FreeToken sustains 77–83 tok/s on Qwen3.6-35B-A3B (BF16) and 22–25 tok/s on DeepSeek-V4-Flash (MXFP4) — 1.5–2.3× the strongest baseline, with decode staying within 12% of the single-turn rate across three agentic workloads. Worst-case TTFT stays below 44 s in every cell; llama.cpp hits 232 s, Ollama 179 s and KTransformers 946 s somewhere in the matrix, past the point where agent clients time out.
在 RTX 5090 上,FreeToken 在 Qwen3.6-35B-A3B (BF16) 上保持 77–83 tok/s 的吞吐量,在 DeepSeek-V4-Flash (MXFP4) 上为 22–25 tok/s —— 是最强基线的 1.5–2.3 倍,且在三种智能体工作负载下,解码速度保持在单轮速率的 12% 以内。最坏情况下的首 token 延迟(TTFT)在所有测试单元格中均低于 44 秒;而 llama.cpp、Ollama 和 KTransformers 在某些情况下分别高达 232 秒、179 秒和 946 秒,已超出智能体客户端的超时阈值。
At equal cache capacity (37% of the Qwen3.6 pool), the global LRU misses 16% of decode-time expert reads against 41% for KTransformers and 62% for llama.cpp. On an 8 GB RTX 4060 laptop the NVFP4 build serves 35B at 39.3 tok/s — above the 33 tok/s median decode speed measured for Codex in production traces. On a single RTX PRO 6000, GLM-5.2 (753B, 40B active) runs at 14.9 tok/s versus llama.cpp’s 7.3.
在同等缓存容量(占 Qwen3.6 池的 37%)下,全局 LRU 策略在解码时专家读取的未命中率仅为 16%,而 KTransformers 为 41%,llama.cpp 为 62%。在配备 8 GB 显存的 RTX 4060 笔记本上,NVFP4 构建版本以 39.3 tok/s 的速度服务 35B 模型 —— 高于在生产追踪数据中测得的 Codex 33 tok/s 的中位解码速度。在单张 RTX PRO 6000 上,GLM-5.2 (753B, 40B 激活参数) 的运行速度为 14.9 tok/s,而 llama.cpp 仅为 7.3 tok/s。
Data Check
数据核查
Reality Check · FlashML FreeToken INFLATION SCORE 59/100
现实核查 · FlashML FreeToken 通胀评分 59/100
As of Aug 23, 2026 · default mode · audited: arXiv:2608.16157, GitHub repo, flashml.ai
截至 2026 年 8 月 23 日 · 默认模式 · 审计来源:arXiv:2608.16157、GitHub 仓库、flashml.ai
3Verified
3 已验证
9Self-rep.
9 自我报告
4Misleading
4 具有误导性
0Contradicted
0 被证伪
0Not found
0 未找到
Score formula: 8 × misleading + 15 × contradicted + 3 × self-reported, capped at 100. The score is driven by the self-reported column, not by dishonesty — the code went public six days before this audit, so no independent reproduction exists yet.
评分公式:8 × 误导性 + 15 × 被证伪 + 3 × 自我报告,上限为 100 分。该分数主要由自我报告列驱动,而非由不诚实行为导致 —— 代码在本审计发布前六天已公开,因此目前尚无独立复现结果。
Claim table · 16 claims
声明表 · 共 16 项声明
更进一步:量化金融体系
看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力