1. 从文字到数字:大模型如何理解人类语言
作为一名长期从事自然语言处理研究的工程师,我经常被问到:"这些大模型真的能理解我说的话吗?"要回答这个问题,我们需要从最基础的Token概念说起。Token是大模型处理文本的最小单位,就像人类阅读时会把句子拆分成单词一样,模型也需要把连续的文本流分解成可处理的片段。
在技术实现上,Tokenization(分词)的过程远比表面看起来复杂。以英文句子"I don't like apples"为例,不同分词器可能产生不同的结果:
- 按空格分词:["I", "don't", "like", "apples"]
- 子词分词:["I", "don", "'", "t", "like", "apples"]
- 字符级分词:["I", " ", "d", "o", "n", "'", "t", " ", "l", "i", "k", "e", " ", "a", "p", "p", "l", "e", "s"]
关键提示:选择哪种分词策略会直接影响模型性能和效率。字符级分词虽然简单但序列过长,单词级分词对罕见词处理不佳,现代大模型普遍采用子词折中方案。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Token的核心特性与分词原理
2.1 Token的三大特征
通过分析主流大模型的分词方式,我总结出Token的三个关键特征:
-
非对称性:不同语言的Token效率差异显著。英文平均1个Token对应4个字符,中文则1.5-2个汉字。这也是中文API调用成本更高的根本原因。
-
上下文依赖性:同一个词在不同位置可能被不同切分。例如"hamburger"在菜单场景可能作为整体Token,在词源分析中可能被拆分为["ham","burger"]。
-
模型特异性:每个大模型都有自己训练的分词器。下表对比了主流模型的中文分词差异:
| 模型名称 | "人工智能"分词结果 | Token数量 |
|---|---|---|
| GPT-4 | ["人工","智能"] | 2 |
| Claude | ["人","工","智","能"] | 4 |
| 文心一言 | ["人工智能"] | 1 |
