语言人工智能指南

词片标记化

WordPiece 是子词标记化算法,为 BERT 和许多 Google 模型提供支持,将单词分割成可重用的片段,以便模型可以处理具有固定词汇表的任何文本。

阅读时间:2分钟最后更新

概述

It is why a model that has never seen 'unhappiness' can still understand it by reading 'un', '##happy', and '##ness'.

深入探讨

WordPiece 构建子词单元的词汇表,而不是整个单词或单个字符。从单个字符开始,它贪婪地合并最能增加训练语料库可能性的符号对,重复直到达到目标词汇量(BERT 使用大约 30,000 个标记)。在推理时,它贪婪地从左到右标记,匹配词汇表中最长的子词,然后继续处理其余部分。单词内的延续部分标有“##”前缀,因此“playing”变为“play”+“##ing”。这解决了词汇表外的问题:罕见或未见过的单词简单地分解为已知的片段,如果需要的话可以分解为单个字符,而常见的单词则保留为单个标记以提高效率。

技术洞察

WordPiece 与字节对编码的不同之处在于其合并标准。 BPE合并最频繁的相邻对; WordPiece 合并最大化训练数据可能性的对,粗略地选择联合频率最超过其部分频率乘积的对。 “##”标记区分词首片段和后续片段,让分词器在解码回文本时明确地重建词边界。

战略影响

速度与规模

语言工作流程可以在不牺牲一致性的情况下更快地移动。

交通与覆盖范围

它扩展了跨语言和沟通方式的访问。

更清晰的判决

团队可以花更多时间进行判断,而自动化则可以处理重复。

WordPiece 代币化的未来

较新的大型语言模型越来越青睐字节级 BPE(GPT 系列)或 SentencePiece 一元模型,它们避免了特定于语言的预处理并处理任何 Unicode 输入。 WordPiece 仍然是 BERT 派生编码器的基础,仍然广泛部署用于搜索和分类。预计在生产 NLP 中继续使用,同时研究无分词器的字节和字符模型,最终可能完全减少对固定子词词汇的依赖。

现实世界的实施

BERT 对 Google 搜索中的搜索查询进行标记,将不熟悉的术语分解为子词,以便模型仍然可以匹配相关页面。

Hugging Face 的 BertTokenizer 使用 WordPiece 将原始文本转换为馈送到 BERT 的令牌 ID,以进行情感分析和命名实体识别。

多语言 BERT 使用跨 100 多种语言的共享 WordPiece 词汇表,让片段可以在相关脚本中重复使用。

DistilBERT 和临床/生物医学 BERT 变体继承了 WordPiece,通过将罕见的医学术语(例如“肺尘埃沉着病”)拆分为已知的片段来处理它们。

风险与防护栏

幻觉的事实可以悄悄地进入报告、支持流程或研究成果。

及时的敏感性可能会在类似的请求中产生不一致的结果。

如果访问控制薄弱,敏感文本数据可能会暴露。

实施路线图

1

在推出之前定义输出格式、语气和质量标准。

2

当准确性很重要时,请使用可信来源进行地面响应。

3

为高风险输出保留人工审查检查点。

4

跟踪故障模式并定期重新训练提示或工作流程。

不断探索

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the WordPiece Tokenization quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

开始测验

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

下一个指南

子词标记化

常见问题

What is WordPiece Tokenization?

WordPiece 是子词标记化算法,为 BERT 和许多 Google 模型提供支持,将单词分割成可重用的片段,以便模型可以处理具有固定词汇表的任何文本。这就是为什么从未见过“不快乐”的模型仍然可以通过阅读“un”、“##happy”和“##ness”来理解它。

WordPiece 输出中的“##”前缀表示什么?

WordPiece 用“##”标记子字延续,因此“playing”变成“play”+“##ing”,让解码器重建字边界。

原始 BERT 使用的 WordPiece 词汇量大约有多大?

BERT 使用大约 30,000 个子词单元的 WordPiece 词汇表,平衡覆盖范围与嵌入表大小。

WordPiece 的合并标准与标准字节对编码有何不同?

BPE 合并最频繁的相邻对,而 WordPiece 合并最能增加语料库可能性的对,优先考虑联合频率超过其部分乘积的对。

WordPiece 如何处理训练期间从未见过的单词?

未见过的单词被分解为最长匹配的已知子单词,退回到单个字符,这解决了词汇表外的问题。

在推理时,WordPiece如何选择如何分割单词?

WordPiece 贪婪地进行标记,从当前位置开始匹配最长的词汇条目,然后重复其余部分。