llama.cpp version update (#16463)

Bump llama.cpp to b9493 and refresh the Laguna compat patch for upstream enum/tokenizer movement and the renamed SWA layer bitmap field.
This commit is contained in:
Daniel Hiltgen
2026-06-03 10:20:30 -07:00
committed by GitHub
parent 50bbda5660
commit 52196f1a97
3 changed files with 24 additions and 31 deletions

View File

@@ -1 +1 @@
b9479
b9493

View File

@@ -14,7 +14,7 @@ void llama_model_laguna::load_arch_hparams(llama_model_loader & ml) {
ml.get_key(LLM_KV_ATTENTION_SLIDING_WINDOW, hparams.n_swa, false);
hparams.swa_type = LLAMA_SWA_TYPE_STANDARD;
ml.get_key_or_arr("laguna.attention.layer_types", hparams.swa_layers, hparams.n_layer, false);
ml.get_key_or_arr("laguna.attention.layer_types", hparams.is_swa_impl, hparams.n_layer, false);
ml.get_key("laguna.rope.swa.dimension_count", hparams.n_rot_swa, false);
ml.get_key("laguna.rope.swa.freq_base", hparams.rope_freq_base_train_swa, false);

View File

@@ -1,57 +1,54 @@
diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp
index be8f73cc1..70a268566 100644
--- a/src/llama-arch.cpp
+++ b/src/llama-arch.cpp
@@ -137,2 +137,3 @@ static const std::map<llm_arch, const char *> LLM_ARCH_NAMES = {
{ LLM_ARCH_TALKIE, "talkie" },
@@ -136,2 +136,3 @@ static const std::map<llm_arch, const char *> LLM_ARCH_NAMES = {
{ LLM_ARCH_MELLUM, "mellum" },
+ { LLM_ARCH_LAGUNA, "laguna" },
{ LLM_ARCH_UNKNOWN, "(unknown)" },
@@ -374,2 +375,3 @@ static const std::map<llm_tensor, const char *> LLM_TENSOR_NAMES = {
@@ -380,2 +381,3 @@ static const std::map<llm_tensor, const char *> LLM_TENSOR_NAMES = {
{ LLM_TENSOR_ATTN_GATE, "blk.%d.attn_gate" },
+ { LLM_TENSOR_ATTN_GATE_LAGUNA, "blk.%d.attn_g" },
{ LLM_TENSOR_FFN_POST_NORM, "blk.%d.post_ffw_norm" },
@@ -589,2 +591,3 @@ static const std::map<llm_tensor, llm_tensor_info> LLM_TENSOR_INFOS = {
@@ -596,2 +598,3 @@ static const std::map<llm_tensor, llm_tensor_info> LLM_TENSOR_INFOS = {
{LLM_TENSOR_ATTN_GATE, {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}},
+ {LLM_TENSOR_ATTN_GATE_LAGUNA, {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}},
{LLM_TENSOR_FFN_GATE, {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}},
diff --git a/src/llama-arch.h b/src/llama-arch.h
index 2c71bbe81..1e0e059fc 100644
--- a/src/llama-arch.h
+++ b/src/llama-arch.h
@@ -141,2 +141,3 @@ enum llm_arch {
LLM_ARCH_TALKIE,
@@ -140,2 +140,3 @@ enum llm_arch {
LLM_ARCH_MELLUM,
+ LLM_ARCH_LAGUNA,
LLM_ARCH_UNKNOWN,
@@ -376,2 +377,3 @@ enum llm_tensor {
@@ -382,2 +383,3 @@ enum llm_tensor {
LLM_TENSOR_ATTN_GATE,
+ LLM_TENSOR_ATTN_GATE_LAGUNA,
LLM_TENSOR_FFN_GATE_INP,
diff --git a/src/llama-model.cpp b/src/llama-model.cpp
index 914fc423b..b135cff88 100644
--- a/src/llama-model.cpp
+++ b/src/llama-model.cpp
@@ -291,2 +291,4 @@ static llama_model * llama_model_mapping(llm_arch arch, const llama_model_params
return new llama_model_step35(params);
@@ -48,4 +48,6 @@ static llama_model * llama_model_mapping(llm_arch arch, const llama_model_params
case LLM_ARCH_TALKIE:
return new llama_model_talkie(params);
+ case LLM_ARCH_LAGUNA:
+ return new llama_model_laguna(params);
default:
@@ -2381,2 +2383,3 @@ llama_rope_type llama_model_rope_type(const llama_model * model) {
case LLM_ARCH_DECI:
return new llama_model_deci(params);
@@ -2409,2 +2411,3 @@ llama_rope_type llama_model_rope_type(const llama_model * model) {
case LLM_ARCH_TALKIE:
+ case LLM_ARCH_LAGUNA:
return LLAMA_ROPE_TYPE_NEOX;
case LLM_ARCH_MELLUM:
diff --git a/src/llama-model-loader.cpp b/src/llama-model-loader.cpp
index 1afeb766c..7d297565e 100644
--- a/src/llama-model-loader.cpp
+++ b/src/llama-model-loader.cpp
@@ -505,2 +505,3 @@ namespace GGUFMeta {
template bool llama_model_loader::get_key_or_arr<std::array<uint32_t, 512>>(enum llm_kv kid, std::array<uint32_t, 512> & result, uint32_t n, bool required);
+ template bool llama_model_loader::get_key_or_arr<uint32_t, 512>(const std::string & key, std::array<uint32_t, 512> & result, uint32_t n, bool required);
template bool llama_model_loader::get_key_or_arr<std::array<float, 512>>(enum llm_kv kid, std::array<float, 512> & result, uint32_t n, bool required);
template bool llama_model_loader::get_key_or_arr<std::array<float, 512>>(enum llm_kv kid, std::array<float, 512> & result, uint32_t n, bool required);
diff --git a/src/llama-vocab.cpp b/src/llama-vocab.cpp
index b61397311..cbdc32eef 100644
--- a/src/llama-vocab.cpp
+++ b/src/llama-vocab.cpp
@@ -360,2 +360,8 @@ struct llm_tokenizer_bpe : llm_tokenizer {
@@ -359,2 +359,8 @@ struct llm_tokenizer_bpe : llm_tokenizer {
break;
+ case LLAMA_VOCAB_PRE_TYPE_LAGUNA:
+ regex_exprs = {
@@ -60,30 +57,26 @@ index b61397311..cbdc32eef 100644
+ };
+ break;
case LLAMA_VOCAB_PRE_TYPE_GPT2:
@@ -2089,2 +2095,4 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) {
@@ -2100,2 +2106,4 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) {
ignore_merges = true;
+ } else if (tokenizer_pre == "laguna") {
+ pre_type = LLAMA_VOCAB_PRE_TYPE_LAGUNA;
} else if (
@@ -2740,2 +2748,3 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) {
@@ -2773,2 +2781,3 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) {
|| t.first == "<end▁of▁sentence>" // deepseek-ocr
+ || t.first == "</assistant>" // poolside Laguna (eos_token_ids)
) {
diff --git a/src/llama-vocab.h b/src/llama-vocab.h
index 093e5d02c..04156676c 100644
--- a/src/llama-vocab.h
+++ b/src/llama-vocab.h
@@ -64,2 +64,3 @@ enum llama_vocab_pre_type {
LLAMA_VOCAB_PRE_TYPE_WHITESPACE = 53,
+ LLAMA_VOCAB_PRE_TYPE_LAGUNA = 54,
@@ -65,2 +65,3 @@ enum llama_vocab_pre_type {
LLAMA_VOCAB_PRE_TYPE_MELLUM2 = 55,
+ LLAMA_VOCAB_PRE_TYPE_LAGUNA = 56,
};
diff --git a/src/models/models.h b/src/models/models.h
index 5251e2d82..067230045 100644
--- a/src/models/models.h
+++ b/src/models/models.h
@@ -1468,2 +1468,15 @@ struct llama_model_dots1 : public llama_model_base {
-
+
@@ -1481,1 +1481,14 @@ struct llama_model_dots1 : public llama_model_base {
+struct llama_model_laguna : public llama_model_base {
+ llama_model_laguna(const struct llama_model_params & params) : llama_model_base(params) {}
+ void load_arch_hparams(llama_model_loader & ml) override;