]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
model : fix model type check for granite/llama3 and deepseek2/glm4.7 lite (#22870)
authorSigbjørn Skjæret <redacted>
Sun, 10 May 2026 06:44:29 +0000 (08:44 +0200)
committerGitHub <redacted>
Sun, 10 May 2026 06:44:29 +0000 (08:44 +0200)
src/llama-model.cpp
src/models/deepseek2.cpp
src/models/llama.cpp

index 9d011ff3464b06c25e429f006011978e0080252c..ff30a2ae7a6fda77c5bf828ea06293b7f41d1349 100644 (file)
@@ -1131,10 +1131,6 @@ void llama_model_base::load_hparams(llama_model_loader & ml) {
         ml.get_key(LLM_KV_ROPE_DIMENSION_COUNT_SWA, hparams.n_rot_swa, false);
     }
 
-    // for differentiating model types
-    uint32_t n_vocab = 0;
-    ml.get_key(LLM_KV_VOCAB_SIZE, n_vocab, false) || ml.get_arr_n(LLM_KV_TOKENIZER_LIST, n_vocab, false);
-
     // for classifier models
     ml.get_arr(LLM_KV_CLASSIFIER_OUTPUT_LABELS, classifier_labels, false);
     if (!classifier_labels.empty()) {
index 53574df4663a56f811a6ce3093c8d2533e6119ba..1fe54adc13e26c837e7725cec29f660892ab2f53 100644 (file)
@@ -1,7 +1,8 @@
 #include "models.h"
 
 void llama_model_deepseek2::load_arch_hparams(llama_model_loader & ml) {
-    const auto n_vocab = vocab.n_tokens();
+    uint32_t n_vocab = 0;
+    ml.get_key(LLM_KV_VOCAB_SIZE, n_vocab, false) || ml.get_arr_n(LLM_KV_TOKENIZER_LIST, n_vocab, false);
 
     // lite variants include DeepSeek-V2-Lite, GigaChat3-10B-A1.8B, Kanana-2-30B-A3B
     const bool is_lite = (hparams.n_layer == 27 || hparams.n_layer == 26 || (hparams.n_layer == 48 && n_vocab == 128256));
index 10523117c59f0b31a8d6cf0d80bd3522a81b3b8b..8ddb5936820891dfc61328d71f6dd5f9bdb89b6d 100644 (file)
@@ -1,7 +1,8 @@
 #include "models.h"
 
 void llama_model_llama::load_arch_hparams(llama_model_loader & ml) {
-    const auto n_vocab = vocab.n_tokens();
+    uint32_t n_vocab = 0;
+    ml.get_key(LLM_KV_VOCAB_SIZE, n_vocab, false) || ml.get_arr_n(LLM_KV_TOKENIZER_LIST, n_vocab, false);
 
     ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps);