既然大语言模型中的 Transformer 算法是通过预测最高概率的下一个字来生成文本,那是不是意味着一个输入应该只有一种输出?但是在现实应用中,为什么相同的输入可能会有多种不同的输出呢?
这个问题问得非常棒,乍一听好像挺矛盾的:既然 Transformer 是在预测概率最高的下一个字(Token),那是不是意味着每次都应该生成一样的结果?但你在实际用 ChatGPT、Claude、Gemini 的时候,明明同样的 prompt,每次生成的结果还不一样,甚至风格都变了。
这其实涉及到了两个层面的理解:
一、理论层面:Transformer 是概率模型,不是“唯一真理”模型
Transformer 确实是在干一件事:
→ 给定一个上下文,预测下一个 Token 出现的概率分布
比如你输入:“我今天早上喝了一杯”,模型会预测:
Token | 概率 |
---|---|
咖啡 | 0.45 |
牛奶 | 0.32 |
豆浆 | 0.12 |
啤酒 | 0.01 |
…… | …… |