✍️ LLM GENERATION EXPLAINER
什么是大模型的 Decode(解码 / 生成)?
一句话搞懂:Prefill 读完题后,大模型“按概率逐字蹦答案”的自回归打字阶段!
🔄 自回归单字循环(The Autoregressive Loop)
为什么大模型打字是一串一串出来的?因为每生成 1 个新词,都要把它作为下一次计算的输入!
🎮 互动体验:亲手体验大模型 Decode 是如何“掷骰子”的
点击「吐出下一个字」,看右侧概率榜单如何决定下一个字,并观察温度(Temperature)的影响
📖 当前生成的文本 (Context Window)
6 Tokens
* 黄色为初始 Prompt,紫色为 Decode 阶段逐个吐出的词
🎯 下一个词候选概率榜 (Logits Top-K)
Step #1
🎲 根据 Temperature 采样选出最高分或随机挑中一个词
~25 ms
每字耗时 (TPOT / 单步时延)
40 tok/s
生成速率 (Tokens Per Second)
140 GB/字
70B模型每吐一字搬运的权重显存
🚛
1. 为什么 Decode 阶段 GPU 算力在摸鱼?
这就是著名的 Memory-Bound(显存带宽瓶颈)!以 70B 模型为例,每吐 1 个字,GPU 都必须把 140GB 的权重完整搬运进核心一次。GPU 算力大部分时间在“傻等显存搬砖过来”,利用率往往不足 10%!
⚡
2. 投机采样 (Speculative Decoding) 是什么黑科技?
既然大模型吐字慢,那就让一个极小、极快的草稿小模型(Draft Model)先猜 4~5 个词,然后大模型一次性把这 5 个词全量并行验证一遍(Mini-Prefill)!猜对的直接采纳,速度直接翻 2~3 倍!
🎲
3. 什么是 Temperature(温度)调节?
• 低温度 (0.1 ~ 0.2):永远选概率最高的那 1 个词(严谨、写代码、数学题)。
• 高温度 (0.8 ~ 1.2):增加低概率词被选中的机会,赋予模型更多“灵感与创造力”(写小说、头脑风暴)。