LLM生成全流程

模型输出 Logits(词表得分)
→ 步骤1:应用 Temperature 缩放 Logits(核心:调整整体随机性)
→ 步骤2:应用重复惩罚/No Repeat N-gram 等(可选:过滤/调整 Logits)
→ 步骤3:筛选 Top-K/Top-P 候选池(过滤低概率 Token)
→ 步骤4:候选池内概率归一化(确保总和为1)
→ 步骤5:按归一化后的概率分布 随机采样(核心:多样性来源)
→ 输出最终 Token

  1. 输入 Prompt:用户输入原始文本指令或上下文信息
  2. 预处理 Prompt:清洗无效字符、统一编码格式,标准化输入文本
  3. 文本分词:分词器将预处理后的文本拆分为模型可识别的 Token 语义单元
  4. Token 映射 ID:Token 按模型固定词表映射为唯一对应的离散整数 Token ID
  5. 添加特殊 Token:补充序列开始(<s>)、结束(</s>)等模型约定的特殊标记
  6. 序列对齐:截断过长序列或用填充 Token(<pad>)补全过短序列,适配模型最大长度
  7. 张量转换:将对齐后的 Token ID 序列转换为模型可处理的整数输入张量(支持批量)
  8. 输出 Logits:模型通过前向传播,输出序列最后一个有效位置的词表原始得分(Logits)
  9. Temperature 缩放:按比例缩放 Logits,调整概率分布平滑度(控制随机性)
  10. 重复惩罚:压低已出现 Token 的 Logits,减少单个 Token 重复出现
  11. No Repeat N-gram 过滤:过滤会导致重复短语(N-gram)的 Token,避免文本冗余
  12. 典型性采样(可选):筛选 “不太平凡也不太异常” 的典型 Token,平衡连贯与多样
  13. Top-K 筛选:保留概率最高的 K 个 Token,形成候选池,排除低概率无意义 Token
  14. Top-P 筛选:在 Top-K 候选池中,保留累积概率达 P 的 Token,自适应调整候选池大小
  15. 概率归一化:对候选池内 Token 的概率重新归一化,确保总和为 1
  16. 随机采样:按归一化后的概率分布随机选择,生成当前 Token(核心多样性来源)
  17. 结束判断:检查是否生成结束 Token(</s>)或序列达最大长度
  18. 迭代生成:未结束则将当前 Token 加入序列,返回张量转换步骤循环
  19. 解码输出:已结束则将所有生成的 Token 解码为自然语言文本,输出最终结果

 

 

感谢你的阅读


欢迎评论交流


忽如一夜春风来,千树万树梨花开。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