概述
It made multilingual models far easier to build by treating any language the same way.
深入探讨
大多数分词器假定单词之间用空格分隔,这对于不使用空格的语言(例如日语、中文或泰语)来说是错误的。 SentencePiece 由 Google 于 2018 年发布,通过将输入视为原始字符流(包括空格)并从数据本身学习子词单元的词汇表来回避这一问题。众所周知,它用可见标记(类似下划线的元符号)替换空格,因此标记化是完全可逆的:您始终可以重建准确的原始文本。 SentencePiece 支持两种主要算法,字节对编码(BPE)和 Unigram 语言模型,后者是其签名方法。由于它不需要特定于语言的预标记化,因此相同的管道适用于数百种语言,这就是 T5、ALBERT 等模型和许多多语言系统依赖它的原因。
现实世界的实施
Google 的 T5 模型,它使用在多语言 Web 文本上训练的 SentencePiece 词汇表。
对单词之间没有空格的日语或中文文本进行标记,而基于单词的标记器会失败。
为多语言翻译系统构建跨 100 多种语言的单一共享词汇表。
从标记无损地重建原始输入(包括间距),对于空格很重要的代码生成很有用。
SentencePiece 标记化的未来
由于其可逆性和语言中立性,SentencePiece 仍然是多语言和代码模型的主力。该领域正在逐渐探索完全跳过子词词汇的字节级和无标记器的方法,旨在消除损害算术、罕见语言和长数字的标记化怪癖。即便如此,SentencePiece 的 Unigram 和字节回退设计继续影响较新的分词器,其无损、从原始文本训练的理念将在不久的将来保持基础。
付诸实践
为什么这很重要
- 速度与规模. 语言工作流程可以在不牺牲一致性的情况下更快地移动。
- 交通与覆盖范围. 它扩展了跨语言和沟通方式的访问。
- 更清晰的判决. 团队可以花更多时间进行判断,而自动化则可以处理重复。
留意
- 幻觉的事实可以悄悄地进入报告、支持流程或研究成果。
- 及时的敏感性可能会在类似的请求中产生不一致的结果。
- 如果访问控制薄弱,敏感文本数据可能会暴露。
后续步骤
- 在推出之前定义输出格式、语气和质量标准。
- 当准确性很重要时,请使用可信来源进行地面响应。
- 为高风险输出保留人工审查检查点。
- 跟踪故障模式并定期重新训练提示或工作流程。
不断探索
常见问题
What is SentencePiece Tokenization?
SentencePiece 是一种与语言无关的分词器,它学习如何直接从数据将原始文本分割成子词片段,而不依赖于空格。通过以相同的方式对待任何语言,它使多语言模型的构建变得更加容易。
SentencePiece 避免了传统分词器所依赖的哪些关键假设?
SentencePiece 将输入视为原始字符流,因此它甚至适用于单词之间没有空格的语言。
为什么 SentencePiece 用可见的元符号替换空格?
将空格编码为可见标记意味着原始文本(包括间距)始终可以准确地重建。
SentencePiece 主要支持哪两种算法?
SentencePiece 提供字节对编码 (BPE) 和 Unigram 语言模型,其中 Unigram 是其签名方法。
Unigram 模型如何构建词汇?
Unigram 从许多候选片段开始,并使用期望最大化迭代地删除那些对语料库可能性贡献最小的候选片段。
哪个模型著名地使用了 SentencePiece 分词器?
Google 的 T5 使用 SentencePiece 词汇表,ALBERT 和许多多语言模型也是如此。