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:
@@ -1 +1 @@
|
||||
b9479
|
||||
b9493
|
||||
|
||||
2
llama/compat/models/laguna.cpp
vendored
2
llama/compat/models/laguna.cpp
vendored
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user