mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-30 08:42:00 +00:00 
			
		
		
		
	model : support LiquidAI LFM2 hybrid family (#14620)
**Important** LFM2 was [merged ](https://github.com/huggingface/transformers/pull/39340)into transformers, but has not yet been released. To convert into gguf, install transformers from source ```shell pip install "transformers @ git+https://github.com/huggingface/transformers.git@main" ```
This commit is contained in:
		| @@ -83,6 +83,7 @@ static const std::map<llm_arch, const char *> LLM_ARCH_NAMES = { | ||||
|     { LLM_ARCH_ERNIE4_5,         "ernie4_5"         }, | ||||
|     { LLM_ARCH_HUNYUAN_MOE,      "hunyuan-moe"      }, | ||||
|     { LLM_ARCH_SMOLLM3,          "smollm3"          }, | ||||
|     { LLM_ARCH_LFM2,             "lfm2"             }, | ||||
|     { LLM_ARCH_UNKNOWN,          "(unknown)"        }, | ||||
| }; | ||||
|  | ||||
| @@ -188,6 +189,8 @@ static const std::map<llm_kv, const char *> LLM_KV_NAMES = { | ||||
|  | ||||
|     { LLM_KV_CLASSIFIER_OUTPUT_LABELS, "%s.classifier.output_labels" }, | ||||
|  | ||||
|     { LLM_KV_SHORTCONV_L_CACHE, "%s.shortconv.l_cache" }, | ||||
|  | ||||
|     { LLM_KV_TOKENIZER_MODEL,                "tokenizer.ggml.model"                    }, | ||||
|     { LLM_KV_TOKENIZER_PRE,                  "tokenizer.ggml.pre"                      }, | ||||
|     { LLM_KV_TOKENIZER_LIST,                 "tokenizer.ggml.tokens"                   }, | ||||
| @@ -1830,6 +1833,27 @@ static const std::map<llm_arch, std::map<llm_tensor, const char *>> LLM_TENSOR_N | ||||
|             { LLM_TENSOR_FFN_UP,         "blk.%d.ffn_up" }, | ||||
|         }, | ||||
|     }, | ||||
|     { | ||||
|         LLM_ARCH_LFM2, | ||||
|         { | ||||
|             { LLM_TENSOR_ATTN_NORM,         "blk.%d.attn_norm" }, | ||||
|             { LLM_TENSOR_ATTN_Q,            "blk.%d.attn_q" }, | ||||
|             { LLM_TENSOR_ATTN_K,            "blk.%d.attn_k" }, | ||||
|             { LLM_TENSOR_ATTN_V,            "blk.%d.attn_v" }, | ||||
|             { LLM_TENSOR_ATTN_OUT,          "blk.%d.attn_output" }, | ||||
|             { LLM_TENSOR_ATTN_K_NORM,       "blk.%d.attn_k_norm" }, | ||||
|             { LLM_TENSOR_ATTN_Q_NORM,       "blk.%d.attn_q_norm" }, | ||||
|             { LLM_TENSOR_FFN_DOWN,          "blk.%d.ffn_down" }, | ||||
|             { LLM_TENSOR_FFN_GATE,          "blk.%d.ffn_gate" }, | ||||
|             { LLM_TENSOR_FFN_NORM,          "blk.%d.ffn_norm" }, | ||||
|             { LLM_TENSOR_FFN_UP,            "blk.%d.ffn_up" }, | ||||
|             { LLM_TENSOR_SHORTCONV_CONV,    "blk.%d.shortconv.conv" }, | ||||
|             { LLM_TENSOR_SHORTCONV_INPROJ,  "blk.%d.shortconv.in_proj" }, | ||||
|             { LLM_TENSOR_SHORTCONV_OUTPROJ, "blk.%d.shortconv.out_proj" }, | ||||
|             { LLM_TENSOR_TOKEN_EMBD,        "token_embd" }, | ||||
|             { LLM_TENSOR_TOKEN_EMBD_NORM,   "token_embd_norm" }, | ||||
|         } | ||||
|     }, | ||||
|     { | ||||
|         LLM_ARCH_UNKNOWN, | ||||
|         { | ||||
| @@ -1997,6 +2021,9 @@ static const std::map<llm_tensor, llm_tensor_info> LLM_TENSOR_INFOS = { | ||||
|     {LLM_TENSOR_CONVNEXT_PW1,               {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}}, | ||||
|     {LLM_TENSOR_CONVNEXT_PW2,               {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}}, | ||||
|     {LLM_TENSOR_CONVNEXT_GAMMA,             {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL}}, | ||||
|     {LLM_TENSOR_SHORTCONV_CONV,             {LLM_TENSOR_LAYER_REPEATING, GGML_OP_SSM_CONV}}, | ||||
|     {LLM_TENSOR_SHORTCONV_INPROJ,           {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}}, | ||||
|     {LLM_TENSOR_SHORTCONV_OUTPROJ,          {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}}, | ||||
| }; | ||||
|  | ||||
| LLM_KV::LLM_KV(llm_arch arch, const char * suffix) : arch(arch), suffix(suffix) {} | ||||
| @@ -2068,6 +2095,7 @@ bool llm_arch_is_hybrid(const llm_arch & arch) { | ||||
|         case LLM_ARCH_JAMBA: | ||||
|         case LLM_ARCH_FALCON_H1: | ||||
|         case LLM_ARCH_GRANITE_HYBRID: | ||||
|         case LLM_ARCH_LFM2: | ||||
|             return true; | ||||
|         default: | ||||
|             return false; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Tarek Dakhran
					Tarek Dakhran