1 项目背景业务场景算法团队接到了一个"不可能完成"的需求:用公司内部 2000 条人工标注的客服问答对,微调一个 7B 参数的开源大模型(如 Qwen-7B、ChatGLM3-6B),让它学会输出固定格式的 JSON 客服回复模板。小陈试着用全量微调跑了一次——单卡 A100(80GB 显存)直接 OOM,即使用 DeepSpeed ZeRO-3 + 4 卡并行,训练耗时 8 小时,显存峰值仍有 60GB。这意味着一轮实验就跑了一天,而产品经理说"至少要调 10 轮 prompt 模板,每轮都得重新微调"。更糟糕的是,业务方还有 3 个不同的场景(售前咨询、售后处理、投诉安抚),如果用传统全量微调,每个场景一个完整模型:4 × 7B = 28GB 磁盘 × 3 ≈ 84GB 存储,部署时 GPU 服务器至少需要 4 张 A100,成本超过每月 3 万元。痛点大模型微调的核心矛盾是:模型参数越来越多(从 110M 的 BERT 到 7B/13B/70B 的 LLaMA/Qwen),但业务标注数据通常只有几百到几千条。全量微调 7B 模型需要:显存黑洞:全量微调 7B 模型 ≈ 模型参数 14GB + 梯度 14GB + 优化器状态 28GB + 激活值 ≈ 60-70GB,远超单卡消费级 GPU 的 24GB存储爆炸:每个微调后的模型都是一个完整副本,10 个业务场景 = 10 × 14GB = 140GB
第18章:PEFT 与 LoRA 实战:低成本微调大模型
1 项目背景业务场景算法团队接到了一个"不可能完成"的需求:用公司内部 2000 条人工标注的客服问答对,微调一个 7B 参数的开源大模型(如 Qwen-7B、ChatGLM3-6B),让它学会输出固定格式的 JSON 客服回复模板。小陈试着用全量微调跑了一次——单卡 A100(80GB 显存)直接 OOM,即使用 DeepSpeed ZeRO-3 + 4 卡并行,训练耗时 8 小时,显存峰值仍有 60GB。这意味着一轮实验就跑了一天,而产品经理说"至少要调 10 轮 prompt 模板,每轮都得重新微调"。更糟糕的是,业务方还有 3 个不同的场景(售前咨询、售后处理、投诉安抚),如果用传统全量微调,每个场景一个完整模型:4 × 7B = 28GB 磁盘 × 3 ≈ 84GB 存储,部署时 GPU 服务器至少需要 4 张 A100,成本超过每月 3 万元。痛点大模型微调的核心矛盾是:模型参数越来越多(从 110M 的 BERT 到 7B/13B/70B 的 LLaMA/Qwen),但业务标注数据通常只有几百到几千条。全量微调 7B 模型需要:显存黑洞:全量微调 7B 模型 ≈ 模型参数 14GB + 梯度 14GB + 优化器状态 28GB + 激活值 ≈ 60-70GB,远超单卡消费级 GPU 的 24GB存储爆炸:每个微调后的模型都是一个完整副本,10 个业务场景 = 10 × 14GB = 140GB