[控场AI]
概念

SentencePiece

一种语言无关的子词分词工具,支持BPE和Unigram等多种分词算法,广泛用于大语言模型的Tokenizer,可直接从原始文本学习分词模型

核心事实

时间轴 (近 90 天)

10月23日

llama.cpp的tokenizer实现遵循SentencePiece与BPE两套主流方案,并针对GGUF内嵌的词表做了统一抽象,涵盖特殊token、字节回退、归一化规则等细节。

待验证50%
10月20日

SentencePiece的字节回退机制在遇到词汇表中不存在的字符时,会将该字符拆解为UTF-8原始字节序列,每个字节映射为一个token,从而避免产生UNK标记。

待验证50%
10月20日

TinyLlama在所有测试文字上的UNK率均为0.0%,因为SentencePiece的字节回退机制从不产生UNK标记。

待验证50%
10月20日

在覆盖全部三个split的9,000道贪心解码问题上,token ID 3582(对应裸词'yes')和1217(对应裸词'no')一次都没有被LLaVA-1.5-7B生成过,模型实际输出的是' Yes'(token 3869)和' No'(token 1939)。

待验证50%
10月20日

研究者对另外四个VLM、覆盖三个分词器家族做了四读数审计,结论是Yes/No读数混淆属于协议层面而非模型层面。

待验证50%
10月20日

把LLaVA-1.5的token ID原样移植到两个词表不相交的模型上,F1直接跌到0.00;而使用分词器派生的读数,F1稳定保持在0.80到0.92之间。

待验证50%
10月20日

SentencePiece将空格视为普通字符(用▁表示),当提示词以'ASSISTANT:'结尾时会在冒号后保留空格字节,导致模型预测的下一个token实际是带空格前缀的' Yes'/' No'形式。

待验证50%
10月16日

ArcLM 同时提供词级分词器和 SentencePiece 支持。

待验证50%
10月16日

子词分词将单词切成更小的片段,常见算法有 BPE、WordPiece 和 Unigram,SentencePiece 是其中一种与语言无关的工程实现。

已验证65%
10月16日

ArcLM 核心安装会自动引入 NumPy、SentencePiece 等依赖,但不会拉取 PyTorch。

待验证50%

还有 15 条时间轴事件

全部知识事实 (20)

已验证

子词分词将单词切成更小的片段,常见算法有 BPE、WordPiece 和 Unigram,SentencePiece 是其中一种与语言无关的工程实现。

65%
已验证

不同模型使用不同的分词方案(如BPE、SentencePiece等),同样一段文本在不同模型中被计量的token数可能不同

65%
已验证

Token由BPE(字节对编码)算法生成,英文文本平均每个token约对应4个字符(约0.75个单词)

65%
待验证

SentencePiece是Google提出的一种与语言无关的分词框架,直接在原始文本上建模,适合多语言和无明确词边界的语言

60%
待验证

OpenAI使用BPE(Byte Pair Encoding)算法进行分词,Google的SentencePiece采用与语言无关的分词方法直接在原始文本上训练

60%
待验证

OpenAI 使用 tiktoken 分词算法,Google 使用 SentencePiece 分词算法

60%
待验证

llama.cpp的tokenizer实现遵循SentencePiece与BPE两套主流方案,并针对GGUF内嵌的词表做了统一抽象,涵盖特殊token、字节回退、归一化规则等细节。

50%
待验证

SentencePiece的字节回退机制在遇到词汇表中不存在的字符时,会将该字符拆解为UTF-8原始字节序列,每个字节映射为一个token,从而避免产生UNK标记。

50%
待验证

TinyLlama在所有测试文字上的UNK率均为0.0%,因为SentencePiece的字节回退机制从不产生UNK标记。

50%
待验证

研究者对另外四个VLM、覆盖三个分词器家族做了四读数审计,结论是Yes/No读数混淆属于协议层面而非模型层面。

50%
待验证

在覆盖全部三个split的9,000道贪心解码问题上,token ID 3582(对应裸词'yes')和1217(对应裸词'no')一次都没有被LLaVA-1.5-7B生成过,模型实际输出的是' Yes'(token 3869)和' No'(token 1939)。

50%
待验证

SentencePiece将空格视为普通字符(用▁表示),当提示词以'ASSISTANT:'结尾时会在冒号后保留空格字节,导致模型预测的下一个token实际是带空格前缀的' Yes'/' No'形式。

50%
待验证

把LLaVA-1.5的token ID原样移植到两个词表不相交的模型上,F1直接跌到0.00;而使用分词器派生的读数,F1稳定保持在0.80到0.92之间。

50%
待验证

ArcLM 同时提供词级分词器和 SentencePiece 支持。

50%
待验证

ArcLM 核心安装会自动引入 NumPy、SentencePiece 等依赖,但不会拉取 PyTorch。

50%
待验证

Tokenizer负责将原始文本切分为模型可处理的token序列,主流方案包括BPE、WordPiece和SentencePiece

50%
待验证

Metaspace 是一种特殊的预分词处理技术,常见于 SentencePiece 分词体系,它将词语之间的空格替换为特殊的下划线字符(▁)

50%
待验证

SentencePiece工具库对Unigram语言模型分词有完整实现

50%
待验证

GLM 系列使用基于 SentencePiece 的分词器,并包含若干特殊控制 token(如 [gMASK]、<sop>)

50%
待验证

主流大模型普遍采用BPE(字节对编码)或其变体(如SentencePiece)作为分词算法,GPT-4的词表约为100,000个Token

50%

来源文章