Skip to content

Commit c7329b4

Browse files
use hunyuan_dense instead of hunyuan_v1_dense
Signed-off-by: stevenkuang <[email protected]>
1 parent 78de8db commit c7329b4

File tree

8 files changed

+22
-22
lines changed

8 files changed

+22
-22
lines changed

convert_hf_to_gguf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -685,7 +685,7 @@ def get_vocab_base_pre(self, tokenizer) -> str:
685685
# ref: https://huggingface.co/tencent/Hunyuan-A13B-Instruct
686686
res = "hunyuan"
687687
if chkhsh == "bba3b3366b646dbdded5dbc42d59598b849371afc42f7beafa914afaa5b70aa6":
688-
# TODO: update ref
688+
# ref: https://huggingface.co/tencent/Hunyuan-4B
689689
res = "hunyuan"
690690
if chkhsh == "a6b57017d60e6edb4d88ecc2845188e0eb333a70357e45dcc9b53964a73bbae6":
691691
# ref: https://huggingface.co/tiiuae/Falcon-H1-0.5B-Base
@@ -7536,7 +7536,7 @@ def prepare_tensors(self):
75367536

75377537
@ModelBase.register("HunYuanDenseV1ForCausalLM")
75387538
class HunYuanModel(TextModel):
7539-
model_arch = gguf.MODEL_ARCH.HUNYUAN_V1_DENSE
7539+
model_arch = gguf.MODEL_ARCH.HUNYUAN_DENSE
75407540

75417541
def __init__(self, *args, **kwargs):
75427542
super().__init__(*args, **kwargs)

convert_hf_to_gguf_update.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ class TOKENIZER_TYPE(IntEnum):
140140
{"name": "glm4", "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/THUDM/glm-4-9b-hf", "chkhsh": "a1336059768a55c99a734006ffb02203cd450fed003e9a71886c88acf24fdbc2"},
141141
{"name": "minerva-7b", "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/sapienzanlp/Minerva-7B-base-v1.0", "chkhsh": "1431a23e583c97432bc230bff598d103ddb5a1f89960c8f1d1051aaa944d0b35"},
142142
{"name": "hunyuan", "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/tencent/Hunyuan-A13B-Instruct", "chkhsh": "7e57df22b1fe23a7b1e1c7f3dc4e3f96d43a4eb0836d0c6bdc3436d7b2f1c664"},
143-
{"name": "hunyuan-v1-dense", "tokt": TOKENIZER_TYPE.BPE, "repo": "", "chkhsh": ""}, # TODO: update hunyuan-v1-dense repo
143+
{"name": "hunyuan", "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/tencent/Hunyuan-4B", "chkhsh": "bba3b3366b646dbdded5dbc42d59598b849371afc42f7beafa914afaa5b70aa6"},
144144
# falcon-h1 series uses 4 different tokenizers across model sizes (0.5b - 34b), hence we need to define 4 different hashes
145145
{"name": "falcon-h1", "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/tiiuae/Falcon-H1-0.5B-Base", "chkhsh": "a6b57017d60e6edb4d88ecc2845188e0eb333a70357e45dcc9b53964a73bbae6"},
146146
{"name": "falcon-h1", "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/tiiuae/Falcon-H1-1B-Base", "chkhsh": "60476e1243776c4fb1b993dbd7a5f15ac22f83c80afdf425fa5ae01c8d44ef86"},

