基于 Transformer 架构的翻译模型实践 - 主流分词器(Tokenizer)的对比

基于 Transformer 架构的翻译模型实践 - 主流分词器(Tokenizer)的对比

flyfish

参考

bash 复制代码
https://github.com/shaoshengsong/ pytorch -transformer-en-zh-translation-demo

对hello不同的分词方案

可以分为单个字符【h,e,l,l,o】, 也可以类似【hell,o】

分词算法比较

上图来源是ByteByteGo

颜色 类型 说明
青色 完整单词(Complete Words) 保留原词,不拆分
橙色 子词(Subwords) 拆分后的词片段(非词缀)
绿色 前缀(Prefixes) 词的开头部分(如un-pre-
紫色 字符(Characters) 单个字符/数字(如1e
粉色 特殊Token(Special Tokens) 词首标记(如SentencePiece的)、特殊符号
米黄色 空格(Spaces) 文本中的空格(如BPE会单独处理)
蓝色 表情符号(Emojis) 单个emoji作为独立token
黄色 标点符号(Punctuation) 标点(如-
1. BPE(Byte Pair Encoding,字节对编码)

从单个字符开始,不断合并语料中出现频率最高的相邻符号,生成子词。

不区分词首/词中,直接合并高频序列;空格可单独作为token处理。

示例:
unhappyun(前缀) + happy(子词) → 2个token
Hello worldHello(完整词) + (空格) + world(完整词) → 3个token
learning123learn + ing + 1 + 2 + 3 → 5个token

2. WordPiece(Google的方法,BERT等模型使用)

与BPE类似,但优先保留词首,用##标记非词首的子词 (表示"前面还有内容",避免歧义)。

通过##明确区分词首和词中;空格通常不单独作为token(会被隐式合并到词中)。

示例:
unhappyun(词首前缀) + ##happy(词中子词) → 2个token
Hello worldHello + world(空格被隐式处理,不单独分词) → 2个token
pre-trainedpre + ##- + ##train + ##ed → 4个token(##-表示标点是前面内容的延续)

3. SentencePiece(语言无关,LLaMA、T5等模型使用)

直接对**整个文本(包括空格)**进行分词,用(下划线)表示词首的空格,实现"语言无关"(无需提前做空格/分词预处理,适配中文、日文等无空格语言)。

把空格作为token的一部分(用标记),无需依赖空格分词;子词拆分更灵活。

示例:
unhappy(词首空格标记) + un + happy → 3个token
Hello world▁Hello + ▁world(每个词前加,空格被替换为) → 2个token

Emojis
🧠🤖 + 🧠 + 🤖 → 3个token(开头的空格被标记为

4. Unigram(概率方法,XLNet、ALBERT等模型使用)

基于概率模型,保留语料中概率最高的子词组合 (从大词表开始删减,保留最优token)。

倾向于保留更"合理"的长片段(高频词可能直接作为完整token);同样用处理空格(和SentencePiece类似)。

示例:
unhappy → 直接作为完整词(概率最高) → 1个token
learning123 + learning(完整词) + 123(合并的数字片段) → 3个token
pre-trained + pre + - + trainedtrained作为完整词) → 4个token

相关推荐
数智工坊19 小时前
视觉-语言-动作模型解剖学:从模块、里程碑到核心挑战
论文阅读·人工智能·深度学习·算法·transformer
惊鸿一博19 小时前
Transformer模型图解(简单易懂版)
人工智能·深度学习·transformer
解局易否结局20 小时前
ops-transformer 的 FlashAttention:给昇腾NPU 配了个“高效厨房“
人工智能·深度学习·transformer
东湖山上20 小时前
GTAC: A Generative Transformer for Approximate Circuits
服务器·人工智能·深度学习·transformer·gpu算力
解局易否结局21 小时前
ops-transformer 里的 FlashAttention:让大模型在昇腾NPU上“吃得少、跑得快“
人工智能·深度学习·transformer
指掀涛澜天下惊1 天前
AI 基础知识十六 Decoder-only 训练诗集示例
人工智能·transformer·decoder-only
山屿落星辰1 天前
ascend-transformer-boost (ATB) - Transformer推理加速实战
人工智能·深度学习·transformer
kishu_iOS&AI1 天前
NLP —— Transformer底层源码剖析(框架使用)
人工智能·自然语言处理·transformer
晚霞的不甘1 天前
CANN ATB 加速库深度解析:Transformer 模型的加速引擎
人工智能·pytorch·transformer