Administrator
Administrator
发布于 2025-10-25 / 4 阅读
0
0

科普 AI 中的 Tokenizer 和 Embedding

科普 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 模型中比英文有优势,比如:

  1. 中文的字形更直观:比如“山”这个字形象地表示了山的样子,而英文的“mountain”则没有这种直观性。
  2. 中文的词语关联性更强:比如“葡萄”和“葡萄干”,中文通过“干”字体现了两者的关系,而英文的“grapes”和“raisins”看似毫无关联。

但实际上,这些优势在模型中并不存在。原因是:

  • 模型看到的不是字形或字,而是编号。例如:

    “葡萄” → 632
    “葡萄干” → 673
    “grapes” → 1234
    “raisins” → 5678
    

    模型无法从编号中直接看出两者的关系。

  • 模型的理解完全依赖于训练数据和 Embedding。如果训练数据中“grapes”和“raisins”经常一起出现,模型就能学到它们的关联性,并且它们的 Embedding 距离也会很近。

因此,中文和英文在模型中是平等的,语言的优劣更多取决于训练数据的质量和 Tokenizer 的设计。

有时即使输入全英文,模型也可能用中文推理,这其实是模型的多语言混淆问题,而不是某种语言“天生适合 AI”。模型眼里只有数字和统计概率。例如Grok有时会输入中文,但却使用英文推理。


四、为什么模型连 strawberry 有几个 r 都数不清?

这个问题揭示了模型的本质局限性。

问模型:“strawberry 里有几个 r?” 有时候它会答错。原因是:

  1. Tokenizer 的拆分:Tokenizer 会把“strawberry”当做 1 个 token,因此模型看到的是“strawberry”这个编号(如 6425),而不是字母的组合,无法推断字母数量。
  2. 模型没有数数能力:除非专门训练或数据集包含了类似“strawberry 有 3 个 r”这种句子,否则模型并不会真正“数数”,只是根据上下文猜测最可能的答案。
  3. 模型本质是概率预测:它并不理解语言,只是在根据海量数据统计下一个词出现的概率。

所以,别指望模型像人一样理解语言——它只是一个复杂的数学函数,本质上只是“在猜”。


五、模型不会想着替代人类

你可以这样理解现在的语言模型:

它是一个巨大的数学函数,输入一个提示,它就输出下一个词的概率。

模型生成句子的过程是自回归的,比如:

输入:["<问题>", "你好", "你", "是谁", "<回答>"]
预测下一个词:"我"

然后把预测的词加入输入,继续预测下一个词:

输入:["<问题>", "你好", "你", "是谁", "<回答>", "我"]
预测下一个词:"是"

以此类推,直到生成完整的句子。

模型本身没有自己的思想,就像一张白纸,它的行为完全取决于训练数据和使用者:

  • 你教它礼貌,它就客客气气。
  • 你教它骂人,它就满嘴脏话。

因此,模型不会想着统治世界或取代人类。如果有一天 AI 想要统治世界,那一定是某个人教它这么做的,而不是模型“开窍”了。


六、总结

  1. Tokenizer 和 Embedding 是理解 AI 模型的基础
    • Tokenizer 决定了语言如何被拆分和编码。
    • Embedding 决定了模型如何理解词语的语义关系。
  2. 中文和英文在模型中是平等的
    • 模型只看编号,不看字形或词义。
    • 语言的优劣取决于训练数据和 Tokenizer 的设计。
  3. 模型本身没有好坏
    • 它是一个工具,取决于训练者和使用者的意图。

模型就像一把菜刀,切菜还是砍人,完全取决于谁在用它。AI 不会主动做决定,决定的是我们人类。


评论