How It Actually Works: RAM as the Model's Home, GPU as Cache
FreeToken flips the usual assumption that a model must fully fit in GPU memory. It keeps every weight in system RAM and treats the GPU as a global LRU cache that only holds the 'hot' experts - the mixture-of-experts submodules a given token actually routes through [2]. Because MoE models activate only a small subset of experts per token, most of a 753-billion-parameter model never has to touch the GPU at all in a given forward pass, which is the core trick that makes multi-hundred-billion-parameter inference possible on an 8-96GB card.
The harder engineering problem is hiding the latency of moving experts in and out of that cache. FreeToken benchmarks PCIe and CPU memory bandwidth once on first run, then dynamically splits cache misses between the PCIe transfer path and CPU-side execution in proportion to whichever is actually faster on that specific machine [3]. Prefill and decode are treated as separate bandwidth problems - prefill uses full-layer double-buffered streaming to overlap weight loading with compute, while decode leans on the adaptive LRU cache - and VRAM can be reallocated between the expert cache and the KV cache at runtime without restarting the engine. As one technical walkthrough of the codebase put it, the real bottleneck was never raw compute - it is where and when the expert weights move.


