Edge0 是一个专为 Apple Silicon(M1/M2/M3/M4)深度优化的开源流式 MoE(Mixture of Experts)大模型推理框架。它解决了当前 MoE 模型在消费级硬件上“参数多、显存炸、加载慢、吞吐低”的核心矛盾,首次将 35B 参数量、256 专家的稀疏模型压缩至仅需 2.9GB 运行内存,并在 macOS 上实现免合并、免重训、开箱即用的端到端推理体验。普通开发者无需 GPU 服务器,一台 MacBook Pro 就能跑起接近 Llama-3.1-405B 稀疏结构能力的模型。
核心功能
- SSD 专家按需加载:不再把全部 256 个专家权重一次性载入内存,而是根据路由预测结果,实时从 SSD 流式读取当前需要的专家参数——大幅降低峰值内存占用,让 35B-MoE 在 16GB 内存 Mac 上稳定运行。
- 预路由(Prerouter)预测加速:内置一个轻量级训练好的“路由预测头”,提前 1 步预测下一个 token 将激活哪些专家,使专家加载与前向计算并行执行,实测提升解码吞吐达 +59%,尤其受益于苹果设备较慢的 NVMe 延迟。
- Recover-LoRA 量化恢复技术:在冻结的 4-bit 量化基座上,通过知识蒸馏训练 LoRA 适配器,精准补偿量化带来的精度损失;用户无需重新微调全模型,即可获得接近 FP16 的生成质量。
- 模型+适配器一体化部署:每个 Hugging Face 模型仓库(如
Edge0/Edge0-35B-A3B-preview)已打包包含基座权重、LoRA 适配器、Prerouter 头三类文件,edge0 serve edge0-35b一行命令即可启动完整推理流水线,零配置、零合并、零手动加载。 - 后端抽象隔离设计:核心逻辑完全与硬件解耦,MLX 后端代码仅存在于
edge0/backends/mlx/目录;未来 CUDA 支持只需新建backends/cuda/并实现统一接口,不修改任何业务层代码。 - Safetensors 安全适配器管理:所有 LoRA 和 Prerouter 权重均以
.safetensors格式存储,并嵌入来源、版本、作用层等元数据,杜绝误加载风险,支持同一基座模型热切换多套专家策略。 - 短上下文极致内存控制:官方实测
edge0-35b在 512 token 上下文下峰值内存仅 2.9GB(含 tokenizer 和 KV cache),远低于同类 MoE 推理方案(如 vLLM + MoE 通常需 8GB+)。 - 双档开箱模型即服务:提供
edge0-35b(Qwen3.5-MoE 衍生,40 层/256 专家/K=4)和edge0-8b(Ling 3.0 混合架构,24 层/128 专家/K=8)两个生产就绪模型,分别面向高精度任务与边缘设备低延迟场景。
技术亮点
- 流式 MoE 架构范式创新:不同于传统 MoE 推理中“先路由→再加载→再计算”的串行阻塞流程,Edge0 首次将 SSD I/O、专家加载、Prerouter 预测、Transformer 前向计算四者深度流水线化,形成“预测-加载-计算-缓存”闭环,真正实现专家权重的“用时加载、用完释放”。
- MLX 为先的 Apple Silicon 原生栈:深度绑定 MLX 0.30.6(非 PyTorch/Triton),利用 Metal 加速张量运算,并针对 Apple A18/A18 Pro 芯片修复了早期 MLX 版本导致的乱码输出问题,确保 macOS 全系设备兼容性。
- 冻结基座 + 动态适配器组合:基座模型(
model.safetensors)设为只读,LoRA 与 Prerouter 作为独立.safetensors文件存放于同一目录;升级策略只需替换适配器文件,无需重复下载 GB 级基座,节省磁盘空间与带宽。 - transformers 风格 API 无缝迁移:支持
AutoModel.from_pretrained()、AutoEngine等熟悉接口,开发者可沿用 Hugging Face 生态习惯,快速集成到现有 LangChain / LlamaIndex 工程中。 - 面向真实存储瓶颈的设计哲学:所有优化(Prerouter 预测、SSD 流式加载、K=4/K=8 路由宽度选择)均围绕“消费级 SSD 延迟 > GPU 显存带宽”这一现实约束展开,拒绝纸上谈兵的理论加速比。
适合哪些人用
Edge0 不是给算法研究员调参用的框架,而是为一线应用开发者、本地 AI 产品工程师、Mac 生态内容创作者打造的生产力工具:
- 场景一:MacBook 开发者搭建私有智能助手——前端 Electron 应用调用
edge0 serve --port 8000启动本地 API,无需申请云 API 密钥,聊天记录完全不出本地,且响应速度媲美云端小模型。 - 场景二:教育机构部署轻量 MoE 教学平台——在 M1 iMac 机房批量运行
edge0-8b实例,支撑 20+ 学生并发提问编程题,单机成本不足云服务的 1/10,且无 Token 限制与审计风险。
快速上手
仅需三步,在 macOS Sonoma/Ventura 上完成部署:
- 创建环境(推荐 Python 3.12):
python3.12 -m venv .venv && source .venv/bin/pip install -e '.[dev,fetch]' - 一键下载模型(自动识别并加载适配器):
edge0 fetch Edge0/Edge0-35B-A3B-preview或直接运行:edge0 serve edge0-35b - 发起请求(标准 OpenAI 兼容 API):
curl -X POST http://localhost:8000/v1/chat/completions \\
-H "Content-Type: application/json" \\
-d '{"model":"edge0-35b","messages":[{"role":"user","content":"你好"}]}'
同类对比 / 注意事项
- vs vLLM + MoE 插件:vLLM 依赖 CUDA,无法在 Mac 运行;其 MoE 支持仍处于实验阶段,不支持 SSD 专家卸载,35B-MoE 内存占用超 12GB;Edge0 则专为 Apple Silicon 设计,内存控制精准到 MB 级。
- vs llama.cpp + MoE 分支:llama.cpp 侧重 GGUF 量化通用性,但 MoE 路由逻辑硬编码、无法动态加载专家,也不支持 Prerouter 预测加速;Edge0 将路由决策完全模块化、可训练、可替换。
- 重要提醒:当前仅支持 macOS + Apple Silicon,Windows/Linux 用户需等待 CUDA 后端(官方明确列入 roadmap);首次运行若出现中文乱码,请强制升级 MLX:
pip install 'mlx==0.30.6' 'mlx-metal==0.30.6';edge0-35b模型需约 23GB 磁盘空间(SSD 推荐),但运行时不占内存。
项目信息
1.1k
Stars
93
Forks
Python
Apache-2.0
Python | 1117 ⭐ | Apache-2.0 开源协议 | GitHub 项目地址
如果你正苦于在 Mac 上跑不动 MoE 模型,又不愿为云 API 付费或妥协于小模型能力,Edge0 就是你等了三年的那把钥匙——它不追求“支持所有硬件”,而是把 Apple Silicon 的每一分算力、每一寸 SSD 带宽,都榨干到极致。



