Soup模型部署autopilot:10种硬件目标自动选PEFT、量化与投机解码
【免费下载链接】SoupFine-tune LLMs from one YAML. Layer streaming trains an 8B model on a 4 GB laptop GPU.项目地址: https://gitcode.com/GitHub_Trending/soup12/Soup
Soup是一个"一个 YAML 搞定 LLM 微调"的开源训练工具,而它的deploy autopilot(部署自动驾驶)是部署环节里的智能助手:你只需说出目标硬件,它就从内置的10 种硬件档案中自动挑选PEFT 微调方式 + 量化方案 + 投机解码的最优组合,并直接生成可训练的配置文件和部署脚本。对于 Mac、消费级显卡、云端 H100 甚至 iPhone,部署策略一步到位。
为什么部署不该靠"手摸"?
同一个微调后的模型,放到不同硬件上,正确的打开方式完全不同:
- 内存紧张(如 12GB 显卡):必须上 4bit 量化,还要靠 QLoRA 省训练开销
- 内存宽裕(如 H100 80GB):直接 FP8 甚至不量化,把全部算力用在推理速度上
- 端侧设备(iPhone / Pixel):模型要压缩到 2048 token 上下文的 4bit 小体量
新手最容易踩的坑就是"一套配置打天下":在 MacBook 上跑 8bit 直接爆显存,在 A100 上开 4bit 又白白损失精度。Soup deploy autopilot 把这套"硬件 → 最优组合"的经验固化成了冻结的官方档案表,杜绝拍脑袋配置。
10 种硬件目标:一张表看懂自动选型
运行soup deploy autopilot --list会列出全部 10 个内置档案,核心内容如下:
| 目标档案 | 典型硬件 | 推理运行时 | 量化 | PEFT | 投机解码 | 建议上下文 |
|---|---|---|---|---|---|---|
mac-m3 | Apple M3 / M3 Pro / M3 Max | MLX | 4bit | LoRA | 关 | 8K |
mac-m4-pro | Apple M4 / M4 Pro | MLX | 4bit | LoRA | 关 | 16K |
rtx-3060-12gb | 消费级 12GB 显卡 | Transformers | 4bit | QLoRA | 开 | 4K |
rtx-4090-24gb | 消费级 24GB 显卡 | vLLM | AWQ | LoRA | 开 | 8K |
iphone-16 | iPhone 16 / 16 Pro | ExecuTorch | 4bit | QLoRA | 关 | 2K |
pixel-9 | Pixel 9(端侧) | ExecuTorch | 4bit | QLoRA | 关 | 2K |
ollama-local | 本地 Ollama / llama.cpp | Ollama | 4bit | LoRA | 关 | 4K |
lm-studio | LM Studio 桌面应用 | LM Studio | 4bit | LoRA | 关 | 4K |
runpod-a100 | RunPod A100 40GB | vLLM | 不量化 | LoRA | 开 | 32K |
hf-jobs-h100 | HF Jobs H100 80GB | vLLM | FP8 | LoRA | 开 | 64K |
一眼能看出策略差异:低显存设备全部走 4bit,24GB 级显卡用 AWQ 换取更高吞吐,而 H100 直接用 FP8 + 64K 超长上下文——这正是"同一模型、不同硬件、不同打法"的自动体现。
三步部署:从训练配方到上线脚本
整个过程就一条命令:
- 列出档案,确认目标硬件:
soup deploy autopilot --list- 指定目标,自动生成两份文件:
soup deploy autopilot --target rtx-4090-24gb --base meta-llama/Llama-3.2-1Bdeploy_autopilot.yaml—— 可直接开训的 Soup 配方(LoRA r=16 / alpha=32、量化方式、max_length 等都已按档案填好)deploy_autopilot.sh—— 部署脚本,会打印计划好的soup serve命令(对 4090 档案自动带上--auto-spec投机解码开关),由你最终确认执行
- 训练完成后跑一下部署脚本,模型即按档案策略在目标硬件上服务。
💡 想在选量化前"量一量"真实掉点幅度,可加
--measure --tasks <jsonl>,Soup 会对候选量化方案跑一轮评测(结果缓存在~/.soup/deploy_autopilot_cache.json),优先选精度几乎无损(OK)的方案。
小白必读:PEFT、量化、投机解码是什么?
| 术语 | 一句话解释 | 在 Soup 里怎么体现 |
|---|---|---|
| PEFT(参数高效微调) | 只训练 LoRA 等少量适配器,不动整个模型 | 档案自动在lora / qlora / dora / full中选型 |
| 量化 | 把模型权重压成 4bit/8bit 等低位宽,省内存 | 允许名单:4bit、8bit、GPTQ、AWQ、FP8、MXFP4、HQQ 等 |
| 投机解码 | 用"草稿模型先猜、大模型再验"加速推理 | 4090 / A100 / H100 档案默认开启 |
这套档案在源码里是"导入即冻结"的只读字典:量化、PEFT、运行时都有严格白名单,选错就是报错,而不是自由发挥——这是给新手的安全垫。
深入了解:相关源码与文档
- 部署档案表与生成逻辑:src/soup_cli/utils/deploy_autopilot.py(10 个内置档案 + 配方/脚本渲染)
- 命令行入口:src/soup_cli/commands/deploy.py(
soup deploy autopilot实现,约 deploy.py#L570-L599) - 部署与导出完整指南:docs/serving-and-export.md
- 量化与性能调优:docs/performance-and-quantization.md
- 零配置训练 autopilot(与部署 autopilot 互补):src/soup_cli/autopilot/
小结
Soup deploy autopilot 把"模型部署到 10 种硬件"从玄学变成了查表:一句命令,自动锁定 PEFT + 量化 + 投机解码组合,产出可训练配方和部署脚本。配合 Soup 的 layer streaming(8B 模型在 4GB 笔记本显卡上也能训)和零配置训练 autopilot,从数据到上线的全链路都被"自动驾驶"接管了——新手照着档案表走,不会配错。
【免费下载链接】SoupFine-tune LLMs from one YAML. Layer streaming trains an 8B model on a 4 GB laptop GPU.项目地址: https://gitcode.com/GitHub_Trending/soup12/Soup
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考