HuggingFace Transformer 模型下面都有些什么内容?

以 Qwen2.5-0.5B 模型为例,看一下具体都有哪些文件。
首先将 Hugging Face 上的模型拉下来 git clone https://huggingface.co/Qwen/Qwen2.5-0.5B,如果模型太大的话,可以执行 git clone https://huggingface.co/Qwen/Qwen2.5-0.5B --depth 1,只下载最新版本的模型就行了。

下载完能看到有以下文件:

config.json
merges.txt
tokenizer_config.json
generation_config.json
model.safetensors
tokenizer.json
LICENSE
README.md
vocab.json

其中最重要的就是 model.safetensors 了,保存了神经网络所有的参数,也是体积最大的文件。

config.jsongeneration_config.json 中保存了模型的一些基础信息。

再来看一下几个跟文本的 tokenization 相关的文件,分别包含了以下内容:

  • vocab.json token 与其序号的对应关系
  • merges.txt 合并后的 token 字符串,比如词根 teach,对应的单词在这个文件中有6行对应的:Ġteach erĠteach ingĠteach ersĠteach esĠteach ings. teacher
  • tokenizer_config.json tokenizer 的配置,包含了训练中用到的一些特殊字符的 token,比如 <|im_start|><|endoftext|>
  • tokenizer.json 包含了词表、merges 和特殊 token

如果仔细看一下 vocab.json 文件的内容,并不能找到中文字符对应的 token,但是 Qwen 模型是支持中文的,这是怎么处理的呢,原来这里还多加了一层编码。比如中文的“有”字,在文件中对应的字符是 ä¼ļ 对应的序号是 36993,可以通过 tokenizer.convert_ids_to_tokens 方法来进行转换

posted @ 2024-11-23 22:58  zion03  阅读(22)  评论(0编辑  收藏  举报