Swiftlet: Runtime pro spouštění 80B Qwen v 4,3 GB RAM na Macu a 35B na iPhonu
Swiftlet je Swift a Metal runtime umožňující spuštění velkých Qwen modelů na Apple zařízeních s limitovanou pamětí. Systém streamuje váhy jednotlivých expertů z disku na vyžádání a udržuje v paměti pouze husté jádro modelu, čímž dosahuje spuštění 80B modelu s 4,3 GB RAM na Macu a 35B modelu na iPhonu.
Jak je možné spustit 80miliardový jazykový model na běžném Macu?
Swiftlet používá techniku streamování vah jednotlivých expertů z disku na vyžádání. V operační paměti zůstává pouze menší husté jádro modelu (asi 2,5 GB), zatímco těžké experti se načítají z pevného disku podle potřeby. Díky vysoké sparsitě modelů Qwen se na jeden token aktivuje pouze asi 3 miliard z 80 miliard parametrů.
Jaký je rozdíl mezi spuštěním na Macu a na iPhonu?
Na Macu (se Apple Silicon) běží 35B model s 2,6 GB RAM a generuje 7–11 tokenů za sekundu, zatímco 80B verze potřebuje 4,3 GB RAM a dosahuje 4,5–5 tokenů za sekundu. Na iPhonu se 35B model spouští s 2,5 GB RAM v řádu 1 tokenu za sekundu, je však vhodný pro interaktivní konverzaci.
Jaká je role modelu Mixture-of-Experts v Swiftletu?
Swiftlet se zaměřuje na Qwen modely, které používají MoE architekturu. Každá vrstva směruje tokeny do malého podmnožství expertů z velkého fondu (např. 10 z 512 expertů u 80B verze). To znamená, že pouze malá část parametrů je aktivní na token, což umožňuje efficient spuštění na zařízeních s omezenou pamětí.
Jak se Swiftlet liší od jiných řešení pro spuštění LLM na Apple zařízeních?
Swiftlet je napsán v Swiftu a Metalu s runtime kompilací shaderů, takže nevyžaduje toolchain Metalu v čase kompilace a stejný kód běží na iOS i macOS. Používá optimalizované mechanismy cachování expertů a fixed-stride packing na SSD, které minimalizují režii I/O operací.
- Qwen 3.8 27B je vynikající, ale ve výchozím nastavení o věcech divoce přemýšlí. — simonwillison.net 75 % shoda
- LFM2.5-2.6B malý a dostatečně chytrý AI lokální model — liquid.ai 74 % shoda
- DeepSeek V4 Flash na jednom procesoru AMD MI300X — github.com 74 % shoda
- Swiftlet
- Qwen3-Next-80B
- Qwen3.6-35B
- Swift
- Metal
- MLX3
- Hugging Face12
- Priv AI
- ANEMLL