🏠 总目录📚 本教程 主线 1 · 文字怎样进入模型 ← →
📑 本页目录(点开跳转)

主线 1 · 文字怎样进入模型

⏱ 9 分钟 | ⭐ 主线第一站:先看这一页


🎯 一句话

模型既看不到汉字,也不知道“词”的意思。它先把文字切成一小块一小块的 token,换成编号,再把编号换成向量;后面所有“理解”和“生成”都发生在这些向量上。

你写的文字“猫追老鼠”Tokenizer按词表切块编号[812, 91]向量数字阵列
先切块,再编号,再变成向量。模型从第三步开始工作。

先只记三件事

  1. token 不是字,也不一定是词。 “机器学习”可能是一个 token,也可能被切成多个;取决于模型的词表。
  2. token 是模型的计费和容量单位。 同样一段内容,切得更碎,就更贵、占的上下文也更多。
  3. 模型不擅长逐字符操作。 数字、拼写、倒序、精确计数交给程序,比让模型硬猜可靠得多。

跟着一个例子走

国王王后男人女人巴黎法国东京日本同一个方向同一个方向「首都」词向量里,「关系」变成了空间中的【方向】国王 − 男人 + 女人 ≈ 王后⭐ 没人教它「性别」这个概念 —— 它是从「谁和谁常一起出现」里自己长出来的
「关系」在向量空间里变成了方向:国王→王后 和 男人→女人 是同一个方向。⭐ 没人教它「性别」这个概念 —— 它是从「谁和谁常一起出现」里自己长出来的。

假设你输入:“猫追老鼠”。Tokenizer 可能切成 [猫] [追] [老鼠],再把它们变为三个编号。编号本身没有意义;模型查一张很大的嵌入表,把每个编号换成一串几千维的数字。

这些数字不是人能直接读懂的中文释义。把它当成每个 token 的“可计算名片”:后面的 Transformer 会不断修改名片,让“猫”不只是猫,而是“正在追老鼠的那只猫”。

词表不是人工逐条写出来的

hellohello常见词 → 1 个 tokenunhappinessunhappiness少见词 → 拆成词根词缀Antidisestab...Antidisestab生僻词 → 碎成很多片苹果好吃苹果好吃中文常常一字一 token —— 所以同样字数更费额度Token 不是「字」也不是「词」,是 BPE 统计出来的高频片段⭐ 越常见的东西占的 token 越少 —— 字典是「按出现频率合并」造出来的⚠️ 这解释了两个经典现象:模型数不清单词里的字母(它看不到字母),以及中文/代码的 token 消耗比英文散文高得多
越常见的东西占的 token 越少 —— 字典是按出现频率合并造出来的。⚠️ 这解释了两个经典现象:模型数不清单词里的字母(它根本看不到字母),以及中文和代码的 token 消耗比英文散文高得多。

最常见的造词表思路叫 BPE。开始时把文本切得很细,然后反复统计“哪两个相邻小块最常一起出现”,把高频组合合并成一个新 token。于是常见词、常见词根、常见代码片段会变短;罕见名字、拼写错误和生僻词会被拆得更细。

这就是为什么模型可能把英文 unbelievable 切成 un + believ + able,也解释了为什么不同模型的 token 数不能直接互相套用:词表不同,切法就不同。

为什么不干脆“一字一 token”或“一词一 token”?

一字一 token 的好处是永远不会遇到生词,但句子会很长,注意力计算和费用都会变高;一词一 token 虽然短,却会碰到无限多的新词、名字和拼写。子词切分是在“词表不能无限大”和“句子不能太长”之间找折中。

实用提醒:问模型接口价格、上下文长度、输出上限时,都看 token,不看汉字数。中文、代码、JSON 的 token 密度通常不同;不能只拿字符数去猜。

上下文窗口:它能带多少张名片进来?

上下文窗口就是一次能放进模型的 token 总数,包含:你的指令、历史聊天、检索到的资料,以及模型刚刚生成的内容。窗口大不等于每一段都能被同样好地利用;重要信息仍要放得清楚、取得精准。

容量和效果是两件事

“支持 128K 上下文”只说明这 128K token 能塞进模型;它不保证模型能把每一段都用好。真实长文任务还要处理干扰、相似段落、跨段关联和“中间信息容易被忽略”等问题。

实际写提示词时,可以把内容按作用放:稳定规则放开头,当前任务与最关键的材料放靠近结尾的位置;长资料不要无差别整本塞入,而是先检索、压缩,再把少量真正相关的片段给模型。

✅ 检查点

点开核对

模型先把文字换成 token 编号和向量;窗口装的是所有输入与输出 token;逐字符题目会被切分方式干扰,程序更可靠。

🔗 想再深一层,去哪一套

去哪 为什么
智能体工程教程 04 · 上下文工程 ⭐ 窗口就这么大,于是得管:放什么、什么时候压缩、什么时候丢
AI 基础设施 16 · KV Cache 「能带多少张名片」的成本那一面:上下文里每个 token 都要占一份缓存

🛑 可以停在这里

到这里已经够进入下一章。BPE、词表训练、多语言切分差异,只有你要做分词器或批量省 token 时才需要深挖。

⚡ 走神救援

文字会先被切成 token,再变成向量。后面的“模型理解句子”,其实是在不断更新这些向量。下一页看:这些 token 怎样互相交换信息。

👉 02-Transformer原理.md

打卡记录保存在你的浏览器里,首页能看到总进度