字节对编码
字节对编码 (BPE) 是一种受压缩启发的算法,它通过重复合并最频繁的符号对来构建词汇表。
概述
It is the tokenizer behind GPT models, balancing tiny vocabularies of characters against huge vocabularies of whole words.
深入探讨
BPE 首先将文本视为单个字符(或原始字节)的序列。然后,它对每个相邻的符号对进行计数,将最常见的符号对合并为一个新的标记,并重复此操作数千次。每次合并都会被记录为规则。常见的字母序列(如“th”、“ing”)或整个频繁出现的单词逐渐变成单个标记,而罕见的单词则保持分割成较小的部分。它最初是 1994 年的一种数据压缩方法,后来由 Sennrich 等人改编为 NLP。 2016年机器翻译。 GPT-2 和 GPT-4 使用字节级 BPE,它在 UTF-8 字节上运行,因此任何字符、表情符号或语言始终可以以零词汇外故障进行编码。
技术洞察
训练 BPE 会生成合并规则的有序列表。为了标记新文本,该算法将其拆分为字节/字符,并以相同的优先级顺序贪婪地应用合并,直到没有规则匹配为止。字节级 BPE 保证了回退:即使是看不见的符号也会分解为其组成字节,因此 256 字节的词汇表加上学习的合并涵盖了没有 UNK 令牌的所有内容。
战略影响
速度与规模
语言工作流程可以在不牺牲一致性的情况下更快地移动。
交通与覆盖范围
它扩展了跨语言和沟通方式的访问。
更清晰的判决
团队可以花更多时间进行判断,而自动化则可以处理重复。
字节对编码的未来
BPE 仍然是主力标记器,但字节或字符级模型的压力越来越大,这些模型跳过显式标记化,避免代码、数学或非英语脚本中尴尬的分割等怪癖。对无 token 架构和学习 tokenizer 的研究旨在修复 BPE 的偏见。尽管如此,其速度和压缩效率意味着 BPE 风格的词汇表将在不久的将来为大多数生产法学硕士提供支持。
现实世界的实施
GPT-2 和 GPT-4 使用字节级 BPE,因此任何 Unicode 字符或表情符号都可以毫无错误地进行编码。
机器翻译系统使用 BPE 将稀有词或复合词分割成跨语言共享的可重用子词片段。
Hugging Face 的标记器库为生物医学或法律文本等自定义领域训练 BPE 词汇表。
代码模型使用 BPE 对标识符和关键字进行标记,将“def”或“==”等频繁模式合并为单个标记。
风险与防护栏
幻觉的事实可以悄悄地进入报告、支持流程或研究成果。
及时的敏感性可能会在类似的请求中产生不一致的结果。
如果访问控制薄弱,敏感文本数据可能会暴露。
实施路线图
在推出之前定义输出格式、语气和质量标准。
当准确性很重要时,请使用可信来源进行地面响应。
为高风险输出保留人工审查检查点。
跟踪故障模式并定期重新训练提示或工作流程。
不断探索
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 Byte-Pair Encoding 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 Byte-Pair Encoding?
字节对编码 (BPE) 是一种受压缩启发的算法,它通过重复合并最频繁的符号对来构建词汇表。它是 GPT 模型背后的分词器,平衡微小的字符词汇表和庞大的整个单词词汇表。
BPE 重复构建词汇表的核心操作是什么?
BPE 对相邻的符号对进行计数,并将最常见的单个符号合并为一个新的符号,重复数千次。
BPE 在开始训练时将文本视为什么?
BPE 从最小的单元(字符或原始字节)开始,并通过合并增长更大的令牌。
为什么字节级 BPE 可以避免词汇外 (UNK) 错误?
由于基本词汇表包含全部 256 个字节,因此即使是看不见的符号也会回退到其字节表示形式。
在 NLP 采用 BPE 算法之前,它最初来自哪里?
BPE 于 1994 年作为一种数据压缩技术引入,后来于 2016 年适用于子词标记化。
当对新文本进行标记时,BPE 如何应用其学到的规则?
合并规则是有序的,标记化按优先级贪婪地应用它们,直到没有其他规则匹配为止。