🤖 大模型基础 🟢 入门 ⏱ 7 分钟

⚙️ 大模型是怎么计算并输出 Token 的?

从你输入一句话,到模型一个字一个字「蹦」出答案,中间到底发生了什么?

1

第 1 步 · 把文字变成数字

🎓 词表 Vocabulary

模型不直接认识「字」,它认识一张词表——自己见过、学过的所有 token 的编号。

例如 GPT-4o 的词表有约 20 万个 token。文字必须先切分、查表,变成数字 ID,模型才读得懂。

🔢 分词 + 查表

你的句子会先被分词器切成一个个 token,再到词表里查到每个 token 的编号。

「我 爱 AI」→ [123, 456, 789],这些数字才是模型的真实输入。

✍️ 你输入的文字
我 爱 AI
分词器切成 3 个 token
每个 token 认成一个字
AI 英文常见词整块算 1 个
🔢 模型看到的数字
[123] [456] [789]
123 去词表里查到「我」的编号
456 「爱」= 456
789 「AI」= 789,喂给模型

补充一步:这些数字 ID 还会被转成向量(一串数字),也就是词嵌入(Embedding),这样模型才能在里面做各种计算。数字 ID 是「门牌号」,向量是「这个字的含义坐标」

2

第 2 步 · 预测下一个 Token(核心动作)

🧠 模型本质是「猜字机」

大模型的核心,就是根据你已经写过的所有 token,去预测下一个 token 最可能是什么

它不「背答案」,每一步都在猜——这是理解大模型最重要的一点。

📊 给整个词表打分

模型会为词表里的每一个 token 都算一个「可能性分数」,再用 softmax 变成概率——所有 token 概率加起来 = 100%。

💬 输入
我喜欢吃
? 模型要猜:下一个最可能是什么?
📊 词表打分结果(前几名)
模型给所有 token 算了概率
1 🍎 苹果 —— 45%
2 🍊 橘子 —— 20%
3 🏃 跑步 —— 5%
剩下十几万个 token 都很低
3

第 3 步 · 一个字一个字蹦出来(自回归)

猜完一个,还不够。模型要把猜到的 token 拼回句子末尾,然后再读一遍全部内容,再猜下一个——循环往复,直到猜出「结束符」才停下。这种「用上一次的输出作为下一次的输入」的生成方式,叫自回归(Autoregressive)

📖 读上下文看已生成的所有 token
🎲 算概率给词表每个 token 打分
✅ 挑一个按策略选 token
🔗 拼回去加到句子末尾
🏁 遇到结束符停止生成
🔄 循环:读 → 算 → 挑 → 拼 → 再读 …🏁 直到输出「结束符」token 才停

这就是为什么模型一个字一个字「蹦」出来、生成长文会慢、还按 token 计费——因为每生成一个 token,模型都要完整跑一遍。你说「你好」2 个字,背后可能是 2 次完整推理。

4

第 4 步 · 怎么从概率里选(采样策略)

策略⚙️ 怎么做🎯 适合场景
贪婪 Greedy每次都选概率最高的 token翻译/事实题,稳定但易重复
温度 Temperature调平或调陡概率曲线温度高=更有创意,低=更保守
Top-p 核采样只从累计概率前 90% 里随机选生成质量好,是默认常用项
🎨
要创意就调高温度

写诗、头脑风暴时温度高一点,输出更发散有趣。

📐
要事实就调低温度

写代码、答数学题时温度调低,减少跑偏和幻觉。

🔁
防重复

加重复惩罚(frequency penalty),避免模型绕圈复读。

📏
限长度

设置 max_tokens 上限,防止它一直「蹦」个没完、烧 token。

一句话总结

大模型输出 token 的流程 = 读上下文 → 算每个 token 的概率 → 挑一个 → 拼回去 → 循环,直到遇到结束符。它从不背答案,每一步都在「猜最可能的下一个字」。

🎤 面试问答 · 口语化回答
面试官如果问到你,可以这样口语化地回答:
面试官大模型是怎么生成一段文字的?

核心就是“猜下一个 token”。模型把你输入的内容先切成 token,然后每一步都根据已经生成的全部内容,从词表里给每个 token 算一个概率,挑一个拼到末尾,再继续猜下一个,直到输出结束符才停。这种一次生成一个 token 的方式叫自回归。

💡 加分点:加一句“所以生成是逐字的,每个 token 都要完整跑一遍”能体现你真的懂原理。
面试官temperature 参数是干嘛的?

它控制生成的随机性。temperature 调高,概率曲线变平缓,输出更有创意、更发散;调低就偏向概率最高的那个,更确定、更保守。所以写代码、答事实题我一般调低,做创意写作比如写诗就调高。

💡 加分点:再提一嘴 top-p 核采样和重复惩罚(frequency penalty),说明你对采样策略有系统了解,是加分项。
00:00