From 344688ce501f707c9a69839dc3e0860e9bdb45d9 Mon Sep 17 00:00:00 2001 From: Kawrakow Date: Sat, 7 Mar 2026 09:01:33 +0100 Subject: [PATCH] Add all Qwen3.5 model types (#1378) * Add all Qwen3.5 model types * Need also this --- src/llama-hparams.cpp | 7 ++++--- src/llama-model.cpp | 3 +++ src/llama-model.h | 3 +++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/llama-hparams.cpp b/src/llama-hparams.cpp index ab9953a1..20d9694a 100644 --- a/src/llama-hparams.cpp +++ b/src/llama-hparams.cpp @@ -502,8 +502,8 @@ void llm_load_hparams( } switch (hparams.n_layer) { - case 28: model.type = e_model::MODEL_80B_A3B; break; - case 48: model.type = e_model::MODEL_80B_A3B; break; + case 40: model.type = e_model::MODEL_35B_A3B; break; + case 48: model.type = e_model::MODEL_122B_A10B; break; case 60: model.type = e_model::MODEL_397B_A17B; break; default: model.type = e_model::MODEL_UNKNOWN; } @@ -530,7 +530,8 @@ void llm_load_hparams( } switch (hparams.n_layer) { - case 24: model.type = e_model::MODEL_2B; break; + case 24: model.type = hparams.n_embd == 1024 ? e_model::MODEL_0_8B : e_model::MODEL_2B; break; + case 32: model.type = hparams.n_embd == 2560 ? e_model::MODEL_4B : e_model::MODEL_9B; break; case 64: model.type = e_model::MODEL_27B; break; default: model.type = e_model::MODEL_UNKNOWN; } diff --git a/src/llama-model.cpp b/src/llama-model.cpp index c404fe0a..39023550 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -1681,6 +1681,7 @@ const char * llama_model_type_name(e_model type) { case MODEL_0_3B: return "0.3B"; case MODEL_0_5B: return "0.5B"; case MODEL_0_6B: return "0.6B"; + case MODEL_0_8B: return "0.8B"; case MODEL_1B: return "1B"; case MODEL_1_2B: return "1.2B"; case MODEL_1_3B: return "1.3B"; @@ -1743,10 +1744,12 @@ const char * llama_model_type_name(e_model type) { case MODEL_16B_A1B: return "16B.A1B"; case MODEL_21B_A3B: return "21B.A3B"; case MODEL_30B_A3B: return "30B.A3B"; + case MODEL_35B_A3B: return "35B.A3B"; case MODEL_80B_A3B: return "80B.A3B"; case MODEL_80B_A13B: return "80B.A13B"; case MODEL_100B_A6B: return "100B.A6B"; case MODEL_106B_A12B: return "106B.A12B"; + case MODEL_122B_A10B: return "122B.A10B"; case MODEL_230B_A10B: return "230B.A10B"; case MODEL_235B_A22B: return "235B.A22B"; case MODEL_310B_A15B: return "310B.A15B"; diff --git a/src/llama-model.h b/src/llama-model.h index 5c7bff33..8d79b4bf 100644 --- a/src/llama-model.h +++ b/src/llama-model.h @@ -45,6 +45,7 @@ enum e_model { MODEL_0_3B, MODEL_0_5B, MODEL_0_6B, + MODEL_0_8B, MODEL_1B, MODEL_1_2B, MODEL_1_3B, @@ -107,10 +108,12 @@ enum e_model { MODEL_16B_A1B, MODEL_21B_A3B, // Ernie MoE small MODEL_30B_A3B, + MODEL_35B_A3B, MODEL_80B_A3B, // Qwen3-Next MODEL_80B_A13B, MODEL_100B_A6B, MODEL_106B_A12B, + MODEL_122B_A10B, MODEL_230B_A10B, // Minimax M2 MODEL_235B_A22B, MODEL_310B_A15B,