LLM | 训练与推理过程
文章目录大语言模型训练与推理流程一、整体架构基础Transformer二、训练流程三阶段阶段 1预训练Pre-training阶段 2监督微调SFT, Supervised Fine-Tuning阶段 3RLHF基于人类反馈的强化学习三、推理流程Inference自回归生成KV Cache推理核心优化采样策略四、工程优化面试加分项训练侧推理侧五、面试常见问题速答六、一句话总结大语言模型训练与推理流程一、整体架构基础Transformer现代 LLM如 GPT、LLaMA、Claude均基于Transformer架构核心是自注意力机制Self-Attention。输入 Token → Embedding → N × (Attention FFN) → 输出概率分布关键概念Token文本的最小单元一个汉字 ≈ 1-2 tokensEmbedding将 token 映射为高维向量如 4096 维Attention每个 token 与其他所有 token 计算相关性权重FFN前馈网络对每个位置独立做非线性变换二、训练流程三阶段阶段 1预训练Pre-training目标让模型学习语言的统计规律和世界知识项目说明数据互联网文本、书籍、代码数TB级任务自回归语言建模预测下一个 token损失函数交叉熵Loss -log P(token_t规模GPT-3175B 参数300B tokensLLaMA-3数十T tokens耗时数千张 GPU 跑数月成本百万到千万美元级别输入: 大语言模型的核心是 预测: Transformer ← 计算损失反向传播更新参数优化器AdamW 学习率 Warmup Cosine 衰减阶段 2监督微调SFT, Supervised Fine-Tuning目标让模型学会对话和遵循指令数据人工标注的高质量问答对指令-回答格式模型在预训练权重基础上继续训练数据量小万到十万级但质量要求极高指令: 帮我写一个冒泡排序 回答: 以下是冒泡排序的实现... ← 模型学习这种格式阶段 3RLHF基于人类反馈的强化学习目标让模型输出更符合人类偏好有用、无害、诚实三步流程① 人类对同一问题的多个回答进行排序 ↓ ② 训练奖励模型Reward Model学习人类偏好 ↓ ③ 用 PPO 算法优化 LLM最大化奖励模型打分现代替代方案DPODirect Preference Optimization— 无需单独训练奖励模型更简洁稳定三、推理流程Inference自回归生成LLM 推理是逐 token 串行生成的过程输入: [你好] → 输出词表上的概率分布 → 采样得到 [] 输入: [你好] → 输出概率分布 → 采样得到 [我] 输入: [你好我] → ... 直到生成 EOS每步都要过一遍整个模型计算量大、延迟高。KV Cache推理核心优化问题每次生成新 token历史 token 的 K/V 矩阵都要重新计算浪费严重方案将历史 token 的 Key、Value 矩阵缓存起来新 token 只计算自己的 KV 并追加无 Cache第 N 步计算量 O(N²) 有 Cache第 N 步计算量 O(N) ← 每步只增量计算代价显存占用大长上下文时 KV Cache 可占用数 GB 显存采样策略模型输出的是词表上的概率分布如何选 token策略说明效果Greedy每步取概率最大的确定但死板Temperature调整概率分布的平坦度控制创意度Top-k只从概率最高的 k 个中采样避免低概率噪声Top-p (nucleus)从累积概率 ≥ p 的最小集合中采样更自然常用四、工程优化面试加分项训练侧混合精度训练FP16/BF16减少显存加快计算梯度检查点Gradient Checkpointing用时间换显存重算前向代替存储中间激活分布式训练数据并行DDP每卡一份模型数据切片流水线并行模型按层切分到不同卡张量并行单层矩阵切分到多卡Megatron-LM推理侧量化QuantizationFP16 → INT8/INT4显存减半速度提升FlashAttention重写 Attention 的 CUDA kernel减少 HBM 读写提速 2-4x连续批处理Continuous Batching动态合并请求提高 GPU 利用率vLLM 的核心PagedAttentionvLLM像操作系统管理内存一样管理 KV Cache解决显存碎片问题五、面试常见问题速答QLLM 为什么不能修改已生成的内容自回归生成每个 token 只依赖之前的无法回头修改Q上下文窗口变长为什么难Attention 计算复杂度是 O(N²)长度翻倍计算量翻 4 倍KV Cache 显存线性增长Q训练和推理对硬件要求有何不同训练需要存储梯度和优化器状态参数量 × ~16 字节显存需求是推理的 3-4 倍推理侧重低延迟、高吞吐Q为什么 LLM 会幻觉Hallucination模型本质是预测概率最高的 token没有真正的知识库查询机制当训练数据不足或问题超出分布时就会生成听起来合理但错误的内容QRAG 是什么解决什么问题检索增强生成推理时先从外部知识库检索相关文档拼入上下文弥补模型知识截止日期和幻觉问题六、一句话总结LLM 训练 海量文本自监督预训练 指令微调 人类偏好对齐推理 自回归逐 token 生成 KV Cache 加速核心挑战是算力、显存和延迟的工程权衡。