基于 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

相关推荐
ujainu小15 天前
CANN ops-transformer:编译和运行 FlashAttention 示例
人工智能·深度学习·transformer
bryant_meng15 天前
【Transformer】Why ChatGPT Is Decoder-Only
深度学习·chatgpt·transformer·decoder
闵孚龙15 天前
常用网络层:Linear、Conv、RNN、Embedding、Transformer
rnn·transformer·embedding
EnCi Zheng15 天前
09ba-斯坦福CS336作业一-前馈网络
人工智能·transformer
小风吹啊吹~16 天前
通过时态图学习意图驱动识别足球控球比赛阶段 论文详解
学习·transformer·论文笔记·gan·足球战术·战术分析系统
君为先-bey16 天前
NWM----导航世界模型
transformer·扩散模型·导航·具身智能·世界模型·条件扩散
garmin Chen16 天前
从 Transformer 到 Agent:大模型技术全景解析
java·人工智能·python·深度学习·transformer