Transformers documentation

Transformers与Tiktonken的互操作性

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v4.48.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Transformers与Tiktonken的互操作性

在🤗 transformers中,当使用from_pretrained方法从Hub加载模型时,如果模型包含tiktoken格式的tokenizer.model文件,框架可以无缝支持tiktoken模型文件,并自动将其转换为我们的快速词符化器

已知包含 tiktoken.model 文件发布的模型:

  • gpt2
  • llama3

使用示例

为了在transformers中正确加载tiktoken文件,请确保tiktoken.model文件是tiktoken格式的,并且会在加载from_pretrained时自动加载。以下展示如何从同一个文件中加载词符化器(tokenizer)和模型:

from transformers import AutoTokenizer

model_id = "meta-llama/Meta-Llama-3-8B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_id, subfolder="original") 

创建tiktoken词符化器(tokenizer)

tokenizer.model文件中不包含任何额外的词符(token)或模式字符串(pattern strings)的信息。如果这些信息很重要,需要将词符化器(tokenizer)转换为适用于PreTrainedTokenizerFast类的tokenizer.json格式。

使用tiktoken.get_encoding生成tokenizer.model文件,再使用convert_tiktoken_to_fast函数将其转换为tokenizer.json文件。


from transformers.integrations.tiktoken import convert_tiktoken_to_fast
from tiktoken import get_encoding

# You can load your custom encoding or the one provided by OpenAI
encoding = get_encoding("gpt2")
convert_tiktoken_to_fast(encoding, "config/save/dir")

生成的tokenizer.json文件将被保存到指定的目录,并且可以通过PreTrainedTokenizerFast类来加载。

tokenizer = PreTrainedTokenizerFast.from_pretrained("config/save/dir")
< > Update on GitHub