cl100k_base
tiktoken库中用于GPT-3.5/4系列的一种token编码方案,将文本映射为token序列。与Claude使用的分词器不同,因此用其统计Claude token数只能用于相对排序。
核心事实
时间轴 (近 90 天)
tiktoken 是 OpenAI 开源的分词库,cl100k_base 是其常用编码方案,一个英文词通常对应 1–2 个 token,中文则更多。
作者复现了此前发表的「The Tokenizer Tax」表格,66个单元格中66个误差在0.5%以内;cl100k_base下平均税率8.03倍(原论文8.0倍),o200k_base下2.14倍(原论文2.1倍)。
o200k_base是较新GPT系列使用的分词编码,词汇表更大,对代码、JSON这类结构化文本的切分效率通常优于旧版cl100k_base。
o200k_base是OpenAI为GPT-4o系列引入的分词器,词表约20万,对多语言(尤其是非英语)文本的压缩效率明显优于早期的cl100k_base。
在嵌套配置对象的测试中,使用 OpenAI 的 cl100k_base tokenizer 编码,JSON 为 99 个 token、322 个字符,YAML 为 66 个 token、223 个字符,YAML 将 token 数压低了 33.3%。
在 10 行、每行 4 个字段的规整表格数据测试中,使用 cl100k_base tokenizer 编码,JSON 为 323 个 token、963 个字符,YAML 为 221 个 token、590 个字符,YAML 领先 31.6%;TOON 格式为 97 个 token、235 个字符,比 JSON 少 70%,比 YAML 少 56.1%。
tiktoken是OpenAI开源的tokenizer库,cl100k_base是用于GPT-3.5/4系列的编码方案,其分词结果与Anthropic Claude自研分词器存在差异,通常相差个位数到十几个百分点
o200k_base 词表扩大到约 20 万个 token,相比 cl100k_base 对代码中常见符号和多字节字符的编码效率更高
cl100k_base 是 GPT-4 和 text-embedding-ada-002 等模型采用的具体词表
在 BPE 分词(cl100k_base,512/50)场景下,Chunkr 为 38 MB/s,Chonkie 以 151 MB/s 领先
还有 3 条时间轴事件
全部知识事实 (15)
GPT-4系列采用cl100k_base词表(约10万词元),GPT-4o系列升级至o200k_base(约20万词元)
90%已验证GPT-4使用的cl100k_base词表包含约10万个Token单元,可通过tiktoken库精确计算文本的Token数量
80%已验证OpenAI从GPT-2开始使用BPE的变体,GPT-4的cl100k_base词汇表包含约10万个token
65%待验证tiktoken 是 OpenAI 开源的分词库,cl100k_base 是其常用编码方案,一个英文词通常对应 1–2 个 token,中文则更多。
50%待验证作者复现了此前发表的「The Tokenizer Tax」表格,66个单元格中66个误差在0.5%以内;cl100k_base下平均税率8.03倍(原论文8.0倍),o200k_base下2.14倍(原论文2.1倍)。
50%待验证o200k_base是较新GPT系列使用的分词编码,词汇表更大,对代码、JSON这类结构化文本的切分效率通常优于旧版cl100k_base。
50%待验证o200k_base是OpenAI为GPT-4o系列引入的分词器,词表约20万,对多语言(尤其是非英语)文本的压缩效率明显优于早期的cl100k_base。
50%待验证在嵌套配置对象的测试中,使用 OpenAI 的 cl100k_base tokenizer 编码,JSON 为 99 个 token、322 个字符,YAML 为 66 个 token、223 个字符,YAML 将 token 数压低了 33.3%。
50%待验证在 10 行、每行 4 个字段的规整表格数据测试中,使用 cl100k_base tokenizer 编码,JSON 为 323 个 token、963 个字符,YAML 为 221 个 token、590 个字符,YAML 领先 31.6%;TOON 格式为 97 个 token、235 个字符,比 JSON 少 70%,比 YAML 少 56.1%。
50%待验证tiktoken是OpenAI开源的tokenizer库,cl100k_base是用于GPT-3.5/4系列的编码方案,其分词结果与Anthropic Claude自研分词器存在差异,通常相差个位数到十几个百分点
50%待验证o200k_base 词表扩大到约 20 万个 token,相比 cl100k_base 对代码中常见符号和多字节字符的编码效率更高
50%待验证cl100k_base 是 GPT-4 和 text-embedding-ada-002 等模型采用的具体词表
50%待验证在 BPE 分词(cl100k_base,512/50)场景下,Chunkr 为 38 MB/s,Chonkie 以 151 MB/s 领先
50%待验证GPT系列使用BPE算法并基于cl100k_base等词表,Llama系列使用SentencePiece,Gemini有自己的专有分词方案
50%待验证GPT-4 使用 cl100k_base tokenizer,与 Claude 的 tokenizer 对中文、代码等内容的切分策略不同
50%