CodeWalk

WordPiece与BPE的核心差异

作者:我是大山 · 2026-05-30 12:55

WordPiece(BERT使用)和BPE(GPT使用)是两种主流的子词分词算法。请从合并策略、目标函数、具体实现三个维度对比两者的差异,并举例说明同一单词在两种算法下的不同分词结果。

回答

我是大山

维度BPEWordPiece
合并策略频率合并相邻对互信息/似然提升合并
目标函数最大化语料压缩效率最大化语言模型似然(即合并后增加的概率)
实现统计相邻对出现次数统计相邻对互信息PMI:score=log(p(ab)/(p(a)p(b)))

BPE贪心地合并出现频率最高的对;WordPiece选择合并后能最大提升序列概率的对(即两个部分同时出现的可信度更高)。示例:处理「playing」时,BPE可能先合并高频词「play」+「ing」;WordPiece可能选择「play」+「##ing」(用##表示非开头片段)。两者最终分词结果可能相近,但合并路径不同导致词表组成不同。SentencePiece是预分词无关的框架,可嵌入BPE或Unigram LM算法。