跳到正文
IFAI

开源项目

Edge0:把 SSD 当内存用,35B 大模型只占 2.5GB 内存

首次发布 传播指数 48

Edge0 开源流式 MoE 推理框架,通过直接从 SSD 按需加载专家权重,让 35B 稀疏模型仅需约 2.5GB 活跃内存即可在 iPhone、Mac 等设备上运行。它借助提前预测路由掩盖读取延迟,让低内存设备也能顺畅跑大模型。

Edge0:把 SSD 当内存用,35B 大模型只占 2.5GB 内存
图:github.com

Edge0 是一个开源的流式 MoE(混合专家模型)推理框架。它的核心目标很明确:打破设备内存墙,把高速固态硬盘当作内存来使,让你在消费级设备上只花约 2.5GB 活跃内存,就能跑起 35B 参数规模的 MoE 大模型。

目前这个项目已经支持 Mac、iPhone、Android 和 Windows。它随框架提供了两个现成模型梯队,分别是基于 Qwen3.6-35B-A3B 的 35B 版本,以及基于 Ling 3.0 bailing 架构的 8B 版本。

它是怎么做到的

传统的本地推理必须把整套模型权重一股脑载入内存。但 MoE 模型的特点在于「稀疏激活」,比如 350 亿总参数的模型,每次推理其实只调用其中约 30 亿参数的专家。

Edge0 采用按需流式读取。它把专家权重放在固态硬盘上用 mmap 映射,只有被点名干活的专家才会被调入活跃内存。因此,峰值内存占用只取决于当前激活了几个专家,而不是总参数量。

硬盘读取速度再快也有延迟,如果等算到那一步再去读,推理就会严重卡顿。Edge0 的解法是加了一个经过训练的 Prerouter 前置路由头,提前一步预测下一个词会调用哪些专家,让权重加载和当前计算同时进行,解码吞吐最多提升了 59%。

为了兼顾体积和效果,它的权重压到了 INT4,35B 模型的磁盘占用约为 23GB。为了救回量化损失,它挂载了通过蒸馏训练的 Recover-LoRA。根据官方在 OpenCompass 上的基准测试,35B 版本的平均分只比原版 FP16 掉了 3.9 分,MMLU-Pro 测试甚至略高于基线。

硬件规格与速度

在配置为 24GB 内存的 M4 Pro Mac mini 上,edge0-35b 的解码速度达到了每秒 14.9 到 17.7 个 token,推理时的 MLX 内存分配峰值仅为 2.9GB 左右。

如果是更小的 8B 模型,磁盘占用只有 4.2GB,解码速度能跑到每秒 23.9 到 25.3 个 token,内存峰值更是低至 1.0GB。

在平台支持上,Edge0 在 GitHub 仓库中同时放出了四套原生引擎:macOS 的 Rust 客户端、iOS 的 Swift 引擎、Android 的 Kotlin 原生引擎,以及 Windows 平台基于 C++ 和 Vulkan 的实现。统一的多端接入层预计在 2026 年第四季度推出。

需要注意的是,目前 Python 框架基于 MLX,仅支持配备 Apple Silicon 的 Mac 设备,运行环境推荐 Python 3.12。

怎么跑起来

代码已在 GitHub 开源,模型权重和训练好的适配器也已经打包上传到了 Hugging Face 和 ModelScope。

在 Mac 上体验非常简单。克隆仓库后配置好 Python 虚拟环境,安装依赖包,接着运行脚本下载对应的模型目录。每个模型目录下都会自带基础权重、LoRA 文件和前置路由权重。

下载完成后,在终端执行 edge0 demo edge0-35b 即可直接体验终端对话。如果想把它当作本地后端,运行 edge0 serve 就能启动兼容 OpenAI 规范的本地 API 接口。

为什么重要

以往在个人电脑或手机上跑大模型,最大的拦路虎就是内存容量。苹果的高统一内存机型售价不菲,普通手机更是只有微薄的 RAM 可用。Edge0 这套方案证明了一件事:靠聪明的预判算法,完全可以拿便宜的固态硬盘空间来顶替昂贵的运行内存。

对于想在本地低成本部署高智商模型的个人开发者和玩家来说,它非常值得立刻一试。不过也要明白它的边界,频繁从固态硬盘读写对存储性能有要求,而且长文本下 KV 缓存的增长依然会消耗内存。但不管怎么说,它为端侧大模型落地推开了一扇极其务实的新大门。

来源 (1)

  1. [1]
    github.com(在新标签页打开)原文github.com

每日 AI 内容精选