东湖之滨 发表于 2024-8-20 09:37:54

llama.cpp 转化 huggingface 模型失败 办理路径

题目:

   ./main -m ./models/book_q4_K_M -n 128
报错:
terminate called after throwing an instance of 'std::out_of_range' what(): unordered_map::at
办理方案:

python convert.py models/llama3-8B/ --vocab-type bpe
   报错:
Found vocab files: {'spm': None, 'bpe': PosixPath('models/llama3-8B/vocab.json'), 'hfft': PosixPath('models/llama3-8B/tokenizer.json')} Loading vocab file PosixPath('models/llama3-8B/vocab.json'), type 'bpe' Vocab info: <BpeVocab with 128000 base tokens and 256 added tokens> Special vocab info: <SpecialVocab with 280147 merges, special tokens {'bos': 128000, 'eos': 128009, 'pad': 128009}, add special tokens unset>
 (py310) root@quin-ubuntu:~/code/llama.cpp# ls models/llama3-8B/
 config.json             LICENSE                           model-00003-of-00004.safetensorsREADME.md              tokenizer.json
 generation_config.jsonmodel-00001-of-00004.safetensorsmodel-00004-of-00004.safetensorsspecial_tokens_map.json
 ggml-model-f16.gguf     model-00002-of-00004.safetensorsmodel.safetensors.index.json    tokenizer_config.json   发现没有 vocab.json 文件
复制 token.json 重定名为 vocab.json
   vocab.json 和 tokenizer.json 都是与自然语言处理模型中的令牌器(tokenizer)相关的设置文件,但它们包罗的信息和用途可能有所不同。

[*] vocab.json:

[*] 这个文件通常包罗了模型的词汇表(vocabulary),即模型能够理解和生成的全部单词或子词单元的列表。
[*] 词汇表文件可能包括每个词汇条目的索引、词汇自己以及相关的统计信息(如频率)。
[*] 在基于BPE(Byte Pair Encoding)或其他子词分割算法的令牌器中,vocab.json 文件可能包罗了全部合并利用(merges)的列表,这些合并利用定义了怎样将字符组合成子词单元。

[*] tokenizer.json:

[*] 这个文件可能包罗了令牌器的完整设置,包括词汇表、特殊令牌(如、、等)、分割规则、预处理和后处理步骤等。
[*] 在某些框架或模型中,tokenizer.json 可能是一个更全面的设置文件,它不仅包罗了词汇表信息,还可能包括了怎样将文本转换为模型输入的详细阐明。
[*] 这个文件可能用于生存和加载令牌器的设置,以便在不同的环境中重用雷同的令牌化过程。

在实际应用中,vocab.json 和 tokenizer.json 的详细内容和格式可能取决于所使用的框架和模型。例如,在Hugging Face的Transformers库中,tokenizer.json 文件通常包罗了令牌器的全部设置信息,而 vocab.json 可能只是词汇表的一部分。
假如你碰到需要使用这些文件的情况,你应该查阅相关模型或框架的文档,以确保你理解每个文件的确切用途和内容,并正确地使用它们。假如你的模型或脚本盼望找到 vocab.json 文件,但你只有 tokenizer.json,你可能需要查抄这两个文件是否可以互换,或者是否需要对脚本进行调解以适应现有的文件。
 cp models/llama3-8B/tokenizer.jsonmodels/llama3-8B/vocab.json 重新转换:
 # 转换模型
 python convert.py models/llama3-8B/ --vocab-type bpe
 ​
 # 量化模型
 ./quantize models/llama3-8B/ggml-model-f32.gguf ./models/book-Q4_K_M.gguf Q4_K_M
 ​
 # 运行模型
 ./main -m ./models/book-Q4_K_M.gguf -n 128
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: llama.cpp 转化 huggingface 模型失败 办理路径