从零开始理解大语言模型(LLM)原理(五)分词的艺术
从结绳记事到甲骨刻字,人类一直在寻找记录语言的最佳方式。子词分词器延续了这个古老智慧,用数字时代的密码本重新诠释语言本质。
一、子词分词器
我们了解了嵌入就是把字符转化为一组多维数字(向量),以方便语言模型更好的处理,及捕捉语言的结构与语义。
但截至目前我们一直使用单个字符作为语言的基本构建块,这种方法有它的局限性:神经网络需要承担繁重的任务,它们需要理解一个字符序列(即单词)在彼此之间、以及与其他单词之间的关系。
如果不用字符而是直接为单词分配嵌入向量,让神经网络预测下一个单词会怎样呢?比如可以为每个单词(如“I”、“love”、“you”等)分配一个多维向量,然后将这些单词的向量输入神经网络,神经网络则负责预测下一个单词。这样会不会更好?
如果用“token”(相信你很熟悉这个词)来代表嵌入(即分配向量)的基本单位,那么之前模型使用单个字符作为token,现在我们则提出使用整个单词作为token。
让我们来细说这个问题。
1、从字符到词语的进化之路
先前的语言模型确实像牙牙学语的婴儿,以单个字符为单位学习。比如处理"cat"这个词,模型需要分别处理c、a、t三个字符的向量。这种方式看似简单,却让模型承担了过重的负担——它必须自行发现"c-a-t"组合起来代表猫,还要理解"c-a-t-s"中的s表示复数。
举个具体例子,当模型看到这两个句子时:
-
The cat sat on the mat.
-
The cats ate the fish.
如果用单个字符为单位处理,模型需要从零开始发现:
-
"cat"和"cats"共享前三个字符
-
"sat"和"ate"都包含"at"但含义不同
这种学习方式就像要求小学生通过笔画来理解文章主旨,效率极低。
现在尝试改用整词分词:为每个单词(如"cat"、“cats”)分配独立向量。这显然可以大大简化学习任务!但也带来了新问题——比如英语有超过18万个单词,中文常用字词也超过大几万。想象一个需要管理10万种"文字基因"的模型,光是存储这些向量就要消耗海量资源!
更糟糕的是,整词分词割裂了词语间的天然联系。就像"猫"和"猫咪"在中文里明明有关联,模型却要当作完全不同的两个词来学习。这时,一个精妙的解决方案应运而生——子词分词。
2、子词分词的魔法原理
子词分词的智慧,在于它像拼乐高一样拆解词语。比如:
-
“unhappy” → [“un”, “happy”]
-
“cats” → [“cat”, “s”]
-
“中文分词” → [“中”, “文”, “分”, “词”](注:实际处理会更智能)
这种拆解带来了三重优势:
-
共享零件,举一反三
当模型学会"happy"表示开心,“un"表示否定,它就能自动理解"unhappy”、“unfriendly"等系列词汇,而不需要逐个记忆。这就像掌握"氵"偏旁后,能猜出"江”“河”"湖"都和水有关。 -
应对生僻词
遇到"ChatGPT"这种新造词时,子词分词可以将其拆解为[“Chat”,“G”,“P”,“T”],模型立即明白这与聊天程序相关。传统方法遇到新词就只能抓瞎。 -
平衡效率与效果
主流子词分词器(如BERT用的WordPiece、GPT用的BPE)通常只保留3-5万个常用子词。对比整词分词的18万词库,存储量减少80%以上,却覆盖了更广泛的语言现象。
实际案例:
OpenAI的GPT-3使用BPE分词器后,即便面对网络俚语"LOLcats"也能游刃有余地拆解为[“LOL”,“cat”,“s”],既理解这是搞笑猫图,又保持语法正确性。
3、分词器的工程实践
一个优秀的分词器,就像语言模型的瑞士军刀,需要解决三大挑战:
1. 如何智能切割?
以"underground"为例,可能有多种切法:
- [“under”,“ground”](在地下)
- [“un”,“der”,“ground”](不接地)
分词器必须根据上下文选择正确拆分。这依赖统计学习:如果语料库中"under+ground"常一起出现,就优先保留这个组合。
2. 中文分词的特色
不同于英文的空格分隔,中文分词更具挑战。优秀的分词器要能区分:
-
“南京市长江大桥” → [“南京”,“市”,“长江”,“大桥”]
-
而不是错误拆分为[“南京”,“市长”,“江大桥”]
3. 统一编码方案
现代分词器如SentencePiece采用统一编码:
-
将文本转换为Unicode字符
-
统计高频字符组合,逐步合并为子词
-
最终形成包含单字、词语、词缀的混合词表
这个过程就像制作压缩包——保留高频模式,舍弃低频组合,在压缩率与信息完整性间找到最佳平衡。
当我们把嵌入(embeddings)和子词分词(subword tokenization)结合起来,一个模型大体上可能是下面这样的,相比之前的区别是:
输入输出向量不再以单个字符来匹配生成,也不是以完整的单词(word)为单位,而是以子词(subword)为单位,这里的“单位”也就是我们熟知的“Token”。

最后:
从结绳记事到甲骨刻字,人类一直在寻找记录语言的最佳方式。子词分词器延续了这个古老智慧,用数字时代的密码本重新诠释语言本质。当我们将"人工智能"拆解为[“人工”,“智能”]时,不仅为机器找到了理解语言的钥匙,也在提醒自己:最复杂的智慧,往往始于对基本元素的精妙组合。
二、如何系统学习掌握AI大模型?
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份
全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)

3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。

4. 2024行业报告
行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

5. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以
微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费】

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)