11 ChatGPT原理小白教程:生成过程之采样与生成
系列进度
ChatGPT 原理入门 · 第 11 / 18 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
很多人以为模型先想好完整答案再输出,其实更接近一边看上下文一边选择下一个 token。理解这一点,就能解释为什么同一个问题可能有多个版本,也能理解温度和 top-p 的作用。
这里可以用写作来类比:每写一个词,后面可选的词都会变化。模型也是这样逐步生成,所以前面的提示、已经生成的内容和采样参数都会影响后续走向。理解这一点后,你会更愿意分段检查输出。
在上篇中,我们探讨了生成过程的输入处理。了解了模型如何将用户输入转化为可理解的格式,而这一过程为后续的生成环节打下了良好的基础。在本篇中,我们将关注于生成过程中的“采样”机制,以及模型是如何利用这些机制产生最终文本的。
生成过程中的采样
在理解生成过程之前,我们需要首先明确生成模型的基本工作原理。ChatGPT等生成模型是通过对大量文本进行训练,从而学习文本的分布特征。在生成过程中,模型会基于一定的输入(上文),不断预测下一个可能出现的词(token),直到生成完整的响应。
理解采样与生成时,先看概率分布、候选 token、温度、Top-p、停止条件和上下文约束。
一、采样方法
在生成文本时,主要有几种不同的采样方法来选择下一个词:
-
最大似然估计(Greedy Search):
- 在每一步选择概率最高的词作为下一个输出。虽然简单且快速,但可能导致产生缺乏多样性和创新性的文本。
示例代码:
def greedy_search(logits): return torch.argmax(logits).item() -
随机采样(Random Sampling):
- 从模型输出的概率分布中随机选择下一个词。这种方法可以增加生成文本的多样性。
示例代码:
def random_sampling(logits): probabilities = softmax(logits) return np.random.choice(range(len(probabilities)), p=probabilities) -
温度采样(Temperature Sampling):
- 通过调整预测分布的“温度”来控制生成文本的随机性。当温度为1时,模型保持原有的分布;当温度小于1时,模型更倾向于选择高概率词,导致文本更加保守;而当温度大于1时,模型则更可能选择低概率词,导致文本多样性增加。
示例代码:
def temperature_sampling(logits, temperature=1.0): logits /= temperature probabilities = softmax(logits) return np.random.choice(range(len(probabilities)), p=probabilities)
二、生成过程
当输入经过处理后,我们进入生成阶段。此时,模型会根据上文逐词生成内容。以下是生成过程的简要总结:
读完《ChatGPT原理小白教程:生成过程之采样与生成》后,可以回头问三件事:它解决什么问题,哪一步最容易出错,自己能否拿一个小例子跑通。
- 输入上文: 初始输入被转化为模型的内部表示。
- 循环预测:
- 模型根据当前词的上下文,计算下一个词的概率分布。
- 采用上述采样方法之一选定下一个词。
- 更新上下文,重复这一过程,直到满足终止条件(如生成特定长度的文本或遇到结束符)。
示例:生成一个短句
假设我们输入的上文是“今天天气真不错”,模型将逐步生成以下句子:
-
输入“今天天气真不错”,模型可能预测出:
- 高概率词:
好 - 次高概率词:
呀
- 高概率词:
-
假设我们采用随机采样,结果为
好,然后上下文更新为“今天天气真不错好”。 -
下一步再进行预测,假设采样得到
哦,最终生成的句子为“今天天气真不错好哦”。
三、控制多样性生成的因素
接下来,我们将要触及的主题是如何通过调整算法的设置来控制生成文本的多样性。这些设置的调整允许开发者在需要有创意的内容生成与精准的、符合上下文的内容之间找到平衡,而这些将会在下篇中详细讲解,特别是关于“温度与多样性控制”的部分。
回看《ChatGPT原理小白教程:生成过程之采样与生成》时,不必一次做大项目,先用一条简单样例确认主线是否清楚。
如果《ChatGPT原理小白教程:生成过程之采样与生成》还没完全消化,可以从这张卡片的四个动作重新走一遍。
通过本篇的学习,我们掌握了生成过程中的“采样”概念,了解了不同的采样方法如何影响生成结果,以及这些结果是如何被串联生成完整句子的。希望您能带着这些知识,继续深入本系列的下一个主题,并进一步探索生成模型的魅力与奥秘。
继续阅读
从这篇继续找到相关教程
常见问题
读前先确认这三点
ChatGPT原理小白教程:生成过程之采样与生成适合谁读?
这是 ChatGPT 原理入门 系列第 11 / 18 篇,适合正在学习ChatGPT 原理入门,并且需要把概念落到操作步骤或判断标准里的读者。
读这篇ChatGPT 原理入门教程要多久?
按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。
这篇文章里的图文节点怎么用?
正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
继续阅读