llama.cpp 与 FreeToken 的模型卸载对比 llama.cpp 的 gpu-layers 以完整层为静态单位,cpu-moe 把专家权重放在 CPU;FreeToken 对每个层和专家建立动态持久缓存,并按带宽拆分缓存未命中。 三种“放不下”的处理方式,移动单位并不一样 llama.cpp -ngl 以完整层为单位,加载时静态放置 CPU / RAM 第 0~39 层 GPU / VRAM 第 40~63 层 每个 token 仍经过所有层 llama.cpp --cpu-moe 专门把 MoE 专家 tensor 留在 CPU GPU:非专家权重 Attention / Router 等 以及本次 forward 的临时输入 CPU:完整专家 tensor 根据路由处理 selected sub-row 可能搬运或 CPU 计算 官方 master:无跨 step slot 映射 专家缓存已有 RFC / PR,仍在演进 FreeToken hybrid 以 (layer, expert) 为动态单位 GPU:全局 LRU slot hit 跨 token 保留 RAM:完整专家池 miss 的 source of truth Pinned banks + CPU executor q*:部分 fill,部分 CPU 每一步跟随真实路由和带宽 Prefill 另有完整层双缓冲 Dense / Apple Silicon 更偏向 llama.cpp;超显存 MoE 的动态专家工作集是 FreeToken 的主场(截至 2026-08-23)