边缘部署大模型:先算五笔账,再谈选型
原文面向 Apple Silicon + MLX,步骤不能直接在 Windows 上执行。本卡只保留可跨平台迁移的方法论,并改写为具身智能/边缘部署与客户方案场景:先算五笔资源账,再做选型与阶梯加档,最后用测量边界六字段对外报数。
- 资源账公式:实际占用 = 模型权重 + 上下文缓存 + 运行缓冲 + 辅助模型 + 系统与其他进程。通病是只算第一项,到了客户现场一开多任务就掉帧/重启。
- 选型看算力档位:入门(<16GB)跑小模型别硬塞;中端 4-bit 中型;高端 8-bit 但别为精度强行上档;服务器上行才上 BF16。
- 阶梯加档:每次只改一个变量,稳定后再进一档;「模型支持 262K」是能力参数,不是默认推荐。
- 测量边界六字段:对外报任何性能数字,必须带齐硬件/量化/加速策略/负载/指标范围/缓存热身,否则没有比较价值。
五笔账少一笔就翻车
本地/边缘部署第一个坑是只算模型权重。机器人在客户现场常要语音 ASR + LLM + TTS 同时常驻,加上 ROS/中间件、遥测、看门狗,资源账必须五项全列,并留 20% 余量。
| 项 | 内存场景 | 机器人/边缘对应物 |
|---|---|---|
| 模型权重 | 4-bit ≈16.1GB / 8-bit ≈29.5GB / BF16 ≈54GB | 主模型常驻显存(ASR+LLM+TTS 常同时驻留) |
| 上下文缓存 | 128K ≈ +11GB;256K ≈ +23GB | 多轮对话历史、地图/建图数据、长任务状态 |
| 运行缓冲 | Prefill 阶段内存突增 | 并发峰值、视觉帧预处理、点云批处理 |
| 辅助模型 | 草稿模型约 +2GB | 唤醒词、VAD、意图分类、安全兜底小模型 |
| 系统与其他 | macOS + Chrome + Docker | ROS/中间件、驱动、遥测上报、日志、看门狗 |
按算力档位定模型档位
一次只改一个变量
起步档 → 稳定 → +1 档 → 复测,每档只改一个变量。上下文 8K→16K→32K→64K→128K(仅确有超长需求);对话轮次 N=3→5→10;并发 1→2→4 每档跑满 30 分钟;传感器帧率 10→15→30 FPS。
先跑基线再谈优化。一次打开十个优化选项,跑快了不知道是谁的功劳,跑慢了不知道关谁。A/B 六项必须完全一致:输入任务、模型与量化、推理参数、上下文长度、冷/热启动状态、测量口径(同一客户端、同一脚本、≥3 轮取中位数)。别只跑 50 个 token——短任务里加载和热身占比过高,看不出真实持续表现,至少 400~1000 token 或跑完一次真实任务。
这条最该固化
凡是对外报的性能数字,必须带齐六字段:①硬件与系统(型号/显存/系统版本/供电);②模型与量化(具体仓库+档位,不能只写「27B」);③加速/辅助策略(投机解码?并发数?);④工作负载(导航/对话/抓取分开设);⑤指标范围(首响/处理/生成/端到端分报,不只报一个);⑥缓存与热身(冷/热启动、缓存命中、跑几轮取什么统计值)。