一、Qwen与LLaMA分词器的定义与技术特点
1. Qwen的分词器
Qwen采用基于字节对编码(BPE)的分词器,其核心设计目标是提升中文压缩效率与多语言兼容性。具体技术特点包括:
- 词汇表优化:以GPT-4的cl100k_base分词器为基础,通过扩展中文词汇量(如高频汉字、成语)和覆盖多语言场景,最终词汇表大小约为152K。
- 数字处理:将连续数字(如"123")拆分为单个数字("1"、"2"、"3"),减少无效Token占用。
- 多语言压缩率:在中文、英文、代码等场景下均实现高压缩率,例如中文平均每个Token可表示1.3个汉字,常用词语甚至可单Token表达。
- 扩展性:实验证明扩大词汇量不会显著影响下游任务性能,支持灵活调整。
2. LLaMA的分词器
LLaMA的分词器同样基于BPE,但以英文为核心,主要特点包括:
- 词汇表设计:词汇量为32K(LLaMA 2)或128K(LLaMA 3),侧重英文词根和子词单元,中文覆盖率低。
- 中文处理缺陷:中文需通过拆分汉字为单个字符或子词编码,导致平均每个汉字需1.5-2个Token,压缩效率显著低于Qwen。
- 通用性限制:未针对多语言场景优化,对混合语料(如中英混编)处理能力较弱。
二、Qwen分词器在中文压缩效率上优于LLaMA的原因
1. 词汇表设计的针对性差异
- 中文词汇覆盖:Qwen的词汇表包含大量中文高频词、成语和领域术语(如科技、文学词汇),而LLaMA的中文词汇仅覆盖基础汉字和常见子词。例如,Qwen可将"人工智能"编码为1个Token,而LLaMA可能拆分为4个字符Token("人"、"工"、"智"、"能")。
- 数字与符号处理:Qwen对数字的拆分策略减少了冗余Token,而LLaMA未针对中文数字使用习惯(如"一百二十三")优化。
2. 压缩率与计算效率的优化
- 编码效率对比:实验显示,在相同中文语料下,Qwen的Token数量比LLaMA减少30-50%,压缩率(以XLM-R为基准)在中文任务中领先。例如,处理《朱自清散文》时,Qwen的Token数仅为LLaMA的60%。
- 服务成本降低:更少的Token意味着更快的推理速度和更低的内存占用。Qwen的压缩效率使其在云端服务和边缘计算场景中更具经济性。
3. 多语言兼容性的平衡
- 中英双语优化:Qwen在扩展中文词汇的同时,通过BPE算法保留了对英文和代码的高效编码能力,而LLaMA的中文支持属于“被动兼容”。
- 无损重构能力:Qwen的分词器支持从Token序列无损还原原始文本,避免了LLaMA处理中文时可能出现的语义丢失问题。
三、技术细节对比与实验验证
1. 分词器性能测试
以1百万文档语料为基准的对比实验表明(见图表数据):
- 中文压缩率:Qwen的压缩率比LLaMA高40%,比XLM-R高20%。
- 多语言综合表现:Qwen在29种语言中压缩率均优于LLaMA,尤其在东亚语言(中文、日文、韩文)上优势显著。
2. 下游任务影响
- 模型理解能力:Qwen的高效分词使其在中文NLP任务(如C-Eval、CLUEWSC)中表现更优,而LLaMA因分词冗余易丢失语义关联。
- 训练成本:Qwen的分词器减少了预训练数据的Token总量,从而降低计算资源消耗。
四、总结:分词器设计的核心思想差异
维度 | Qwen分词器 | LLaMA分词器 |
---|---|---|
设计目标 | 多语言高效压缩(侧重中文) | 英文优化,兼顾基础多语言支持 |
词汇表策略 | 主动扩展中文词汇,拆分数字 | 被动兼容中文,词汇以英文子词为主 |
压缩效率 | 中文Token数量减少30-50% | 中文需更多Token表达相同内容 |
应用场景 | 适合中英双语混合任务和低成本服务 | 适合英文主导任务和研究定制 |
Qwen通过领域适配的词汇表设计和精细化压缩策略,在中文场景中实现了对LLaMA的全面超越。这一优势不仅源于技术细节的优化,更体现了阿里巴巴达摩院对中文NLP生态需求的深度理解。
分享
追问
相关事件
事件名称 | 事件时间 | 事件概述 |
---|---|---|
QWEN1 技术报告发布 | 2024-08-11 | 技术报告发布QWEN1 在多个语言中比竞争对手实现了更高的压缩效率,显著降低了服务成本。 |
企业大模型应用平台发布 | 2024-07-16 | 产品发布发布了开箱即用的企业大模型应用平台,其中提到了QWEN标记器的压缩性能。 |
大模型-QWEN1 详细介绍 | 2025-03-01 | 技术介绍详细介绍了QWEN分词器在压缩性能方面的表现,并进行了词汇量增加对下游性能影响的实验。 |
相关组织
组织名称 | 概述 |
---|---|
Meta AI | 科技/人工智能Meta AI 发布了大型语言模型 BLOOM,参数规模从5.6亿到1760亿不等。 |
InternLM 团队 | 科技/人工智能InternLM 团队开发了 InternLM 系列模型,包括 InternLM2 和 InternLM2.5。 |
百川公司(Baichuan Inc.) | 科技/人工智能百川公司参与了 QWEN 分词器的评估。 |
相关人物
人物名称 | 概述 |
---|---|
Touvron | 研究人员Touvron 等人提出了使用 BPE 分词器的方法,用于提高 QWEN 的中文处理能力。 |
来源
管理1. PDF
2. PDF
大模型基础——Foundations of Large Language Models. 毛玉仁等.
关键要点
-
研究表明,Qwen 使用字节级别字节对编码(BBPE),而 Llama 使用 SentencePiece 单字模型。
-
证据倾向于认为,Qwen 的分词器在中文压缩上更高效,约为 1.5-1.8 个字符/ token,而原始 Llama 分词器对中文字符拆分为字节,效率较低。
-
争议点在于 Llama 可通过扩展词汇表改善中文处理,但原始版本不如 Qwen 优化。
直接回答
Qwen 和 Llama 的分词器
-
Qwen 的分词器:Qwen 使用字节级别字节对编码(BBPE),词汇表大小为 151,646 个 token,专门为多语言(包括中文)设计。对于中文,1 token 可表示约 1.5-1.8 个字符,压缩效率高。
-
Llama 的分词器:Llama 使用 SentencePiece 单字模型,词汇表大小为 32,000 个 token,主要针对英语优化。对于中文,未见字符会被拆分为 UTF-8 字节,导致效率较低。例如,一个 28 个字符的中文句子可能需要 35 个 token。
为什么 Qwen 的分词器在中文压缩上更好
研究表明,Qwen 的分词器从设计之初就考虑了中文特点,词汇表包含大量中文字符和子词,能高效压缩中文文本。而 Llama 的原始分词器对中文支持有限,需要额外扩展(如增加 20,000 个中文 token)才能达到类似效果。未经扩展的 Llama 分词器将中文字符拆分为字节,token 数量更多,压缩率较低。
一个意外的细节是,即使扩展后的 Llama 分词器(如 Chinese LLaMA)也能达到 1.75 个字符/ token,与 Qwen 相当,但 Qwen 的更大词汇表(151,646 vs 49,953)可能在处理复杂中文文本时更具优势。
详细报告
引言
近年来,大型语言模型(LLM)在自然语言处理中的应用日益广泛,其分词器(tokenizer)在处理中文文本时的效率成为关键问题。Qwen 和 Llama 是两种知名的 LLM,本报告将详细探讨它们的分词器原理,并分析为什么 Qwen 的分词器在中文压缩上被认为优于 Llama。
Qwen 分词器的原理
Qwen 是一个由阿里云开发的 LLM,其分词器采用字节级别字节对编码(Byte-level Byte Pair Encoding,BBPE)。这种方法首先将文本编码为 UTF-8 字节,然后通过迭代合并最频繁出现的字节对来构建词汇表,直到达到预设的词汇表大小。根据 Qwen 文档:Key Concepts,Qwen 的词汇表大小为 151,646 个 token,其中包括大量中文字符和子词。
-
中文处理:对于中文文本,Qwen 的分词器能高效压缩,1 token 可表示约 1.5-1.8 个字符。这意味着一个 28 个字符的中文句子(如“人工智能是计算机科学、心理学、哲学等学科融合的交叉学科。”)大约需要 16-19 个 token。
-
优势:BBPE 确保没有未知词(out-of-vocabulary,OOV)问题,特别适合处理中文等非拉丁字母语言。
Llama 分词器的原理
Llama 是一个由 Meta AI 开发的 LLM,其分词器使用 SentencePiece 库中的单字模型(Unigram),词汇表大小为 32,000 个 token。根据 Efficient and Effective Text Encoding for Chinese LLaMA and Alpaca,Llama 的训练数据主要针对英语和其他拉丁字母语言,对于中文的支持有限。
-
中文处理:对于未见字符(如中文字符),Llama 的分词器会将它们拆分为 UTF-8 字节。例如,大多数中文字符在 UTF-8 中占用 3 个字节,这可能导致一个字符被拆分为多个 token。在一个例子中,一个 28 个字符的中文句子被分词为 35 个 token,效率较低。
-
改进版本:研究者通过扩展 Llama 的词汇表(如 Chinese LLaMA,增加 20,000 个中文 token,词汇表大小达 49,953)改善了其对中文的处理能力,压缩率提高到约 1.75 个字符/ token。
比较分析:Qwen vs Llama 在中文压缩上的差异
为了理解为什么 Qwen 的分词器在中文压缩上被认为更好,我们从以下几个方面进行比较:
1. 压缩效率
-
Qwen:根据 Qwen 文档:Key Concepts,Qwen 的分词器对中文文本的压缩率约为 1.5-1.8 个字符/ token。这意味着对于上述 28 个字符的句子,token 数量在 16-19 之间。
-
Llama(原始):根据 Efficient and Effective Text Encoding for Chinese LLaMA and Alpaca,原始 Llama 分词器对同一句子的 token 数为 35,平均每个 token 只代表约 0.8 个字符,压缩效率较低。
-
Llama(扩展后):扩展后的 Chinese LLaMA 分词器将 token 数减少到 16,达到约 1.75 个字符/ token,与 Qwen 相当。
2. 词汇表设计
-
Qwen:词汇表大小为 151,646 个 token,包含大量中文字符和子词,能够更精细地表示中文文本。根据 Qwen 博客:Introducing Qwen,其分词器在多种语言(包括中文)上表现出高压缩率。
-
Llama:原始词汇表为 32,000 个 token,主要针对英语设计,中文字符往往被拆分为字节。扩展后虽达到 49,953 个 token,但仍小于 Qwen,覆盖范围可能不如 Qwen 全面。
3. 设计目标与优化
-
Qwen:作为由中国团队开发的模型,Qwen 从设计之初就考虑了中文等非拉丁字母语言的特点,其分词器通过 BBPE 确保高效处理中文。
-
Llama:Llama 最初是为英语和其他拉丁字母语言设计的,其对中文的支持需要额外扩展和优化。根据 Working with Chinese, Japanese, and Korean text in Generative AI pipelines,CJK 语言的 token 化效率通常低于英语,而 Qwen 的设计更适合中文。
为什么 Qwen 的分词器被认为更好
综合以上分析,Qwen 的分词器在中文压缩上被认为优于 Llama 的原因包括:
-
更高的压缩率:Qwen 的 1.5-1.8 个字符/ token 比原始 Llama 的 0.8 个字符/ token 更高效。即使与扩展后的 Llama 相比,Qwen 的更大词汇表可能在处理复杂中文文本时更具优势。
-
设计优化:Qwen 的分词器从一开始就针对中文优化,而 Llama 需要额外扩展才能达到类似效果。
-
词汇表规模:Qwen 的 151,646 个 token 比 Llama 的 32,000(或扩展后的 49,953)更大,能够更好地覆盖中文字符和子词。
表 1:Qwen 和 Llama 分词器对比
模型 | 分词方法 | 词汇表大小 | 中文压缩率(字符/ token) | 示例句子 token 数(28 字符) |
---|---|---|---|---|
Qwen | BBPE | 151,646 | 1.5-1.8 | 16-19 |
Llama(原始) | SentencePiece | 32,000 | ~0.8 | 35 |
Llama(扩展后) | SentencePiece | 49,953 | ~1.75 | 16 |
讨论与未来展望
虽然扩展后的 Llama 分词器(如 Chinese LLaMA)在中文压缩上可达到与 Qwen 相当的水平,但原始 Llama 分词器的效率明显较低。Qwen 的分词器因其设计和词汇表规模,在处理中文文本时更具优势,尤其是在无需额外扩展的情况下。未来,随着更多 LLM 对多语言的支持增强,类似 Qwen 的分词器设计可能成为标准。
关键引文