Skip to content

Commit eb1776b

Browse files
authored
convert : Append mult-eos,half-rope,bos to GLM4-0414 and Z (#13021)
* append mult-eos,half-rope,bos to GLM4-0414 * remove unset var
1 parent 2cca6c0 commit eb1776b

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

convert_hf_to_gguf.py

+16-1
Original file line numberDiff line numberDiff line change
@@ -5079,10 +5079,25 @@ class Glm4Model(TextModel):
50795079
model_arch = gguf.MODEL_ARCH.GLM4
50805080

50815081
def set_vocab(self):
5082-
self._set_vocab_gpt2()
5082+
from transformers import AutoTokenizer
5083+
tokenizer = AutoTokenizer.from_pretrained(self.dir_model, trust_remote_code=True)
5084+
special_vocab = gguf.SpecialVocab(self.dir_model, load_merges=True)
5085+
tokens, toktypes, tokpre = self.get_vocab_base()
5086+
self.gguf_writer.add_tokenizer_model("gpt2")
5087+
self.gguf_writer.add_tokenizer_pre(tokpre)
5088+
self.gguf_writer.add_token_list(tokens)
5089+
self.gguf_writer.add_token_types(toktypes)
5090+
special_vocab = gguf.SpecialVocab(self.dir_model, load_merges=True)
5091+
special_vocab._set_special_token("eos", tokenizer.get_added_vocab()["<|endoftext|>"])
5092+
special_vocab._set_special_token("eot", tokenizer.get_added_vocab()["<|user|>"])
5093+
special_vocab._set_special_token("unk", tokenizer.get_added_vocab()["<|endoftext|>"])
5094+
special_vocab._set_special_token("bos", tokenizer.get_added_vocab()["[gMASK]"])
5095+
special_vocab.add_to_gguf(self.gguf_writer)
50835096

50845097
def set_gguf_parameters(self):
50855098
super().set_gguf_parameters()
5099+
rope_dim = self.hparams["head_dim"]
5100+
self.gguf_writer.add_rope_dimension_count(int(rope_dim * self.hparams.get("partial_rotary_factor", 0.5)))
50865101
if self.hparams.get("rope_scaling") is not None and "factor" in self.hparams["rope_scaling"]:
50875102
if self.hparams["rope_scaling"].get("type") == "yarn":
50885103
self.gguf_writer.add_rope_scaling_type(gguf.RopeScalingType.YARN)

0 commit comments

Comments
 (0)