引言
当您向ChatGPT或任何先进的AI输入“Hello world!”时,您可能以为它像人类一样看到了两个词和一句标点。但事实远非如此。在大型语言模型(LLM)的“眼中”,这句简单的话可能会被分解成['Hello', ' world', '!', '\n'] 这样的几个独立单元。这些单元就是**「Token」**。
Token是LLM处理文本的基本单位,它构成了模型理解、生成语言的基石。 您向模型发送的是Token,API按Token计费,模型读取、思考、生成的也全是Token。可以说,不理解Token,就无法真正理解LLM的能力与局限。本文将带您深入探索Token的奥秘,从它是什么,为何重要,到它如何深刻影响模型的性能,甚至是导致AI在简单数学问题上“犯傻”的根本原因。

什么是Token?不只是“单词”
首先要明确,「Token并不等同于单词」。 它是一个更基础、更灵活的概念。根据所使用的“分词(Tokenization)”方法,一个Token可以是一个完整的词、一个子词(subword)、一个字符,甚至是标点或空格。举个例子,对于英文句子 “I love machine learning!”,它可能被分词为:
["I", "love", "machine", "learning", "!"](以单词为单位)["I", " love", " machine", " learn", "ing", "!"](以子词为单位)
对于中文而言,情况更为复杂。由于中文不像英文那样有天然的空格来分隔单词,分词策略就显得尤为关键。比如“我爱机器学习”这句话,可能会被分解为:
['我', '爱', '机器', '学习'](按词语)['我', '爱', '机', '器', '学', '习'](按单字)
这种将文本分解为Token的过程,我们称之为**「分词(Tokenization)」**。
分词(Tokenization)至关重要?
分词(Tokenization)是LLM能够高效学习和处理语言的关键步骤,其重要性体现在以下几个方面:
- 「管理词汇表规模」:LLM的词汇表是有限的,通常在3万到10万个Token之间。 如果每个单词都对应一个Token,那词汇表将变得无比庞大,无法管理。通过将“extraordinary”这样的罕见词分解为“extra”和“ordinary”等可复用的子词单元,模型可以用有限的词汇表来表达几乎无限的语言组合。
- 「处理未知词汇」:一个优秀的分词器能够将模型从未见过的新词、罕见词或拼写错误的词分解成它认识的子词片段。 例如,模型可能没见过“生物催化剂”这个词,但只要它认识“bio”和“catalyst”这两个子词Token,就能在一定程度上推断出其含义。
- 「提升计算效率」:输入的文本序列越长(即Token数量越多),模型的计算开销就越大。 一个高效的分词算法可以用更少的Token来表示相同长度的文本,从而节约计算资源,加快响应速度。
- 「决定模型性能」:分词的质量直接影响LLM理解和生成文本的能力,尤其是在处理非英语语言或专业领域文本时。不恰当的分词会切碎词语的内在语义,或扭曲句子的语法结构,从而严重影响模型的表现。
Token向量化
文本被分解为Token之后,还不能直接被神经网络处理。模型需要一个中间步骤,将这些符号化的Token转换成数字。
这个过程分为两步:
- 「分配唯一ID」:词汇表中的每个Token都会被分配一个独一无二的整数ID。例如:
"Hello"→ Token ID 15496" world"→ Token ID 995
- 「转换为嵌入向量(Embeddings)」:这些Token ID随后会通过一个称为“嵌入层(Embedding Layer)”的特殊网络层,映射成高维度的浮点数向量。比如,ID为15496的Token “Hello” 可能会被转换成一个包含数百甚至上千个维度的向量,如
[0.23, -0.45, 0.78, ...]。
这个数字化的过程是必需的,因为**「神经网络本质上是一个数学函数集合,它只能对数字进行运算」**。 这些被称为“嵌入向量”的数字数组,能够捕捉到Token之间的语义关系。 在这个高维空间中,意思相近的Token(如“king”与“queen”,“run”与“running”)其向量表示也更为接近。 这正是模型能够“理解”词义和语法的奥秘所在。
主流的分词方法
目前,业界有几种主流的分词算法,它们各有特点,并被不同的知名模型所采用。
1. 字节对编码 (Byte Pair Encoding, BPE)

