
1 项目背景业务场景算法团队接到了一个挑战性任务:用公司积累的 2 万条客服对话数据微调一个 13B 参数的大模型(如 Qwen-14B-Chat),使其具备多轮客服对话能力。小陈尝试用第 23 章学的数据并行跑训练,结果第一轮就失败了——单张 A10(24GB)连模型都装不下(13B 模型 FP16 需约 26GB 显存)。换成 A100(80GB)后勉强装下,但训练时 OOM:模型 26GB + 梯度 26GB + Adam 优化器状态 52GB + 激活值 ≈ 120GB,远超 80GB。技术经理质问:“难道 13B 模型必须用 4 张 A100 才能训练?有没有办法用更少的资源?”痛点大模型训练的内存黑洞来自四个部分:全量微调 13B 模型(FP16)的显存占用: ┌─────────────────────┬──────────┐ │ 组件 │ 显存 │ ├─────────────────────┼──────────┤ │ 模型参数 (Weights) │ 26 GB │ │ 梯度 (Gradients) │ 26 GB │ │ 优化器状态 (Adam) │ 52 GB │ ← 参数×2 (momentum+variance) │ 激活值 (Activations) │ 20-40 GB │ ← 取决于batch_size和seq_len ├─────────────────────┼──────────┤ │ 合计