tiktoken (a fast BPE tokeniser for gpt4、chatgpt)

编程知识 更新时间:2023-05-02 18:12:40

OpenAI在其官方GitHub上公开了一个最新的开源Python库:tiktoken,这个库主要是用做字节对编码(BPE)的。相比较HuggingFace的tokenizer,其速度提升了好几倍。

chatgpt 按token 数量收费,1000个token大约700个单词,可以用tiktoken统计token数量,自己估算费用或者做token数量限制!

安装

pip install tiktoken

gpt2 demo

import tiktoken
enc = tiktoken.get_encoding("gpt2")
# 字节对编码过程,我的输出是[31373, 995]
encoding_res = enc.encode("hello tiktoken, what's chatgpt going on?")
print(encoding_res)
# 字节对解码过程,解码结果:hello world
raw_text = enc.decode(encoding_res)
print(raw_text)

BPE简介

字节编码对(Byte Pair Encoder,BPE)是一种子词处理的方法。其主要的目的是为了压缩文本数据。主要是将数据中最常连续出现的字节(bytes)替换成数据中没有出现的字节的方法。
其它一些流行的子词标记化算法包括WordPiece、Unigram和SentencePiece。而BPE用于GPT-2、RoBERTa、XLM、FlauBERT、chatgpt、gpt4等语言模型中。这些模型中有几个使用空间标记化作为预标记化方法,而有几个使用Moses, spaCY, ftfy提供的更高级的预标记化方法。

参考

openai/tiktoken(github)
chatgpt api 调用服务

更多推荐

tiktoken (a fast BPE tokeniser for gpt4、chatgpt)

本文发布于:2023-04-27 21:22:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/07782f333319d24dfa98c042e90dd7ca.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:BPE   fast   tiktoken   chatgpt   tokeniser

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 107500文章数
  • 27134阅读数
  • 0评论数