BPE是目前最流行的分词算法之一,被GPT系列模型(GPT-2, GPT-3, GPT-4)广泛采用。它的工作原理是:
- 从最基础的单个字符作为初始词汇表开始。
- 在训练语料中,不断找出频率最高的相邻Token对,并将其合并成一个新的、更长的Token。
- 重复这个合并过程,直到词汇表达到预设的大小。
BPE的优点是能够灵活地在字符和词之间取得平衡,既能高效表示常见词,也能将罕见词分解为子词单元,有效避免了“未知Token”的问题,OOV问题。
2. WordPiece
WordPiece由Google开发,是BERT、DistilBERT等模型的核心分词器。 它与BPE类似,也是从字符级别开始构建词汇表,但合并Token的策略略有不同。WordPiece并非选择频率最高的相邻对,而是选择能够最大化训练数据“似然度”(Likelihood)的合并项。它通常会用特殊前缀(如“##”)来标记非单词开头的子词,例如,“unhappy” 可能会被分解为["un", "##happy"]。
3. SentencePiece
SentencePiece同样由Google推出,被T5、XLNet等模型使用。 它的最大特点是直接将文本视为一个原始的Unicode字符流进行处理,并将空格也视为一种普通符号并进行编码。 这使得它无需针对特定语言进行预处理(例如,中文和日文不需要预先分词),通用性极强。
具体工作原理:将输入文本视为原始的 Unicode 字符流,包括空格,其中空格保留为特殊符号(通常为“_ ”);可以实现 BPE 或 Unigram 语言模型算法;无需针对特定语言进行预分词;对于没有明确单词边界的语言(例如日语或中文)尤其有效。
例如,短语“Hello world”可以分词为 [“_Hello”, “_world”],其中_表示单词边界。
4. Unigram

Unigram常与SentencePiece结合使用,它采用了一种概率化的方法。 它不像BPE那样不断合并,而是从一个非常大的潜在词汇库开始,通过评估每个Token被移除后对整体损失的影响,逐步“修剪”掉价值最低的Token,直到词汇表收缩到目标大小。 这种方法为同一个词提供了多种可能的分词组合,增加了模型的灵活性。
上下文与模型能力的边界
所有LLM都有一个“上下文窗口(Context Window)”的限制,它代表了模型一次性可以处理的Token最大数量。 这个窗口大小直接决定了模型的许多核心能力:
- 「输入长度」:你能给模型提供多少背景信息。
- 「输出长度」:模型一次能生成多长的连贯文本。
- 「记忆与连贯性」:在长对话或长文档处理中,模型能否保持主题不跑偏。
早期的模型如GPT-2的上下文窗口只有约1024个Token,GPT-3提升至2048。 而如今,像Gemini 1.5 Pro这样的前沿模型,其上下文窗口已经扩展到惊人的100万Token以上,足以一次性处理整本书籍、复杂的代码库或数小时的视频转录稿。
分词如何影响LLM的实际表现?
许多人观察到的LLM的“怪异”行为,其根源往往不在于模型本身,而在于分词。
- 「拼写错误与纠错」:当用户输入一个拼写错误的单词时,分词器会将其分解成一堆罕见的、不合逻辑的子词组合。 由于模型学习的是常见Token序列的模式,这些陌生的组合会干扰它的理解,使其难以纠正错误。
- 「多语言性能差异」:大多数主流分词器都是以英文为中心设计的,导致它们在处理其他语言(尤其是中文、日文、阿拉伯语等)时效率低下。 一个中文词往往会被分解成比对应英文词更多的Token,这不仅增加了API成本,也压缩了有效上下文的长度,最终导致在非英语任务上流畅度和准确性下降。
- 「数学与代码能力」:分词是LLM在数学和编程上表现不佳的关键原因之一。数字
123.45可能会被分解为["123", ".", "45"]三个独立的Token。 这种割裂使得模型无法将“123.45”视为一个整体的数值单位,而是将其看作一串符号。 这严重破坏了它进行精确数学运算的能力。同理,代码中的特殊操作符、缩进或变量名如果被不恰当地拆分,也会极大影响模型生成和理解代码的准确性。
经典的“3.11 vs 3.9”问题
一个广为流传的例子是,很多LLM无法正确回答“3.11和3.9哪个更大?”。 背后正是分词在作祟。
当模型看到这两个数字时,它看到的不是两个浮点数,而是像["3", ".", "11"] 和 ["3", ".", "9"] 这样的Token序列。 它不是在进行数学比较,而是在进行模式匹配。 在它的训练数据中,“11”这个Token可能在各种语境下都与比“9”更大的概念相关联,因此模型会基于这种文本统计规律,错误地推断“3.11”更大。它缺乏真正的数字推理能力。
当然,现在的模型之所以有时能答对,原因有几个:
- 「工具调用」:如今的LLM通常会集成计算器或代码解释器等工具。 遇到这类问题时,它会调用工具进行精确计算,而不是自己“思考”。
- 「指令微调」:开发者会针对这类常见测试用例,进行专门的监督微调(SFT)训练,相当于“硬编码”了正确答案。
- 「提示工程」:通过在提示词中明确要求进行数值分析或数学计算,可以引导模型进入更严谨的思维模式。
结论
Tokenization是LLM将我们丰富多彩的语言世界,转化为其可以理解和处理的数字世界的关键桥梁。 从BPE到SentencePiece,不同的分词方法决定了模型如何“看待”文本。
理解Token,不仅能帮助我们估算API成本、设计更优的提示词,还能让我们洞察AI的诸多“怪癖”——为什么它不擅长数学,为什么处理某些语言时力不从心,为什么一个简单的拼写错误会难倒一个万亿参数的模型。归根结底,Token是LLM观察世界的唯一“镜头”。 只有理解了这个镜头的特性、优点和瑕疵,我们才能更好地驾驭这些强大的工具,并清醒地认识到它们当前能力的边界。
普通人如何抓住AI大模型的风口?
领取方式在文末
为什么要学习大模型?
目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。
目前,开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过 30%。

随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:

人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!
最后
只要你真心想学习AI大模型技术,这份精心整理的学习资料我愿意无偿分享给你,但是想学技术去乱搞的人别来找我!
在当前这个人工智能高速发展的时代,AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长,真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料,能够帮助更多有志于AI领域的朋友入门并深入学习。
真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

大模型全套学习资料展示
自我们与MoPaaS魔泊云合作以来,我们不断打磨课程体系与技术内容,在细节上精益求精,同时在技术层面也新增了许多前沿且实用的内容,力求为大家带来更系统、更实战、更落地的大模型学习体验。

希望这份系统、实用的大模型学习路径,能够帮助你从零入门,进阶到实战,真正掌握AI时代的核心技能!
01 教学内容

-
从零到精通完整闭环:【基础理论 →RAG开发 → Agent设计 → 模型微调与私有化部署调→热门技术】5大模块,内容比传统教材更贴近企业实战!
-
大量真实项目案例: 带你亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事!
02适学人群
应届毕业生: 无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。
零基础转型: 非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界。
业务赋能突破瓶颈: 传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型。

vx扫描下方二维码即可

本教程比较珍贵,仅限大家自行学习,不要传播!更严禁商用!
03 入门到进阶学习路线图
大模型学习路线图,整体分为5个大的阶段:

04 视频和书籍PDF合集

从0到掌握主流大模型技术视频教程(涵盖模型训练、微调、RAG、LangChain、Agent开发等实战方向)

新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路(不吹牛,真有用)

05 行业报告+白皮书合集
收集70+报告与白皮书,了解行业最新动态!

06 90+份面试题/经验
AI大模型岗位面试经验总结(谁学技术不是为了赚$呢,找个好的岗位很重要)

07 deepseek部署包+技巧大全

由于篇幅有限
只展示部分资料
并且还在持续更新中…
真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

345

被折叠的 条评论
为什么被折叠?



