Helldez/BigMoeOnEdge

Run MoE models bigger than your RAM. Frontier-size MoE on a 12 GB phone, lossless, on stock llama.cpp

它解决了什么

BigMoeOnEdge 允许用户在 RAM 非常有限的设备上运行大型混合专家(MoE)模型,例如智能手机或仅使用 CPU 的 PC。它解决了当模型大于可用系统内存时,通常会因操作系统分页/交换而崩溃或运行极慢的问题。通过将闪存视为内存层级的一部分,它能够在不损失输出质量的情况下执行比设备 RAM 大数倍的模型。

它如何工作

该引擎构建在 llama.cpp 公共 API 之上,并采用流式方式进行权重管理。它不会将整个模型加载到 RAM,而是仅保留必要的非专家权重常驻,并在生成每个 token 时,直接从闪存读取该 token 所需的特定“专家”。

关键技术机制包括:

  • 专家缓存:将常用专家保留在 RAM 中,以减少存储读取。
  • 并行 I/O 通道:同时读取多个专家切片,以充分利用闪存带宽。
  • 直接 I/O:绕过操作系统页缓存,以避免冗余内存占用。
  • I/O 与计算重叠:在当前层仍在计算时,预取下一层所需的权重。
  • 行收集表:以有界窗口从闪存流式传输密集表(如 token 嵌入),而不是完整加载。

适用对象

希望在边缘设备(Android 手机、笔记本电脑)上运行最先进的大型 MoE 模型(如 DeepSeek V4 Flash 或 Qwen 系列),而无需高端 GPU 或大量 RAM 的开发者和爱好者。

亮点

  • 不依赖 RAM 的执行:在 RAM 低至 12 GB 的设备上运行模型(例如 284B 参数模型)。
  • 无损流式传输:输出与将模型完全常驻内存运行时逐字节相同。
  • 广泛兼容性:支持 llama.cpp 支持的所有量化格式、分词器和聊天模板。
  • NPU 加速:可选的 Snapdragon Hexagon NPU 预填充加速。
  • 决策模式:专用的 --decide 模式,通过单次预填充回答多选题,绕过缓慢的逐 token 解码。
  • 多分片支持:原生读取多分片 GGUF 文件,无需合并步骤。

相关

  • 项目
  • Dispatch
  • 项目
  • 项目
  • 项目