实际工作原理:内存是模型的家,GPU只是缓存
FreeToken颠覆了传统假设——即模型必须完全装入GPU内存。它将所有权重保留在系统RAM中,而将GPU视为全局LRU缓存,仅保存当前token所路由经过的“热点”专家模块[2]。由于MoE模型每个token只激活一小部分专家模块,因此在一次前向传播过程中,7530亿参数模型的大部分根本无需加载到GPU上,这正是实现数百亿乃至千亿级参数模型在8–96GB显存卡上推理的核心技巧。
更难的工程问题是隐藏专家模块进出缓存所带来的延迟。FreeToken在首次运行时对PCIe和CPU内存带宽进行一次基准测试,然后根据特定机器的实际性能动态分配缓存未命中任务——在PCIe传输路径和CPU侧执行之间按实际更快的一方比例拆分[3]。预填充(prefill)和解码(decode)被视为两个独立的带宽问题:预填充使用全层双缓冲流式处理来重叠权重加载与计算过程,而解码则依赖自适应LRU缓存;此外,VRAM可在专家缓存和KV缓存之间于运行时重新分配,无需重启引擎。正如一段对该代码库的技术解析所指出的那样,真正的瓶颈从来不是原始算力,而是专家权重何时、何地移动。


