多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Edge0 vs Ollama:端侧大模型的两种打开方式

Edge0 vs Ollama:端侧大模型的两种打开方式 Edge0 vs Ollama端侧大模型的两种打开方式【免费下载链接】Edge0-35B-A3B-preview项目地址: https://ai.gitcode.com/hf_mirrors/Edge0/Edge0-35B-A3B-preview当本地跑大模型从极客玩具变成刚需Ollama 早已是大多数人的默认答案——一条命令拉取模型、一行代码接入应用把 llama.cpp 的底层细节全部藏好。但过去一年里内存成了真正的天花板模型越大整权加载所需的内存越高8GB 笔记本只能在小模型圈子里打转35B 级别模型几乎与端侧无缘。Edge0 的出现打破了这条铁律它以 3 GiB 峰值内存跑通 35B 稀疏 MoE靠的不是更激进的量化而是把模型驻留内存这一假设本身推翻。两条路线两种哲学本文结合仓库源码与社区实测数据拆解它们的取舍逻辑与适用边界。分岔点整权加载与流式专家卸载Ollama 的路线可以用一句话概括把模型完整放进内存再开始推理。它基于 llama.cpp 的 GGUF 格式通过 mmap 将量化后的权重整体映射进内存空间推理过程中所有层、所有参数都常驻。内存需求因此与模型权重大小直接挂钩一个 7B 模型 Q4 量化后约 4-5GB官方建议的内存基线是 8GB 起步35B 级别的 Q4 权重接近 20GB24GB 内存几乎是硬性门槛。这套模型简单、可预期代价是内存与模型规模之间毫无回旋余地。Edge0 则完全不同。它的核心前提来自 MoE 架构的稀疏性一个 35B 模型其实由 256 个专家组成而每个 token 只激活其中极少数。仓库的 config.json 给出了这一架构的原始证据——num_experts: 256、num_experts_per_tok仅为个位数40 层结构里每个 token 实际算到的参数远小于总参数。Edge0 正是把没有被路由到的专家从内存中解放出来专家权重按需从存储流式加载只把当前激活的专家放进 RAM峰值内存由活跃集而非参数总量决定。这一思路落到工程上需要三根支柱README.md 的机制描述与仓库文件一一对应SSD 专家卸载SSD expert offload全部 4-bit 检查点驻留存储专家按路由结果按需取用。仓库 model.safetensors.index.json 记录的量化权重总大小约 20.4GB全部留在 SSD 上无需一次性载入内存。Prerouter 路由预判一个训练好的头部提前一步预测专家路由让读盘与前向计算重叠执行而不是让推理干等 I/O。官方数据称解码吞吐最高提升 59%且随存储延迟、模型规模、路由宽度 K 的增大而获益更多。仓库中 prerouter_edge0_35b.safetensors约 138MB就是这层适配器的实体。Recover-LoRA 精度恢复int4 基座冻结LoRA 适配器通过蒸馏训练补回量化损失让 4-bit 模型相对 fp16 基座的平均分差控制在 3.9 分。适配器不合并进基座一份只读基座可以服务多套适配器。lora_edge0_35b.safetensors约 42MB即为此而生。维度Ollama整权加载Edge0流式专家卸载加载哲学权重整体驻留内存只驻留被激活的专家内存需求≈ 权重大小 KV cache≈ 活跃权重集 KV cache对存储的要求低加载一次即可高NVMe SSD 为准35B 级模型需 24GB 内存峰值约 3 GiB两者不是同一问题的两种答案而是对内存这一稀缺资源截然不同的定价方式。内存门槛从 8GB 到 3GB 的数字账把数字摆到桌面上差异一目了然。社区在 Mac mini M4 Pro 上的实测与官方模型卡数据相互印证配置权重/存储占用实测峰值内存解码速度Ollama 7B/8BQ44-5GB8GB 内存起步官方基线视硬件而定Ollama 35BQ4≈ 20GB24GB 内存内存带宽决定Edge0-8b-a1b4.2GB约 1.0 GiB较 35B 快约 1.5 倍Edge0-35b-a3b20.4GB2.9 GiBM4 Pro 24GB 实测14.9-17.7 tok/s也就是说Ollama 用8GB 内存能触碰的上限是 7B 级模型Edge0 用3GB 内存触碰的是 35B 级模型而它的轻量档 edge0-8b 峰值内存只有 1.0 GiB——这个量级意味着手机、平板这类设备的统一内存也可以轻松承接。社区实测中Edge0 在 iPhone 上实现了 35B 级模型端侧推理6.4 tok/s 的解码速度、峰值约 4GB 的内存占用把35B 进手机从噱头变成了可复现的数字。当然这份内存账不是免费午餐它的前置条件是苛刻的必须拥有 NVMe SSD。专家按需读盘吞吐能力直接决定推理能否跟上节奏。社区实测与方案分析都明确指出SATA SSD 或机械硬盘不适用——存储延迟会淹没路由预判带来的收益。共享层与 Router 必须常驻内存。embedding、注意力、shared expert、router 等所有 token 都会经过的部分逃不出活跃集它们构成了 3 GiB 的下限来源。仓库 model.safetensors.index.json 中可见每个专家都是独立切片的switch_mlp权重gate_proj / up_proj / down_proj 三件套这正是粒度化流式加载得以成立的文件组织前提。长上下文会侵蚀内存红利。KV cache 随上下文增长官方模型卡明确提示想维持 3 GiB 峰值请使用较短上下文。换句话说Edge0 把内存墙的部分压力转移到了存储墙上。对拥有 NVMe 的现代设备这是一笔极其划算的置换对只有机械盘的老机器则无从谈起。生态成熟度与上手成本的双向比较如果只看技术可行性Edge0 已经证明了3GB 跑 35B不是 PPT。但选型从来不只是跑分还包括生态半径与上手摩擦。Ollama 的生态优势是时间堆出来的。Go 语言编写、围绕 llama.cpp 的成熟量化体系让它在社区里积累了数十万 star2024 年初社区报道时已达 46k此后持续增长几乎每个主流开源模型都有现成的 GGUF 版本和官方模型库安装、拉取、运行三步走ollama pull llama3.1:8b ollama run llama3.1:8b从入门到跑通以分钟计这是它成为本地大模型默认入口的根本原因。但生态的成熟也意味着路线锁定你能跑什么模型取决于社区是否发布了对应的 GGUF 量化版本模型的规模则被你的内存牢牢钳制。Edge0 的现状则是典型的早期高能项目。它开源即登顶 Hugging Face Trending 榜但生态尚在襁褓MLX 后端目前主要面向 Apple Silicon模型家族只有 35B 与 8B 两个预览档位Agent 能力工具调用、多步规划在官方模型卡中被明确标注为弱项——chat_template.jinja 虽然已经内置了工具调用与思考模式的模板支持但这是为后续版本预留的接口而非当前已兑现的能力。不过它的上手路径设计得相当克制。仓库 README.md 的 Quick Start 只有三步装框架、拉模型目录、跑对话或起服务pip install -e githttps://github.com/Edge0-AI/edge0.git#eggedge0[fetch] huggingface-cli download Edge0/Edge0-35b-a3b-preview --local-dir ./Edge0-35b-a3b-preview export EDGE0_35B_MODEL$PWD/Edge0-35b-a3b-preview edge0 chat --name edge0-35b --prompt Introduce yourself这个仓库本身就是一份开箱即用的模型目录base 检查点、LoRA、prerouter 三件套同目录存放框架自动加载用户不需要手动拼适配器。社区还验证了两种扩展路径一是 Tauri 桌面 App 提供图形化入口二是edge0 serve一键起一个 OpenAI 兼容的 HTTP 服务/chat/completions SSE 流式业务侧只改base_url即可接入现有 OpenAI SDK 应用。这意味着从终端玩具到服务端部署的升级路径已经打通缺的只是时间沉淀下的模型广度与平台覆盖。维度OllamaEdge0生态广度模型库庞大、GGUF 生态成熟两个预览模型、单一框架上手成本一条命令拉取即用三步安装、适配器自动加载服务化成熟的 OpenAI 兼容 API单命令起 OpenAI 兼容服务平台覆盖多平台、多后端当前以 Apple Silicon 为主iOS 有实测状态久经考验预览版Agent 能力待补强不同硬件条件下该怎么选型选型的本质是用内存换生态还是用 SSD 换内存具体落点取决于你手里有什么硬件内存 8GB 以下、只有普通 SSD/HDD 的旧笔记本Ollama 只能跑 3-4B 级小模型体验受限Edge0 方案因存储性能不达标也难有作为。这一档位暂时没有理想答案等 Edge0 的 CPU 与 Windows 后端落地后再看。8GB-16GB 内存、有 NVMe SSD、追求省心Ollama 7B/8B 模型是性价比之选生态成熟、无需折腾若想上 35B 级质量Edge0 是当前唯一能在这一内存水位跑通的路。16GB-24GB 内存的 Apple Silicon Mac这是 Edge0 的主场。M4 Pro 实测 2.9 GiB 峰值内存跑 35B、解码 14.9-17.7 tok/s、prefill 达 113-140 tok/s交互体验已经可用数学与代码推理AIME 86.6、HumanEval 90.9见 README.md 的 OpenCompass 基准显著强于小模型档位。Ollama 在这类机器上跑 35B 则需要约 20GB 权重驻留逼近内存红线。手机、平板等统一内存设备Ollama 尚无成规模的对齐方案Edge0 的 iOS 实测6.4 tok/s、约 4GB 峰值证明它才是为phone-class memory设计的方案这也与模型卡标题runs in phone-class memory直接呼应。需要完整模型生态、多后端生产环境的团队Ollama 仍是稳妥选择GGUF 量化、服务 API、社区排障经验都是现成的。一个容易被忽略但值得强调的点两者的模型质量账本是不同的。Edge0 用 Recover-LoRA 把 4-bit 推理拉回 fp16 基座 3.9 分以内README.md 的基准表显示平均分 79.2 vs 83.2——这在内存换模型规模的语境下是可接受的折价也是社区质量仅降 3.9 分论据的来源。Ollama 路线的质量折损则来自量化档位的选择且不存在流式加载恢复精度这一机制。结语Ollama 与 Edge0 并不是同一赛道的竞品而是端侧推理的两个方向标前者把内存充足当作前提用成熟生态换取最低的上手门槛后者把内存稀缺当作常态用 SSD 与路由预判重新分配资源账。当 35B 模型以 3 GiB 内存跑在消费级 Mac 上、以 4GB 内存跑在 iPhone 上时端侧 AI 的边界已经不再是参数规模而是存储带宽与工程想象力。对开发者而言最务实的策略是让两条路线各司其职生态需求交给 Ollama规模需求交给 Edge0——毕竟工具的意义从来不是互斥而是让每一种硬件都找到自己的答案。【免费下载链接】Edge0-35B-A3B-preview项目地址: https://ai.gitcode.com/hf_mirrors/Edge0/Edge0-35B-A3B-preview创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表