Skip to content
🔗 分享本题
查看我的学习进度 →

LLM 训练并行更新参数与推理串行服务的瓶颈对比图

🧠 记忆锚点:训练要高吞吐地更新参数;推理要在动态请求下低延迟读权重、管 KV,并逐 token 生成。

💡 答案要点

核心区别:

维度训练推理
计算模式并行(整句)串行(逐token)
瓶颈计算(FLOPs)内存带宽(I/O)
批处理大(128-1024)小(1-32)
延迟要求不敏感极度敏感(<1s)
显存占用模型+梯度+优化器模型+KV Cache

为什么推理难优化?

  1. 自回归生成是串行的

    训练:一次性处理整个句子
    "今天天气真好" → 并行计算所有token
    
    推理:一个个生成token
    "今天" → "天气" → "真" → "好" (必须串行)
  2. 内存带宽瓶颈(Memory-bound)

    每生成1个token:
    - 需要加载整个模型参数(7B = 14GB)
    - 计算量很小(几十 GFLOPS)
    - GPU 利用率 < 10%
    
    问题:GPU 算力浪费,等待内存加载
  3. KV Cache 增长

    上下文越长,KV Cache 越大
    4K 上下文:1GB
    128K 上下文:32GB
    
    显存炸了!

性能对比(7B 模型,A100 GPU):

场景吞吐量GPU 利用率
训练1000 tokens/s80-90%
推理(batch=1)50 tokens/s5-10%
推理(batch=32)800 tokens/s40-50%

面试话术:

"推理的核心挑战是内存带宽瓶颈。训练是计算密集型,推理是访存密集型。优化思路完全不同:训练优化算法,推理优化内存访问。"