尽管大语言模型(LLM)的内部结构无比复杂,但其执行的核心任务其实非常朴素:预测下一个最有可能出现的词。本文将彻底解析大模型是如何通过 “生成分数”、“转换概率”和“加权采样” 这三个关键步骤,一步步生成完整回答的。
核心任务:预测与迭代
大模型通过重复以下三个流程,逐个输出每一个词(Token),直到输出了一个特殊的结束标识符位置,才停止工作。
步骤一:生成分数 (Generating Scores)
这是模型工作的起点。在接收到用户的输入(如一个问题或一段已生成的文本)后,模型会给它所认识的所有词(词汇总量大约在几万到几十万左右)打一个分数。
- 机制: 模型会把所有词全部扫一遍,为每个词计算其在当前上下文中的匹配度。
- 专业术语: 这个分数在 AI 领域有一个专门的术语,叫做 Log-odds(或 Z 值)。
- 结果: 分数越高,代表该词在当前情境下越可能出现。
(注意: 如果模型仅选择分数最高的词,那么对于相同的输入,输出将几乎一定相同,缺乏随机性和多样性。因此,模型需要进入下一步。)
步骤二:转换概率 (Converting Probabilities)
模型需要将步骤一中获得的“分数”转换为“概率”,以便按概率来预测下一个词。
- 关键函数: Softmax 函数是专门用来完成这项转换的工具。
- 工作原理: Softmax 函数通过复杂的运算,将每个词的 Log-odds (Zi) 转化为其被选中的概率 (Pi)。
- 结果: 转换完成后,每个词都会被赋予一个输出概率(例如 36%、32% 等),所有词汇的概率总和等于 100%。此时,虽然一些不相关的词(如“自行车”或“Hello”)概率很低,但依然存在被选中的可能性。

步骤三:加权采样 (Weighted Sampling)
这是根据计算出的概率来最终决定输出哪个词的机制。
1. 模型构建一个 0 到 100% 的数轴区间。
2. 它根据每个词的概率,给它们分配与概率相等的长度区间。例如,如果“马克”的概率是 36%,它就被分配 0% 到 36% 的区间;“科技”的概率是 32%,它就被分配随后的 32% 长度区间。
3. 模型随后生成一个 0 到 100% 之间的随机数。
4. 随机数落入哪个词的区间,模型就选择哪个词作为输出。
- 效果: 这种基于概率的随机选择,使得模型在回答合理的前提下,又充满了变化和新鲜感。

总结: 通过这三个步骤的不断迭代,大模型实现了从“接收输入”到“生成完整、连贯、且具备一定随机性的回答”的完整过程
- Author:CoderWdd
- URL:https://www.wuinsights.top//article/a000cdd0-87fb-4553-af3c-c4d2ad019a15
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts