⚙️ 大模型是怎么计算并输出 Token 的?
从你输入一句话,到模型一个字一个字「蹦」出答案,中间到底发生了什么?
第 1 步 · 把文字变成数字
🎓 词表 Vocabulary
模型不直接认识「字」,它认识一张词表——自己见过、学过的所有 token 的编号。
例如 GPT-4o 的词表有约 20 万个 token。文字必须先切分、查表,变成数字 ID,模型才读得懂。
🔢 分词 + 查表
你的句子会先被分词器切成一个个 token,再到词表里查到每个 token 的编号。
「我 爱 AI」→ [123, 456, 789],这些数字才是模型的真实输入。
补充一步:这些数字 ID 还会被转成向量(一串数字),也就是词嵌入(Embedding),这样模型才能在里面做各种计算。数字 ID 是「门牌号」,向量是「这个字的含义坐标」。
第 2 步 · 预测下一个 Token(核心动作)
🧠 模型本质是「猜字机」
大模型的核心,就是根据你已经写过的所有 token,去预测下一个 token 最可能是什么。
它不「背答案」,每一步都在猜——这是理解大模型最重要的一点。
📊 给整个词表打分
模型会为词表里的每一个 token 都算一个「可能性分数」,再用 softmax 变成概率——所有 token 概率加起来 = 100%。
第 3 步 · 一个字一个字蹦出来(自回归)
猜完一个,还不够。模型要把猜到的 token 拼回句子末尾,然后再读一遍全部内容,再猜下一个——循环往复,直到猜出「结束符」才停下。这种「用上一次的输出作为下一次的输入」的生成方式,叫自回归(Autoregressive)。
这就是为什么模型一个字一个字「蹦」出来、生成长文会慢、还按 token 计费——因为每生成一个 token,模型都要完整跑一遍。你说「你好」2 个字,背后可能是 2 次完整推理。
第 4 步 · 怎么从概率里选(采样策略)
| 策略 | ⚙️ 怎么做 | 🎯 适合场景 |
|---|---|---|
| 贪婪 Greedy | 每次都选概率最高的 token | 翻译/事实题,稳定但易重复 |
| 温度 Temperature | 调平或调陡概率曲线 | 温度高=更有创意,低=更保守 |
| Top-p 核采样 | 只从累计概率前 90% 里随机选 | 生成质量好,是默认常用项 |
要创意就调高温度
写诗、头脑风暴时温度高一点,输出更发散有趣。
要事实就调低温度
写代码、答数学题时温度调低,减少跑偏和幻觉。
防重复
加重复惩罚(frequency penalty),避免模型绕圈复读。
限长度
设置 max_tokens 上限,防止它一直「蹦」个没完、烧 token。
大模型输出 token 的流程 = 读上下文 → 算每个 token 的概率 → 挑一个 → 拼回去 → 循环,直到遇到结束符。它从不背答案,每一步都在「猜最可能的下一个字」。
核心就是“猜下一个 token”。模型把你输入的内容先切成 token,然后每一步都根据已经生成的全部内容,从词表里给每个 token 算一个概率,挑一个拼到末尾,再继续猜下一个,直到输出结束符才停。这种一次生成一个 token 的方式叫自回归。
它控制生成的随机性。temperature 调高,概率曲线变平缓,输出更有创意、更发散;调低就偏向概率最高的那个,更确定、更保守。所以写代码、答事实题我一般调低,做创意写作比如写诗就调高。