gguf-py/gguf/constants.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ class MODEL_ARCH(IntEnum):
373373
ERNIE4_5 = auto()
374374
ERNIE4_5_MOE = auto()
375375
HUNYUAN_MOE = auto()
376-
HUNYUAN_V1_DENSE = auto()
376+
HUNYUAN_DENSE = auto()
377377
SMOLLM3 = auto()
378378
LFM2 = auto()
379379
DREAM = auto()
@@ -693,7 +693,7 @@ class MODEL_TENSOR(IntEnum):
693693
MODEL_ARCH.ERNIE4_5_MOE: "ernie4_5-moe",
694694
MODEL_ARCH.FALCON_H1: "falcon-h1",
695695
MODEL_ARCH.HUNYUAN_MOE: "hunyuan-moe",
696-
MODEL_ARCH.HUNYUAN_V1_DENSE: "hunyuan-v1-dense",
696+
MODEL_ARCH.HUNYUAN_DENSE: "hunyuan-dense",
697697
MODEL_ARCH.SMOLLM3: "smollm3",
698698
MODEL_ARCH.LFM2: "lfm2",
699699
MODEL_ARCH.DREAM: "dream",
@@ -2451,7 +2451,7 @@ class MODEL_TENSOR(IntEnum):
24512451
MODEL_TENSOR.FFN_DOWN_SHEXP,
24522452
MODEL_TENSOR.FFN_UP_SHEXP,
24532453
],
2454-
MODEL_ARCH.HUNYUAN_V1_DENSE: [
2454+
MODEL_ARCH.HUNYUAN_DENSE: [
24552455
MODEL_TENSOR.TOKEN_EMBD,
24562456
MODEL_TENSOR.OUTPUT_NORM,
24572457
MODEL_TENSOR.OUTPUT,

src/llama-arch.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ static const std::map<llm_arch, const char *> LLM_ARCH_NAMES = {
8585
{ LLM_ARCH_ERNIE4_5, "ernie4_5" },
8686
{ LLM_ARCH_ERNIE4_5_MOE, "ernie4_5-moe" },
8787
{ LLM_ARCH_HUNYUAN_MOE, "hunyuan-moe" },
88-
{ LLM_ARCH_HUNYUAN_V1_DENSE, "hunyuan-v1-dense" },
88+
{ LLM_ARCH_HUNYUAN_DENSE, "hunyuan-dense" },
8989
{ LLM_ARCH_SMOLLM3, "smollm3" },
9090
{ LLM_ARCH_LFM2, "lfm2" },
9191
{ LLM_ARCH_DREAM, "dream" },
@@ -1897,7 +1897,7 @@ static const std::map<llm_arch, std::map<llm_tensor, const char *>> LLM_TENSOR_N
18971897
},
18981898
},
18991899
{
1900-
LLM_ARCH_HUNYUAN_V1_DENSE,
1900+
LLM_ARCH_HUNYUAN_DENSE,
19011901
{
19021902
{ LLM_TENSOR_TOKEN_EMBD, "token_embd" },
19031903
{ LLM_TENSOR_OUTPUT_NORM, "output_norm" },

src/llama-arch.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ enum llm_arch {
8989
LLM_ARCH_ERNIE4_5,
9090
LLM_ARCH_ERNIE4_5_MOE,
9191
LLM_ARCH_HUNYUAN_MOE,
92-
LLM_ARCH_HUNYUAN_V1_DENSE,
92+
LLM_ARCH_HUNYUAN_DENSE,
9393
LLM_ARCH_SMOLLM3,
9494
LLM_ARCH_LFM2,
9595
LLM_ARCH_DREAM,

src/llama-chat.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ static const std::map<std::string, llm_chat_template> LLM_CHAT_TEMPLATES = {
6666
{ "llama4", LLM_CHAT_TEMPLATE_LLAMA4 },
6767
{ "smolvlm", LLM_CHAT_TEMPLATE_SMOLVLM },
6868
{ "hunyuan-moe", LLM_CHAT_TEMPLATE_HUNYUAN_MOE },
69-
{ "hunyuan-v1-dense", LLM_CHAT_TEMPLATE_HUNYUAN_V1_DENSE },
69+
{ "hunyuan-dense", LLM_CHAT_TEMPLATE_HUNYUAN_DENSE },
7070
{ "kimi-k2", LLM_CHAT_TEMPLATE_KIMI_K2 },
7171
};
7272

@@ -195,7 +195,7 @@ llm_chat_template llm_chat_detect_template(const std::string & tmpl) {
195195
} else if (tmpl_contains("<|startoftext|>") && tmpl_contains("<|extra_4|>")) {
196196
return LLM_CHAT_TEMPLATE_HUNYUAN_MOE;
197197
} else if (tmpl_contains("<|hy_place▁holder▁no▁2|>") && tmpl_contains("<|hy_place▁holder▁no▁3|>")) {
198-
return LLM_CHAT_TEMPLATE_HUNYUAN_V1_DENSE;
198+
return LLM_CHAT_TEMPLATE_HUNYUAN_DENSE;
199199
} else if (tmpl_contains("<|im_assistant|>assistant<|im_middle|>")) {
200200
return LLM_CHAT_TEMPLATE_KIMI_K2;
201201
}
@@ -706,8 +706,8 @@ int32_t llm_chat_apply_template(
706706
ss << "<|startoftext|>" << message->content << "<|extra_0|>";
707707
}
708708
}
709-
} else if (tmpl == LLM_CHAT_TEMPLATE_HUNYUAN_V1_DENSE) {
710-
// Todo: add model name
709+
} else if (tmpl == LLM_CHAT_TEMPLATE_HUNYUAN_DENSE) {
710+
// tencent/Hunyuan-4B
711711
for (size_t i = 0; i < chat.size(); i++) {
712712
std::string role(chat[i]->role);
713713
if (i == 0) {

src/llama-chat.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ enum llm_chat_template {
4646
LLM_CHAT_TEMPLATE_SMOLVLM,
4747
LLM_CHAT_TEMPLATE_DOTS1,
4848
LLM_CHAT_TEMPLATE_HUNYUAN_MOE,
49-
LLM_CHAT_TEMPLATE_HUNYUAN_V1_DENSE,
49+
LLM_CHAT_TEMPLATE_HUNYUAN_DENSE,
5050
LLM_CHAT_TEMPLATE_KIMI_K2,
5151
LLM_CHAT_TEMPLATE_UNKNOWN,
5252
};

src/llama-model.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1744,13 +1744,13 @@ void llama_model::load_hparams(llama_model_loader & ml) {
17441744
default: type = LLM_TYPE_UNKNOWN;
17451745
}
17461746
} break;
1747-
case LLM_ARCH_HUNYUAN_V1_DENSE:
1747+
case LLM_ARCH_HUNYUAN_DENSE:
17481748
{
17491749
ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps);
17501750

17511751
switch (hparams.n_embd) {
17521752
case 1024: type = LLM_TYPE_0_5B; break;
1753-
case 2048: type = LLM_TYPE_2B; break;
1753+
case 2048: type = LLM_TYPE_1_8B; break;
17541754
case 3072: type = LLM_TYPE_4B; break;
17551755
case 4096: type = LLM_TYPE_7B; break;
17561756
default: type = LLM_TYPE_UNKNOWN;
@@ -5115,7 +5115,7 @@ bool llama_model::load_tensors(llama_model_loader & ml) {
51155115
layer.ffn_down_shexp = create_tensor(tn(LLM_TENSOR_FFN_DOWN_SHEXP, "weight", i), {hparams.n_ff_shexp, n_embd}, 0);
51165116
}
51175117
} break;
5118-
case LLM_ARCH_HUNYUAN_V1_DENSE:
5118+
case LLM_ARCH_HUNYUAN_DENSE:
51195119
{
51205120
tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), {n_embd, n_vocab}, 0);
51215121

@@ -16741,8 +16741,8 @@ struct llm_build_hunyuan_moe : public llm_graph_context {
1674116741
}
1674216742
};
1674316743

16744-
struct llm_build_hunyuan_v1_dense : public llm_graph_context {
16745-
llm_build_hunyuan_v1_dense(const llama_model & model, const llm_graph_params & params) : llm_graph_context(params) {
16744+
struct llm_build_hunyuan_dense : public llm_graph_context {
16745+
llm_build_hunyuan_dense(const llama_model & model, const llm_graph_params & params) : llm_graph_context(params) {
1674616746
const int64_t n_embd_head = hparams.n_embd_head_v;
1674716747

1674816748
GGML_ASSERT(n_embd_head == hparams.n_embd_head_k);
@@ -17619,9 +17619,9 @@ ggml_cgraph * llama_model::build_graph(const llm_graph_params & params) const {
1761917619
{
1762017620
llm = std::make_unique<llm_build_hunyuan_moe>(*this, params);
1762117621
} break;
17622-
case LLM_ARCH_HUNYUAN_V1_DENSE:
17622+
case LLM_ARCH_HUNYUAN_DENSE:
1762317623
{
17624-
llm = std::make_unique<llm_build_hunyuan_v1_dense>(*this, params);
17624+
llm = std::make_unique<llm_build_hunyuan_dense>(*this, params);
1762517625
} break;
1762617626
case LLM_ARCH_SMOLLM3:
1762717627
{
@@ -17832,7 +17832,7 @@ llama_rope_type llama_model_rope_type(const llama_model * model) {
1783217832
case LLM_ARCH_MINICPM3:
1783317833
case LLM_ARCH_DOTS1:
1783417834
case LLM_ARCH_HUNYUAN_MOE:
17835-
case LLM_ARCH_HUNYUAN_V1_DENSE:
17835+
case LLM_ARCH_HUNYUAN_DENSE:
1783617836
case LLM_ARCH_LFM2:
1783717837
return LLAMA_ROPE_TYPE_NEOX;
1783817838

0 commit comments

Comments
 (0)