科普 AI 中的 Tokenizer 和 Embedding | 中文比英文强? | AI 会统治人类吗?
本文是一篇面向大众的科普文章,内容以通俗易懂为主,部分表述可能不够严谨或精确。如有不当之处,欢迎指正。
一、什么是 Tokenizer?
AI 模型其实看不懂“字”,只能看“数字”。比如:
输入:我喜欢吃草莓
Tokenizer 输出:['我', '喜欢', '吃', '草莓']
再变成编号:[32001, 5342, 9343, 7650]
英文同理,只是处理方式可能不同:
输入:I like to eat strawberry
Tokenizer 输出:['I', 'like', 'to', 'eat', 'strawberry']
再变成编号:[321, 6424, 7545, 9314, 2164]
提示
如果一个词经常被拆成奇怪的碎片,模型就难以学会这个词。例如:
输入:strawberry
Tokenizer 输出:['str', 'a', 'w', 'be', 'rry']
这种拆分方式会让模型更难理解“strawberry”这个词的完整含义。因此,Tokenizer 的设计和训练数据的质量会直接影响模型的表现。
常见的 Tokenizer 有 BPE(Byte Pair Encoding) 和 WordPiece,它们通过不同的算法来决定如何拆分词语。
二、什么是 Embedding?它如何帮助模型理解语言?
Tokenizer 把词变成编号后,模型还需要进一步把编号转化为“向量”才能理解,这一步叫 Embedding。
你可以把向量想象成一个数组,由多个数字组成。向量的“维度”指的是数组中数字的个数,比如 1024 维的向量就是由 1024 个数字组成。例如:
“草莓” → 32 → [0.34, -1.23, 0.87, 3.01, ...]
“香蕉” → 531 → [0.32, -1.20, 0.85, 2.97, ...]
如果两个词经常一起出现,比如数据集中包含了“我喜欢吃草莓和香蕉”,它们的向量会变得相似。模型就是通过这些向量之间的“距离”来判断词语之间的关系。
Embedding 的质量直接影响模型对语言的理解能力。 高质量的 Embedding 能让模型更好地捕捉语义关系。
三、中文真的比英文强?不一定!
很多人认为中文在 AI 模型中比英文有优势,比如:
- 中文的字形更直观:比如“山”这个字形象地表示了山的样子,而英文的“mountain”则没有这种直观性。
- 中文的词语关联性更强:比如“葡萄”和“葡萄干”,中文通过“干”字体现了两者的关系,而英文的“grapes”和“raisins”看似毫无关联。
但实际上,这些优势在模型中并不存在。原因是:
-
模型看到的不是字形或字,而是编号。例如:
“葡萄” → 632 “葡萄干” → 673 “grapes” → 1234 “raisins” → 5678模型无法从编号中直接看出两者的关系。
-
模型的理解完全依赖于训练数据和 Embedding。如果训练数据中“grapes”和“raisins”经常一起出现,模型就能学到它们的关联性,并且它们的 Embedding 距离也会很近。
因此,中文和英文在模型中是平等的,语言的优劣更多取决于训练数据的质量和 Tokenizer 的设计。
有时即使输入全英文,模型也可能用中文推理,这其实是模型的多语言混淆问题,而不是某种语言“天生适合 AI”。模型眼里只有数字和统计概率。例如Grok有时会输入中文,但却使用英文推理。
四、为什么模型连 strawberry 有几个 r 都数不清?
这个问题揭示了模型的本质局限性。
问模型:“strawberry 里有几个 r?” 有时候它会答错。原因是:
- Tokenizer 的拆分:Tokenizer 会把“strawberry”当做 1 个 token,因此模型看到的是“strawberry”这个编号(如 6425),而不是字母的组合,无法推断字母数量。
- 模型没有数数能力:除非专门训练或数据集包含了类似“strawberry 有 3 个 r”这种句子,否则模型并不会真正“数数”,只是根据上下文猜测最可能的答案。
- 模型本质是概率预测:它并不理解语言,只是在根据海量数据统计下一个词出现的概率。
所以,别指望模型像人一样理解语言——它只是一个复杂的数学函数,本质上只是“在猜”。
五、模型不会想着替代人类
你可以这样理解现在的语言模型:
它是一个巨大的数学函数,输入一个提示,它就输出下一个词的概率。
模型生成句子的过程是自回归的,比如:
输入:["<问题>", "你好", "你", "是谁", "<回答>"]
预测下一个词:"我"
然后把预测的词加入输入,继续预测下一个词:
输入:["<问题>", "你好", "你", "是谁", "<回答>", "我"]
预测下一个词:"是"
以此类推,直到生成完整的句子。
模型本身没有自己的思想,就像一张白纸,它的行为完全取决于训练数据和使用者:
- 你教它礼貌,它就客客气气。
- 你教它骂人,它就满嘴脏话。
因此,模型不会想着统治世界或取代人类。如果有一天 AI 想要统治世界,那一定是某个人教它这么做的,而不是模型“开窍”了。
六、总结
- Tokenizer 和 Embedding 是理解 AI 模型的基础:
- Tokenizer 决定了语言如何被拆分和编码。
- Embedding 决定了模型如何理解词语的语义关系。
- 中文和英文在模型中是平等的:
- 模型只看编号,不看字形或词义。
- 语言的优劣取决于训练数据和 Tokenizer 的设计。
- 模型本身没有好坏:
- 它是一个工具,取决于训练者和使用者的意图。
模型就像一把菜刀,切菜还是砍人,完全取决于谁在用它。AI 不会主动做决定,决定的是我们人类。