Team Ai
Apppublic

KBaba7/llama.cpp

sourceHugging Faceapache-2.0updated 2y agoView on Hugging Face
0likes
llama-arch.cpp1493 linesDownload Raw Back to src
1#include "llama-arch.h"2 3#include "llama-impl.h"4 5#include <map>6 7static const std::map<llm_arch, const char *> LLM_ARCH_NAMES = {8    { LLM_ARCH_LLAMA,            "llama"            },9    { LLM_ARCH_DECI,             "deci"             },10    { LLM_ARCH_FALCON,           "falcon"           },11    { LLM_ARCH_GROK,             "grok"             },12    { LLM_ARCH_GPT2,             "gpt2"             },13    { LLM_ARCH_GPTJ,             "gptj"             },14    { LLM_ARCH_GPTNEOX,          "gptneox"          },15    { LLM_ARCH_MPT,              "mpt"              },16    { LLM_ARCH_BAICHUAN,         "baichuan"         },17    { LLM_ARCH_STARCODER,        "starcoder"        },18    { LLM_ARCH_REFACT,           "refact"           },19    { LLM_ARCH_BERT,             "bert"             },20    { LLM_ARCH_NOMIC_BERT,       "nomic-bert"       },21    { LLM_ARCH_JINA_BERT_V2,     "jina-bert-v2"     },22    { LLM_ARCH_BLOOM,            "bloom"            },23    { LLM_ARCH_STABLELM,         "stablelm"         },24    { LLM_ARCH_QWEN,             "qwen"             },25    { LLM_ARCH_QWEN2,            "qwen2"            },26    { LLM_ARCH_QWEN2MOE,         "qwen2moe"         },27    { LLM_ARCH_QWEN2VL,          "qwen2vl"          },28    { LLM_ARCH_PHI2,             "phi2"             },29    { LLM_ARCH_PHI3,             "phi3"             },30    { LLM_ARCH_PHIMOE,           "phimoe"           },31    { LLM_ARCH_PLAMO,            "plamo"            },32    { LLM_ARCH_CODESHELL,        "codeshell"        },33    { LLM_ARCH_ORION,            "orion"            },34    { LLM_ARCH_INTERNLM2,        "internlm2"        },35    { LLM_ARCH_MINICPM,          "minicpm"          },36    { LLM_ARCH_MINICPM3,         "minicpm3"         },37    { LLM_ARCH_GEMMA,            "gemma"            },38    { LLM_ARCH_GEMMA2,           "gemma2"           },39    { LLM_ARCH_STARCODER2,       "starcoder2"       },40    { LLM_ARCH_MAMBA,            "mamba"            },41    { LLM_ARCH_XVERSE,           "xverse"           },42    { LLM_ARCH_COMMAND_R,        "command-r"        },43    { LLM_ARCH_COHERE2,          "cohere2"          },44    { LLM_ARCH_DBRX,             "dbrx"             },45    { LLM_ARCH_OLMO,             "olmo"             },46    { LLM_ARCH_OLMO2,            "olmo2"            },47    { LLM_ARCH_OLMOE,            "olmoe"            },48    { LLM_ARCH_OPENELM,          "openelm"          },49    { LLM_ARCH_ARCTIC,           "arctic"           },50    { LLM_ARCH_DEEPSEEK,         "deepseek"         },51    { LLM_ARCH_DEEPSEEK2,        "deepseek2"        },52    { LLM_ARCH_CHATGLM,          "chatglm"          },53    { LLM_ARCH_BITNET,           "bitnet"           },54    { LLM_ARCH_T5,               "t5"               },55    { LLM_ARCH_T5ENCODER,        "t5encoder"        },56    { LLM_ARCH_JAIS,             "jais"             },57    { LLM_ARCH_NEMOTRON,         "nemotron"         },58    { LLM_ARCH_EXAONE,           "exaone"           },59    { LLM_ARCH_RWKV6,            "rwkv6"            },60    { LLM_ARCH_RWKV6QWEN2,       "rwkv6qwen2"       },61    { LLM_ARCH_GRANITE,          "granite"          },62    { LLM_ARCH_GRANITE_MOE,      "granitemoe"       },63    { LLM_ARCH_CHAMELEON,        "chameleon"        },64    { LLM_ARCH_WAVTOKENIZER_DEC, "wavtokenizer-dec" },65    { LLM_ARCH_UNKNOWN,          "(unknown)"        },66};67 68static const std::map<llm_kv, const char *> LLM_KV_NAMES = {69    { LLM_KV_GENERAL_TYPE,                 "general.type"                          },70    { LLM_KV_GENERAL_ARCHITECTURE,         "general.architecture"                  },71    { LLM_KV_GENERAL_QUANTIZATION_VERSION, "general.quantization_version"          },72    { LLM_KV_GENERAL_ALIGNMENT,            "general.alignment"                     },73    { LLM_KV_GENERAL_NAME,                 "general.name"                          },74    { LLM_KV_GENERAL_AUTHOR,               "general.author"                        },75    { LLM_KV_GENERAL_VERSION,              "general.version"                       },76    { LLM_KV_GENERAL_URL,                  "general.url"                           },77    { LLM_KV_GENERAL_DESCRIPTION,          "general.description"                   },78    { LLM_KV_GENERAL_LICENSE,              "general.license"                       },79    { LLM_KV_GENERAL_SOURCE_URL,           "general.source.url"                    },80    { LLM_KV_GENERAL_SOURCE_HF_REPO,       "general.source.huggingface.repository" },81 82    { LLM_KV_VOCAB_SIZE,                        "%s.vocab_size"                        },83    { LLM_KV_CONTEXT_LENGTH,                    "%s.context_length"                    },84    { LLM_KV_EMBEDDING_LENGTH,                  "%s.embedding_length"                  },85    { LLM_KV_FEATURES_LENGTH,                   "%s.features_length"                   },86    { LLM_KV_BLOCK_COUNT,                       "%s.block_count"                       },87    { LLM_KV_LEADING_DENSE_BLOCK_COUNT,         "%s.leading_dense_block_count"         },88    { LLM_KV_FEED_FORWARD_LENGTH,               "%s.feed_forward_length"               },89    { LLM_KV_EXPERT_FEED_FORWARD_LENGTH,        "%s.expert_feed_forward_length"        },90    { LLM_KV_EXPERT_SHARED_FEED_FORWARD_LENGTH, "%s.expert_shared_feed_forward_length" },91    { LLM_KV_USE_PARALLEL_RESIDUAL,             "%s.use_parallel_residual"             },92    { LLM_KV_TENSOR_DATA_LAYOUT,                "%s.tensor_data_layout"                },93    { LLM_KV_EXPERT_COUNT,                      "%s.expert_count"                      },94    { LLM_KV_EXPERT_USED_COUNT,                 "%s.expert_used_count"                 },95    { LLM_KV_EXPERT_SHARED_COUNT,               "%s.expert_shared_count"               },96    { LLM_KV_EXPERT_WEIGHTS_SCALE,              "%s.expert_weights_scale"              },97    { LLM_KV_EXPERT_WEIGHTS_NORM,               "%s.expert_weights_norm"               },98    { LLM_KV_EXPERT_GATING_FUNC,                "%s.expert_gating_func"                },99    { LLM_KV_POOLING_TYPE,                      "%s.pooling_type"                      },100    { LLM_KV_LOGIT_SCALE,                       "%s.logit_scale"                       },101    { LLM_KV_DECODER_START_TOKEN_ID,            "%s.decoder_start_token_id"            },102    { LLM_KV_ATTN_LOGIT_SOFTCAPPING,            "%s.attn_logit_softcapping"            },103    { LLM_KV_FINAL_LOGIT_SOFTCAPPING,           "%s.final_logit_softcapping"           },104    { LLM_KV_SWIN_NORM,                         "%s.swin_norm"                         },105    { LLM_KV_RESCALE_EVERY_N_LAYERS,            "%s.rescale_every_n_layers"            },106    { LLM_KV_TIME_MIX_EXTRA_DIM,                "%s.time_mix_extra_dim"                },107    { LLM_KV_TIME_DECAY_EXTRA_DIM,              "%s.time_decay_extra_dim"              },108    { LLM_KV_RESIDUAL_SCALE,                    "%s.residual_scale"                    },109    { LLM_KV_EMBEDDING_SCALE,                   "%s.embedding_scale"                   },110    { LLM_KV_TOKEN_SHIFT_COUNT,                 "%s.token_shift_count"                 },111 112    { LLM_KV_ATTENTION_HEAD_COUNT,             "%s.attention.head_count"             },113    { LLM_KV_ATTENTION_HEAD_COUNT_KV,          "%s.attention.head_count_kv"          },114    { LLM_KV_ATTENTION_MAX_ALIBI_BIAS,         "%s.attention.max_alibi_bias"         },115    { LLM_KV_ATTENTION_CLAMP_KQV,              "%s.attention.clamp_kqv"              },116    { LLM_KV_ATTENTION_KEY_LENGTH,             "%s.attention.key_length"             },117    { LLM_KV_ATTENTION_VALUE_LENGTH,           "%s.attention.value_length"           },118    { LLM_KV_ATTENTION_LAYERNORM_EPS,          "%s.attention.layer_norm_epsilon"     },119    { LLM_KV_ATTENTION_LAYERNORM_RMS_EPS,      "%s.attention.layer_norm_rms_epsilon" },120    { LLM_KV_ATTENTION_GROUPNORM_EPS,          "%s.attention.group_norm_epsilon"     },121    { LLM_KV_ATTENTION_GROUPNORM_GROUPS,       "%s.attention.group_norm_groups"      },122    { LLM_KV_ATTENTION_CAUSAL,                 "%s.attention.causal"                 },123    { LLM_KV_ATTENTION_Q_LORA_RANK,            "%s.attention.q_lora_rank"            },124    { LLM_KV_ATTENTION_KV_LORA_RANK,           "%s.attention.kv_lora_rank"           },125    { LLM_KV_ATTENTION_RELATIVE_BUCKETS_COUNT, "%s.attention.relative_buckets_count" },126    { LLM_KV_ATTENTION_SLIDING_WINDOW,         "%s.attention.sliding_window"         },127    { LLM_KV_ATTENTION_SCALE,                  "%s.attention.scale"                  },128 129    { LLM_KV_ROPE_DIMENSION_COUNT,      "%s.rope.dimension_count"                 },130    { LLM_KV_ROPE_DIMENSION_SECTIONS,   "%s.rope.dimension_sections"              },131    { LLM_KV_ROPE_FREQ_BASE,            "%s.rope.freq_base"                       },132    { LLM_KV_ROPE_SCALE_LINEAR,         "%s.rope.scale_linear"                    },133    { LLM_KV_ROPE_SCALING_TYPE,         "%s.rope.scaling.type"                    },134    { LLM_KV_ROPE_SCALING_FACTOR,       "%s.rope.scaling.factor"                  },135    { LLM_KV_ROPE_SCALING_ATTN_FACTOR,  "%s.rope.scaling.attn_factor"             },136    { LLM_KV_ROPE_SCALING_ORIG_CTX_LEN, "%s.rope.scaling.original_context_length" },137    { LLM_KV_ROPE_SCALING_FINETUNED,    "%s.rope.scaling.finetuned"               },138    { LLM_KV_ROPE_SCALING_YARN_LOG_MUL, "%s.rope.scaling.yarn_log_multiplier"     },139 140    { LLM_KV_SPLIT_NO,            "split.no"            },141    { LLM_KV_SPLIT_COUNT,         "split.count"         },142    { LLM_KV_SPLIT_TENSORS_COUNT, "split.tensors.count" },143 144    { LLM_KV_SSM_CONV_KERNEL,    "%s.ssm.conv_kernel"    },145    { LLM_KV_SSM_INNER_SIZE,     "%s.ssm.inner_size"     },146    { LLM_KV_SSM_STATE_SIZE,     "%s.ssm.state_size"     },147    { LLM_KV_SSM_TIME_STEP_RANK, "%s.ssm.time_step_rank" },148    { LLM_KV_SSM_DT_B_C_RMS,     "%s.ssm.dt_b_c_rms"     },149 150    { LLM_KV_WKV_HEAD_SIZE, "%s.wkv.head_size" },151 152    { LLM_KV_POSNET_EMBEDDING_LENGTH, "%s.posnet.embedding_length" },153    { LLM_KV_POSNET_BLOCK_COUNT,      "%s.posnet.block_count"      },154 155    { LLM_KV_CONVNEXT_EMBEDDING_LENGTH, "%s.convnext.embedding_length" },156    { LLM_KV_CONVNEXT_BLOCK_COUNT,      "%s.convnext.block_count"      },157 158    { LLM_KV_TOKENIZER_MODEL,                "tokenizer.ggml.model"                    },159    { LLM_KV_TOKENIZER_PRE,                  "tokenizer.ggml.pre"                      },160    { LLM_KV_TOKENIZER_LIST,                 "tokenizer.ggml.tokens"                   },161    { LLM_KV_TOKENIZER_TOKEN_TYPE,           "tokenizer.ggml.token_type"               },162    { LLM_KV_TOKENIZER_TOKEN_TYPE_COUNT,     "tokenizer.ggml.token_type_count"         },163    { LLM_KV_TOKENIZER_SCORES,               "tokenizer.ggml.scores"                   },164    { LLM_KV_TOKENIZER_MERGES,               "tokenizer.ggml.merges"                   },165    { LLM_KV_TOKENIZER_BOS_ID,               "tokenizer.ggml.bos_token_id"             },166    { LLM_KV_TOKENIZER_EOS_ID,               "tokenizer.ggml.eos_token_id"             },167    { LLM_KV_TOKENIZER_EOT_ID,               "tokenizer.ggml.eot_token_id"             },168    { LLM_KV_TOKENIZER_EOM_ID,               "tokenizer.ggml.eom_token_id"             },169    { LLM_KV_TOKENIZER_UNK_ID,               "tokenizer.ggml.unknown_token_id"         },170    { LLM_KV_TOKENIZER_SEP_ID,               "tokenizer.ggml.seperator_token_id"       },171    { LLM_KV_TOKENIZER_PAD_ID,               "tokenizer.ggml.padding_token_id"         },172    { LLM_KV_TOKENIZER_CLS_ID,               "tokenizer.ggml.cls_token_id"             },173    { LLM_KV_TOKENIZER_MASK_ID,              "tokenizer.ggml.mask_token_id"            },174    { LLM_KV_TOKENIZER_ADD_BOS,              "tokenizer.ggml.add_bos_token"            },175    { LLM_KV_TOKENIZER_ADD_EOS,              "tokenizer.ggml.add_eos_token"            },176    { LLM_KV_TOKENIZER_ADD_PREFIX,           "tokenizer.ggml.add_space_prefix"         },177    { LLM_KV_TOKENIZER_REMOVE_EXTRA_WS,      "tokenizer.ggml.remove_extra_whitespaces" },178    { LLM_KV_TOKENIZER_PRECOMPILED_CHARSMAP, "tokenizer.ggml.precompiled_charsmap"     },179    { LLM_KV_TOKENIZER_HF_JSON,              "tokenizer.huggingface.json"              },180    { LLM_KV_TOKENIZER_RWKV,                 "tokenizer.rwkv.world"                    },181    { LLM_KV_TOKENIZER_CHAT_TEMPLATE,        "tokenizer.chat_template"                 },182    { LLM_KV_TOKENIZER_CHAT_TEMPLATE_N,      "tokenizer.chat_template.%s"              },183    { LLM_KV_TOKENIZER_FIM_PRE_ID,           "tokenizer.ggml.fim_pre_token_id"         },184    { LLM_KV_TOKENIZER_FIM_SUF_ID,           "tokenizer.ggml.fim_suf_token_id"         },185    { LLM_KV_TOKENIZER_FIM_MID_ID,           "tokenizer.ggml.fim_mid_token_id"         },186    { LLM_KV_TOKENIZER_FIM_PAD_ID,           "tokenizer.ggml.fim_pad_token_id"         },187    { LLM_KV_TOKENIZER_FIM_REP_ID,           "tokenizer.ggml.fim_rep_token_id"         },188    { LLM_KV_TOKENIZER_FIM_SEP_ID,           "tokenizer.ggml.fim_sep_token_id"         },189 190    { LLM_KV_ADAPTER_TYPE,       "adapter.type"       },191    { LLM_KV_ADAPTER_LORA_ALPHA, "adapter.lora.alpha" },192 193    // deprecated194    { LLM_KV_TOKENIZER_PREFIX_ID, "tokenizer.ggml.prefix_token_id" },195    { LLM_KV_TOKENIZER_SUFFIX_ID, "tokenizer.ggml.suffix_token_id" },196    { LLM_KV_TOKENIZER_MIDDLE_ID, "tokenizer.ggml.middle_token_id" },197};198 199static const std::map<llm_arch, std::map<llm_tensor, const char *>> LLM_TENSOR_NAMES = {200    {201        LLM_ARCH_LLAMA,202        {203            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },204            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },205            { LLM_TENSOR_OUTPUT,          "output" },206            { LLM_TENSOR_ROPE_FREQS,      "rope_freqs" },207            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },208            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },209            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },210            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },211            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },212            { LLM_TENSOR_ATTN_ROT_EMBD,   "blk.%d.attn_rot_embd" },213            { LLM_TENSOR_FFN_GATE_INP,    "blk.%d.ffn_gate_inp" },214            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },215            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },216            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },217            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },218            { LLM_TENSOR_FFN_GATE_EXP,    "blk.%d.ffn_gate.%d" },219            { LLM_TENSOR_FFN_DOWN_EXP,    "blk.%d.ffn_down.%d" },220            { LLM_TENSOR_FFN_UP_EXP,      "blk.%d.ffn_up.%d" },221            { LLM_TENSOR_FFN_GATE_EXPS,   "blk.%d.ffn_gate_exps" },222            { LLM_TENSOR_FFN_DOWN_EXPS,   "blk.%d.ffn_down_exps" },223            { LLM_TENSOR_FFN_UP_EXPS,     "blk.%d.ffn_up_exps" },224        },225    },226    {227        LLM_ARCH_DECI,228        {229            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },230            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },231            { LLM_TENSOR_OUTPUT,          "output" },232            { LLM_TENSOR_ROPE_FREQS,      "rope_freqs" },233            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },234            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },235            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },236            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },237            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },238            { LLM_TENSOR_ATTN_ROT_EMBD,   "blk.%d.attn_rot_embd" },239            { LLM_TENSOR_FFN_GATE_INP,    "blk.%d.ffn_gate_inp" },240            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },241            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },242            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },243            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },244            { LLM_TENSOR_FFN_GATE_EXP,    "blk.%d.ffn_gate.%d" },245            { LLM_TENSOR_FFN_DOWN_EXP,    "blk.%d.ffn_down.%d" },246            { LLM_TENSOR_FFN_UP_EXP,      "blk.%d.ffn_up.%d" },247            { LLM_TENSOR_FFN_GATE_EXPS,   "blk.%d.ffn_gate_exps" },248            { LLM_TENSOR_FFN_DOWN_EXPS,   "blk.%d.ffn_down_exps" },249            { LLM_TENSOR_FFN_UP_EXPS,     "blk.%d.ffn_up_exps" },250        },251    },252    {253        LLM_ARCH_BAICHUAN,254        {255            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },256            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },257            { LLM_TENSOR_OUTPUT,          "output" },258            { LLM_TENSOR_ROPE_FREQS,      "rope_freqs" },259            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },260            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },261            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },262            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },263            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },264            { LLM_TENSOR_ATTN_ROT_EMBD,   "blk.%d.attn_rot_embd" },265            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },266            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },267            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },268            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },269        },270    },271    {272        LLM_ARCH_FALCON,273        {274            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },275            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },276            { LLM_TENSOR_OUTPUT,          "output" },277            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },278            { LLM_TENSOR_ATTN_NORM_2,     "blk.%d.attn_norm_2" },279            { LLM_TENSOR_ATTN_QKV,        "blk.%d.attn_qkv" },280            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },281            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },282            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },283        },284    },285    {286        LLM_ARCH_GROK,287        {288            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },289            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },290            { LLM_TENSOR_OUTPUT,          "output" },291            { LLM_TENSOR_ROPE_FREQS,      "rope_freqs" },292            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },293            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },294            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },295            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },296            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },297            { LLM_TENSOR_ATTN_ROT_EMBD,   "blk.%d.attn_rot_embd" },298            { LLM_TENSOR_FFN_GATE_INP,    "blk.%d.ffn_gate_inp" },299            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },300            { LLM_TENSOR_FFN_GATE_EXP,    "blk.%d.ffn_gate.%d" },301            { LLM_TENSOR_FFN_DOWN_EXP,    "blk.%d.ffn_down.%d" },302            { LLM_TENSOR_FFN_UP_EXP,      "blk.%d.ffn_up.%d" },303            { LLM_TENSOR_FFN_GATE_EXPS,   "blk.%d.ffn_gate_exps" },304            { LLM_TENSOR_FFN_DOWN_EXPS,   "blk.%d.ffn_down_exps" },305            { LLM_TENSOR_FFN_UP_EXPS,     "blk.%d.ffn_up_exps" },306            { LLM_TENSOR_LAYER_OUT_NORM,  "blk.%d.layer_output_norm" },307            { LLM_TENSOR_ATTN_OUT_NORM,   "blk.%d.attn_output_norm" },308        },309    },310    {311        LLM_ARCH_GPT2,312        {313            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },314            { LLM_TENSOR_POS_EMBD,        "position_embd" },315            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },316            { LLM_TENSOR_OUTPUT,          "output" },317            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },318            { LLM_TENSOR_ATTN_QKV,        "blk.%d.attn_qkv" },319            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },320            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },321            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },322            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },323        },324    },325    {326        LLM_ARCH_GPTJ,327        {328            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },329        },330    },331    {332        LLM_ARCH_GPTNEOX,333        {334            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },335            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },336            { LLM_TENSOR_OUTPUT,          "output" },337            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },338            { LLM_TENSOR_ATTN_QKV,        "blk.%d.attn_qkv" },339            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },340            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },341            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },342            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },343        },344    },345    {346        LLM_ARCH_MPT,347        {348            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },349            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },350            { LLM_TENSOR_OUTPUT,          "output"},351            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },352            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },353            { LLM_TENSOR_ATTN_QKV,        "blk.%d.attn_qkv" },354            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },355            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },356            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },357            { LLM_TENSOR_FFN_ACT,         "blk.%d.ffn.act" },358            { LLM_TENSOR_POS_EMBD,        "position_embd" },359            { LLM_TENSOR_ATTN_Q_NORM,     "blk.%d.attn_q_norm"},360            { LLM_TENSOR_ATTN_K_NORM,     "blk.%d.attn_k_norm"},361        },362    },363    {364        LLM_ARCH_STARCODER,365        {366            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },367            { LLM_TENSOR_POS_EMBD,        "position_embd" },368            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },369            { LLM_TENSOR_OUTPUT,          "output" },370            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },371            { LLM_TENSOR_ATTN_QKV,        "blk.%d.attn_qkv" },372            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },373            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },374            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },375            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },376        },377    },378    {379        LLM_ARCH_REFACT,380        {381            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },382            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },383            { LLM_TENSOR_OUTPUT,          "output" },384            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },385            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },386            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },387            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },388            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },389            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },390            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },391            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },392            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },393        },394    },395    {396        LLM_ARCH_BERT,397        {398            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },399            { LLM_TENSOR_TOKEN_EMBD_NORM, "token_embd_norm" },400            { LLM_TENSOR_TOKEN_TYPES,     "token_types" },401            { LLM_TENSOR_POS_EMBD,        "position_embd" },402            { LLM_TENSOR_ATTN_OUT_NORM,   "blk.%d.attn_output_norm" },403            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },404            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },405            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },406            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },407            { LLM_TENSOR_LAYER_OUT_NORM,  "blk.%d.layer_output_norm" },408            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },409            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },410            { LLM_TENSOR_CLS,             "cls" },411            { LLM_TENSOR_CLS_OUT,         "cls.output" },412        },413    },414    {415        LLM_ARCH_NOMIC_BERT,416        {417            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },418            { LLM_TENSOR_TOKEN_EMBD_NORM, "token_embd_norm" },419            { LLM_TENSOR_TOKEN_TYPES,     "token_types" },420            { LLM_TENSOR_ATTN_OUT_NORM,   "blk.%d.attn_output_norm" },421            { LLM_TENSOR_ATTN_QKV,        "blk.%d.attn_qkv" },422            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },423            { LLM_TENSOR_LAYER_OUT_NORM,  "blk.%d.layer_output_norm" },424            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },425            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },426            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },427        },428    },429    {430        LLM_ARCH_JINA_BERT_V2,431        {432            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },433            { LLM_TENSOR_TOKEN_EMBD_NORM, "token_embd_norm" },434            { LLM_TENSOR_TOKEN_TYPES,     "token_types" },435            { LLM_TENSOR_ATTN_NORM_2,     "blk.%d.attn_norm_2" },436            { LLM_TENSOR_ATTN_OUT_NORM,   "blk.%d.attn_output_norm" },437            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },438            { LLM_TENSOR_ATTN_Q_NORM,     "blk.%d.attn_q_norm" },439            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },440            { LLM_TENSOR_ATTN_K_NORM,     "blk.%d.attn_k_norm" },441            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },442            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },443            { LLM_TENSOR_LAYER_OUT_NORM,  "blk.%d.layer_output_norm" },444            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },445            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },446            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },447            { LLM_TENSOR_CLS,             "cls" },448        },449    },450    {451        LLM_ARCH_BLOOM,452        {453            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },454            { LLM_TENSOR_TOKEN_EMBD_NORM, "token_embd_norm" },455            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },456            { LLM_TENSOR_OUTPUT,          "output" },457            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },458            { LLM_TENSOR_ATTN_QKV,        "blk.%d.attn_qkv" },459            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },460            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },461            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },462            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },463        },464    },465    {466        LLM_ARCH_STABLELM,467        {468            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },469            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },470            { LLM_TENSOR_OUTPUT,          "output" },471            { LLM_TENSOR_ROPE_FREQS,      "rope_freqs" },472            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },473            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },474            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },475            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },476            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },477            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },478            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },479            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },480            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },481            { LLM_TENSOR_ATTN_Q_NORM,     "blk.%d.attn_q_norm" },482            { LLM_TENSOR_ATTN_K_NORM,     "blk.%d.attn_k_norm" },483        },484    },485    {486        LLM_ARCH_QWEN,487        {488            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },489            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },490            { LLM_TENSOR_OUTPUT,          "output" },491            { LLM_TENSOR_ROPE_FREQS,      "rope_freqs" },492            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },493            { LLM_TENSOR_ATTN_QKV,        "blk.%d.attn_qkv" },494            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },495            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },496            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },497            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },498            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },499        },500    },501    {502        LLM_ARCH_QWEN2,503        {504            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },505            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },506            { LLM_TENSOR_OUTPUT,          "output" },507            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },508            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },509            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },510            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },511            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },512            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },513            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },514            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },515            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },516        },517    },518    {519        LLM_ARCH_QWEN2VL,520        {521            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },522            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },523            { LLM_TENSOR_OUTPUT,          "output" },524            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },525            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },526            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },527            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },528            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },529            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },530            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },531            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },532            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },533        },534    },535    {536        LLM_ARCH_QWEN2MOE,537        {538            { LLM_TENSOR_TOKEN_EMBD,         "token_embd" },539            { LLM_TENSOR_OUTPUT_NORM,        "output_norm" },540            { LLM_TENSOR_OUTPUT,             "output" },541            { LLM_TENSOR_ATTN_NORM,          "blk.%d.attn_norm" },542            { LLM_TENSOR_ATTN_Q,             "blk.%d.attn_q" },543            { LLM_TENSOR_ATTN_K,             "blk.%d.attn_k" },544            { LLM_TENSOR_ATTN_V,             "blk.%d.attn_v" },545            { LLM_TENSOR_ATTN_OUT,           "blk.%d.attn_output" },546            { LLM_TENSOR_FFN_NORM,           "blk.%d.ffn_norm" },547            { LLM_TENSOR_FFN_GATE_INP,       "blk.%d.ffn_gate_inp" },548            { LLM_TENSOR_FFN_GATE_EXPS,      "blk.%d.ffn_gate_exps" },549            { LLM_TENSOR_FFN_DOWN_EXPS,      "blk.%d.ffn_down_exps" },550            { LLM_TENSOR_FFN_UP_EXPS,        "blk.%d.ffn_up_exps" },551            { LLM_TENSOR_FFN_GATE_INP_SHEXP, "blk.%d.ffn_gate_inp_shexp" },552            { LLM_TENSOR_FFN_GATE_SHEXP,     "blk.%d.ffn_gate_shexp" },553            { LLM_TENSOR_FFN_DOWN_SHEXP,     "blk.%d.ffn_down_shexp" },554            { LLM_TENSOR_FFN_UP_SHEXP,       "blk.%d.ffn_up_shexp" },555        },556    },557    {558        LLM_ARCH_PHI2,559        {560            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },561            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },562            { LLM_TENSOR_OUTPUT,          "output" },563            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },564            { LLM_TENSOR_ATTN_QKV,        "blk.%d.attn_qkv" },565            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },566            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },567            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },568            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },569            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },570            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },571        },572    },573    {574        LLM_ARCH_PHI3,575        {576            { LLM_TENSOR_TOKEN_EMBD,         "token_embd" },577            { LLM_TENSOR_OUTPUT_NORM,        "output_norm" },578            { LLM_TENSOR_OUTPUT,             "output" },579            { LLM_TENSOR_ROPE_FACTORS_LONG,  "rope_factors_long" },580            { LLM_TENSOR_ROPE_FACTORS_SHORT, "rope_factors_short" },581            { LLM_TENSOR_ATTN_NORM,          "blk.%d.attn_norm" },582            { LLM_TENSOR_ATTN_QKV,           "blk.%d.attn_qkv" },583            { LLM_TENSOR_ATTN_Q,             "blk.%d.attn_q" },584            { LLM_TENSOR_ATTN_K,             "blk.%d.attn_k" },585            { LLM_TENSOR_ATTN_V,             "blk.%d.attn_v" },586            { LLM_TENSOR_ATTN_OUT,           "blk.%d.attn_output" },587            { LLM_TENSOR_FFN_NORM,           "blk.%d.ffn_norm" },588            { LLM_TENSOR_FFN_DOWN,           "blk.%d.ffn_down" },589            { LLM_TENSOR_FFN_UP,             "blk.%d.ffn_up" },590        },591    },592    {593        LLM_ARCH_PHIMOE,594        {595            { LLM_TENSOR_TOKEN_EMBD,         "token_embd" },596            { LLM_TENSOR_OUTPUT_NORM,        "output_norm" },597            { LLM_TENSOR_OUTPUT,             "output" },598            { LLM_TENSOR_ROPE_FACTORS_LONG,  "rope_factors_long" },599            { LLM_TENSOR_ROPE_FACTORS_SHORT, "rope_factors_short" },600            { LLM_TENSOR_ATTN_NORM,          "blk.%d.attn_norm" },601            { LLM_TENSOR_ATTN_QKV,           "blk.%d.attn_qkv" },602            { LLM_TENSOR_ATTN_Q,             "blk.%d.attn_q" },603            { LLM_TENSOR_ATTN_K,             "blk.%d.attn_k" },604            { LLM_TENSOR_ATTN_V,             "blk.%d.attn_v" },605            { LLM_TENSOR_ATTN_OUT,           "blk.%d.attn_output" },606            { LLM_TENSOR_FFN_NORM,           "blk.%d.ffn_norm" },607            { LLM_TENSOR_FFN_GATE_INP,       "blk.%d.ffn_gate_inp" },608            { LLM_TENSOR_FFN_GATE_EXPS,      "blk.%d.ffn_gate_exps" },609            { LLM_TENSOR_FFN_DOWN_EXPS,      "blk.%d.ffn_down_exps" },610            { LLM_TENSOR_FFN_UP_EXPS,        "blk.%d.ffn_up_exps" },611        },612    },613    {614        LLM_ARCH_PLAMO,615        {616            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },617            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },618            { LLM_TENSOR_OUTPUT,          "output" },619            { LLM_TENSOR_ROPE_FREQS,      "rope_freqs" },620            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },621            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },622            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },623            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },624            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },625            { LLM_TENSOR_ATTN_ROT_EMBD,   "blk.%d.attn_rot_embd" },626            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },627            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },628            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },629        },630    },631    {632        LLM_ARCH_CODESHELL,633        {634            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },635            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },636            { LLM_TENSOR_OUTPUT,          "output" },637            { LLM_TENSOR_ROPE_FREQS,      "rope_freqs" },638            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },639            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },640            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },641            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },642            { LLM_TENSOR_ATTN_QKV,        "blk.%d.attn_qkv" },643            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },644            { LLM_TENSOR_ATTN_ROT_EMBD,   "blk.%d.attn_rot_embd" },645            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },646            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },647            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },648            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },649        },650    },651    {652        LLM_ARCH_ORION,653        {654            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },655            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },656            { LLM_TENSOR_OUTPUT,          "output" },657            { LLM_TENSOR_ROPE_FREQS,      "rope_freqs" },658            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },659            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },660            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },661            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },662            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },663            { LLM_TENSOR_ATTN_ROT_EMBD,   "blk.%d.attn_rot_embd" },664            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },665            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },666            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },667            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },668        },669    },670    {671        LLM_ARCH_INTERNLM2,672        {673            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },674            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },675            { LLM_TENSOR_OUTPUT,          "output" },676            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },677            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },678            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },679            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },680            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },681            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },682            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },683            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },684            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },685        },686    },687    {688        LLM_ARCH_MINICPM,689        {690            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },691            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },692            { LLM_TENSOR_OUTPUT,          "output" },693            { LLM_TENSOR_ROPE_FREQS,      "rope_freqs" },694            { LLM_TENSOR_ROPE_FACTORS_LONG,  "rope_factors_long" },695            { LLM_TENSOR_ROPE_FACTORS_SHORT, "rope_factors_short" },696            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },697            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },698            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },699            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },700            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },701            { LLM_TENSOR_ATTN_ROT_EMBD,   "blk.%d.attn_rot_embd" },702            { LLM_TENSOR_FFN_GATE_INP,    "blk.%d.ffn_gate_inp" },703            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },704            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },705            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },706            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },707            { LLM_TENSOR_FFN_GATE_EXP,    "blk.%d.ffn_gate.%d" },708            { LLM_TENSOR_FFN_DOWN_EXP,    "blk.%d.ffn_down.%d" },709            { LLM_TENSOR_FFN_UP_EXP,      "blk.%d.ffn_up.%d" },710        },711    },712    {713        LLM_ARCH_MINICPM3,714        {715            { LLM_TENSOR_TOKEN_EMBD,         "token_embd" },716            { LLM_TENSOR_OUTPUT_NORM,        "output_norm" },717            { LLM_TENSOR_OUTPUT,             "output" },718            { LLM_TENSOR_ROPE_FACTORS_LONG,  "rope_factors_long" },719            { LLM_TENSOR_ROPE_FACTORS_SHORT, "rope_factors_short" },720            { LLM_TENSOR_ATTN_NORM,          "blk.%d.attn_norm" },721            { LLM_TENSOR_ATTN_Q_A_NORM,      "blk.%d.attn_q_a_norm" },722            { LLM_TENSOR_ATTN_KV_A_NORM,     "blk.%d.attn_kv_a_norm" },723            { LLM_TENSOR_ATTN_Q,             "blk.%d.attn_q" },724            { LLM_TENSOR_ATTN_Q_A,           "blk.%d.attn_q_a" },725            { LLM_TENSOR_ATTN_Q_B,           "blk.%d.attn_q_b" },726            { LLM_TENSOR_ATTN_KV_A_MQA,      "blk.%d.attn_kv_a_mqa" },727            { LLM_TENSOR_ATTN_KV_B,          "blk.%d.attn_kv_b" },728            { LLM_TENSOR_ATTN_OUT,           "blk.%d.attn_output" },729            { LLM_TENSOR_FFN_NORM,           "blk.%d.ffn_norm" },730            { LLM_TENSOR_FFN_GATE,           "blk.%d.ffn_gate" },731            { LLM_TENSOR_FFN_UP,             "blk.%d.ffn_up" },732            { LLM_TENSOR_FFN_DOWN,           "blk.%d.ffn_down" },733        },734    },735    {736        LLM_ARCH_GEMMA,737        {738            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },739            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },740            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },741            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },742            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },743            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },744            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },745            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },746            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },747            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },748            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },749        },750    },751    {752        LLM_ARCH_GEMMA2,753        {754            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },755            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },756            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },757            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },758            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },759            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },760            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },761            { LLM_TENSOR_ATTN_POST_NORM,  "blk.%d.post_attention_norm" },762            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },763            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },764            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },765            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },766            { LLM_TENSOR_FFN_POST_NORM,   "blk.%d.post_ffw_norm" },767        },768    },769    {770        LLM_ARCH_STARCODER2,771        {772            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },773            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },774            { LLM_TENSOR_OUTPUT,          "output" },775            { LLM_TENSOR_ROPE_FREQS,      "rope_freqs" },776            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },777            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },778            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },779            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },780            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },781            { LLM_TENSOR_ATTN_ROT_EMBD,   "blk.%d.attn_rot_embd" },782            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },783            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },784            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },785        },786    },787    {788        LLM_ARCH_MAMBA,789        {790            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },791            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },792            { LLM_TENSOR_OUTPUT,          "output" },793            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },794            { LLM_TENSOR_SSM_IN,          "blk.%d.ssm_in" },795            { LLM_TENSOR_SSM_CONV1D,      "blk.%d.ssm_conv1d" },796            { LLM_TENSOR_SSM_X,           "blk.%d.ssm_x" },797            { LLM_TENSOR_SSM_DT,          "blk.%d.ssm_dt" },798            { LLM_TENSOR_SSM_A,           "blk.%d.ssm_a" },799            { LLM_TENSOR_SSM_D,           "blk.%d.ssm_d" },800            { LLM_TENSOR_SSM_OUT,         "blk.%d.ssm_out" },801        },802    },803    {804        LLM_ARCH_XVERSE,805        {806            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },807            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },808            { LLM_TENSOR_OUTPUT,          "output" },809            { LLM_TENSOR_ROPE_FREQS,      "rope_freqs" },810            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },811            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },812            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },813            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },814            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },815            { LLM_TENSOR_ATTN_ROT_EMBD,   "blk.%d.attn_rot_embd" },816            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },817            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },818            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },819            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },820        },821    },822    {823        LLM_ARCH_COMMAND_R,824        {825            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },826            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },827            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },828            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },829            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },830            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },831            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },832            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },833            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },834            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },835            { LLM_TENSOR_ATTN_Q_NORM,     "blk.%d.attn_q_norm" },836            { LLM_TENSOR_ATTN_K_NORM,     "blk.%d.attn_k_norm" },837        },838    },839    {840        LLM_ARCH_COHERE2,841        {842            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },843            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },844            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },845            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },846            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },847            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },848            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },849            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },850            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },851            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },852        },853    },854    {855        LLM_ARCH_DBRX,856        {857            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },858            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },859            { LLM_TENSOR_OUTPUT,          "output" },860            { LLM_TENSOR_ATTN_QKV,        "blk.%d.attn_qkv" },861            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },862            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },863            { LLM_TENSOR_ATTN_OUT_NORM,   "blk.%d.attn_output_norm" },864            { LLM_TENSOR_FFN_GATE_INP,    "blk.%d.ffn_gate_inp" },865            { LLM_TENSOR_FFN_GATE_EXPS,   "blk.%d.ffn_gate_exps" },866            { LLM_TENSOR_FFN_DOWN_EXPS,   "blk.%d.ffn_down_exps" },867            { LLM_TENSOR_FFN_UP_EXPS,     "blk.%d.ffn_up_exps" },868        },869    },870    {871        LLM_ARCH_OLMO,872        {873            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },874            { LLM_TENSOR_OUTPUT,          "output" },875            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },876            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },877            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },878            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },879            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },880            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },881            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },882        },883    },884    {885        LLM_ARCH_OLMO2,886        {887            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },888            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },889            { LLM_TENSOR_OUTPUT,          "output" },890            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },891            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },892            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },893            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },894            { LLM_TENSOR_ATTN_POST_NORM,  "blk.%d.post_attention_norm" },895            { LLM_TENSOR_ATTN_Q_NORM,     "blk.%d.attn_q_norm" },896            { LLM_TENSOR_ATTN_K_NORM,     "blk.%d.attn_k_norm" },897            { LLM_TENSOR_FFN_POST_NORM,   "blk.%d.post_ffw_norm" },898            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },899            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },900            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },901        },902    },903    {904        LLM_ARCH_OLMOE,905        {906            { LLM_TENSOR_TOKEN_EMBD,         "token_embd" },907            { LLM_TENSOR_OUTPUT_NORM,        "output_norm" },908            { LLM_TENSOR_OUTPUT,             "output" },909            { LLM_TENSOR_ATTN_NORM,          "blk.%d.attn_norm" },910            { LLM_TENSOR_ATTN_Q,             "blk.%d.attn_q" },911            { LLM_TENSOR_ATTN_K,             "blk.%d.attn_k" },912            { LLM_TENSOR_ATTN_V,             "blk.%d.attn_v" },913            { LLM_TENSOR_ATTN_OUT,           "blk.%d.attn_output" },914            { LLM_TENSOR_ATTN_Q_NORM,        "blk.%d.attn_q_norm" },915            { LLM_TENSOR_ATTN_K_NORM,        "blk.%d.attn_k_norm" },916            { LLM_TENSOR_FFN_NORM,           "blk.%d.ffn_norm" },917            { LLM_TENSOR_FFN_GATE_INP,       "blk.%d.ffn_gate_inp" },918            { LLM_TENSOR_FFN_GATE_EXPS,      "blk.%d.ffn_gate_exps" },919            { LLM_TENSOR_FFN_DOWN_EXPS,      "blk.%d.ffn_down_exps" },920            { LLM_TENSOR_FFN_UP_EXPS,        "blk.%d.ffn_up_exps" },921        },922    },923    {924        LLM_ARCH_OPENELM,925        {926            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },927            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },928            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },929            { LLM_TENSOR_ATTN_QKV,        "blk.%d.attn_qkv" },930            { LLM_TENSOR_ATTN_Q_NORM,     "blk.%d.attn_q_norm" },931            { LLM_TENSOR_ATTN_K_NORM,     "blk.%d.attn_k_norm" },932            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },933            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },934            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },935            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },936            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },937        },938    },939    {940        LLM_ARCH_ARCTIC,941        {942            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },943            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },944            { LLM_TENSOR_OUTPUT,          "output" },945            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },946            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },947            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },948            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },949            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },950            { LLM_TENSOR_FFN_GATE_INP,    "blk.%d.ffn_gate_inp" },951            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },952            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },953            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },954            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },955            { LLM_TENSOR_FFN_NORM_EXPS,   "blk.%d.ffn_norm_exps" },956            { LLM_TENSOR_FFN_GATE_EXPS,   "blk.%d.ffn_gate_exps" },957            { LLM_TENSOR_FFN_DOWN_EXPS,   "blk.%d.ffn_down_exps" },958            { LLM_TENSOR_FFN_UP_EXPS,     "blk.%d.ffn_up_exps" },959        },960    },961    {962        LLM_ARCH_DEEPSEEK,963        {964            { LLM_TENSOR_TOKEN_EMBD,         "token_embd" },965            { LLM_TENSOR_OUTPUT_NORM,        "output_norm" },966            { LLM_TENSOR_OUTPUT,             "output" },967            { LLM_TENSOR_ROPE_FREQS,         "rope_freqs" },968            { LLM_TENSOR_ATTN_NORM,          "blk.%d.attn_norm" },969            { LLM_TENSOR_ATTN_Q,             "blk.%d.attn_q" },970            { LLM_TENSOR_ATTN_K,             "blk.%d.attn_k" },971            { LLM_TENSOR_ATTN_V,             "blk.%d.attn_v" },972            { LLM_TENSOR_ATTN_OUT,           "blk.%d.attn_output" },973            { LLM_TENSOR_ATTN_ROT_EMBD,      "blk.%d.attn_rot_embd" },974            { LLM_TENSOR_FFN_GATE_INP,       "blk.%d.ffn_gate_inp" },975            { LLM_TENSOR_FFN_NORM,           "blk.%d.ffn_norm" },976            { LLM_TENSOR_FFN_GATE,           "blk.%d.ffn_gate" },977            { LLM_TENSOR_FFN_DOWN,           "blk.%d.ffn_down" },978            { LLM_TENSOR_FFN_UP,             "blk.%d.ffn_up" },979            { LLM_TENSOR_FFN_GATE_EXPS,      "blk.%d.ffn_gate_exps" },980            { LLM_TENSOR_FFN_DOWN_EXPS,      "blk.%d.ffn_down_exps" },981            { LLM_TENSOR_FFN_UP_EXPS,        "blk.%d.ffn_up_exps" },982            { LLM_TENSOR_FFN_GATE_INP_SHEXP, "blk.%d.ffn_gate_inp_shexp" },983            { LLM_TENSOR_FFN_GATE_SHEXP,     "blk.%d.ffn_gate_shexp" },984            { LLM_TENSOR_FFN_DOWN_SHEXP,     "blk.%d.ffn_down_shexp" },985            { LLM_TENSOR_FFN_UP_SHEXP,       "blk.%d.ffn_up_shexp" },986        },987    },988    {989        LLM_ARCH_DEEPSEEK2,990        {991            { LLM_TENSOR_TOKEN_EMBD,         "token_embd" },992            { LLM_TENSOR_OUTPUT_NORM,        "output_norm" },993            { LLM_TENSOR_OUTPUT,             "output" },994            { LLM_TENSOR_ATTN_NORM,          "blk.%d.attn_norm" },995            { LLM_TENSOR_ATTN_Q_A_NORM,      "blk.%d.attn_q_a_norm" },996            { LLM_TENSOR_ATTN_KV_A_NORM,     "blk.%d.attn_kv_a_norm" },997            { LLM_TENSOR_ATTN_Q,             "blk.%d.attn_q" },998            { LLM_TENSOR_ATTN_Q_A,           "blk.%d.attn_q_a" },999            { LLM_TENSOR_ATTN_Q_B,           "blk.%d.attn_q_b" },1000            { LLM_TENSOR_ATTN_KV_A_MQA,      "blk.%d.attn_kv_a_mqa" },1001            { LLM_TENSOR_ATTN_KV_B,          "blk.%d.attn_kv_b" },1002            { LLM_TENSOR_ATTN_OUT,           "blk.%d.attn_output" },1003            { LLM_TENSOR_FFN_NORM,           "blk.%d.ffn_norm" },1004            { LLM_TENSOR_FFN_GATE,           "blk.%d.ffn_gate" },1005            { LLM_TENSOR_FFN_UP,             "blk.%d.ffn_up" },1006            { LLM_TENSOR_FFN_DOWN,           "blk.%d.ffn_down" },1007            { LLM_TENSOR_FFN_GATE_INP,       "blk.%d.ffn_gate_inp" },1008            { LLM_TENSOR_FFN_GATE_EXPS,      "blk.%d.ffn_gate_exps" },1009            { LLM_TENSOR_FFN_DOWN_EXPS,      "blk.%d.ffn_down_exps" },1010            { LLM_TENSOR_FFN_UP_EXPS,        "blk.%d.ffn_up_exps" },1011            { LLM_TENSOR_FFN_GATE_INP_SHEXP, "blk.%d.ffn_gate_inp_shexp" },1012            { LLM_TENSOR_FFN_GATE_SHEXP,     "blk.%d.ffn_gate_shexp" },1013            { LLM_TENSOR_FFN_DOWN_SHEXP,     "blk.%d.ffn_down_shexp" },1014            { LLM_TENSOR_FFN_UP_SHEXP,       "blk.%d.ffn_up_shexp" },1015            { LLM_TENSOR_FFN_EXP_PROBS_B,    "blk.%d.exp_probs_b" },1016        },1017    },1018    {1019        LLM_ARCH_CHATGLM,1020        {1021            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },1022            { LLM_TENSOR_ROPE_FREQS,      "rope_freqs" },1023            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },1024            { LLM_TENSOR_OUTPUT,          "output" },1025            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },1026            { LLM_TENSOR_ATTN_QKV,        "blk.%d.attn_qkv" },1027            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },1028            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },1029            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },1030            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },1031            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },1032            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },1033            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },1034        },1035    },1036    {1037        LLM_ARCH_BITNET,1038        {1039            { LLM_TENSOR_TOKEN_EMBD,         "token_embd" },1040            { LLM_TENSOR_OUTPUT_NORM,        "output_norm" },1041            { LLM_TENSOR_ATTN_Q,             "blk.%d.attn_q" },1042            { LLM_TENSOR_ATTN_K,             "blk.%d.attn_k" },1043            { LLM_TENSOR_ATTN_V,             "blk.%d.attn_v" },1044            { LLM_TENSOR_ATTN_OUT,           "blk.%d.attn_output" },1045            { LLM_TENSOR_ATTN_NORM,          "blk.%d.attn_norm" },1046            { LLM_TENSOR_ATTN_SUB_NORM,      "blk.%d.attn_sub_norm" },1047            { LLM_TENSOR_FFN_GATE,           "blk.%d.ffn_gate" },1048            { LLM_TENSOR_FFN_DOWN,           "blk.%d.ffn_down" },1049            { LLM_TENSOR_FFN_UP,             "blk.%d.ffn_up" },1050            { LLM_TENSOR_FFN_NORM,           "blk.%d.ffn_norm" },1051            { LLM_TENSOR_FFN_SUB_NORM,       "blk.%d.ffn_sub_norm" },1052        },1053    },1054    {1055        LLM_ARCH_T5,1056        {1057            { LLM_TENSOR_TOKEN_EMBD,           "token_embd" },1058            { LLM_TENSOR_OUTPUT,               "output" },1059            { LLM_TENSOR_DEC_OUTPUT_NORM,      "dec.output_norm" },1060            { LLM_TENSOR_DEC_ATTN_NORM,        "dec.blk.%d.attn_norm" },1061            { LLM_TENSOR_DEC_ATTN_Q,           "dec.blk.%d.attn_q" },1062            { LLM_TENSOR_DEC_ATTN_K,           "dec.blk.%d.attn_k" },1063            { LLM_TENSOR_DEC_ATTN_V,           "dec.blk.%d.attn_v" },1064            { LLM_TENSOR_DEC_ATTN_OUT,         "dec.blk.%d.attn_o" },1065            { LLM_TENSOR_DEC_ATTN_REL_B,       "dec.blk.%d.attn_rel_b" },1066            { LLM_TENSOR_DEC_CROSS_ATTN_NORM,  "dec.blk.%d.cross_attn_norm" },1067            { LLM_TENSOR_DEC_CROSS_ATTN_Q,     "dec.blk.%d.cross_attn_q" },1068            { LLM_TENSOR_DEC_CROSS_ATTN_K,     "dec.blk.%d.cross_attn_k" },1069            { LLM_TENSOR_DEC_CROSS_ATTN_V,     "dec.blk.%d.cross_attn_v" },1070            { LLM_TENSOR_DEC_CROSS_ATTN_OUT,   "dec.blk.%d.cross_attn_o" },1071            { LLM_TENSOR_DEC_CROSS_ATTN_REL_B, "dec.blk.%d.cross_attn_rel_b" },1072            { LLM_TENSOR_DEC_FFN_NORM,         "dec.blk.%d.ffn_norm" },1073            { LLM_TENSOR_DEC_FFN_GATE,         "dec.blk.%d.ffn_gate" },1074            { LLM_TENSOR_DEC_FFN_DOWN,         "dec.blk.%d.ffn_down" },1075            { LLM_TENSOR_DEC_FFN_UP,           "dec.blk.%d.ffn_up" },1076            { LLM_TENSOR_ENC_OUTPUT_NORM,      "enc.output_norm" },1077            { LLM_TENSOR_ENC_ATTN_NORM,        "enc.blk.%d.attn_norm" },1078            { LLM_TENSOR_ENC_ATTN_Q,           "enc.blk.%d.attn_q" },1079            { LLM_TENSOR_ENC_ATTN_K,           "enc.blk.%d.attn_k" },1080            { LLM_TENSOR_ENC_ATTN_V,           "enc.blk.%d.attn_v" },1081            { LLM_TENSOR_ENC_ATTN_OUT,         "enc.blk.%d.attn_o" },1082            { LLM_TENSOR_ENC_ATTN_REL_B,       "enc.blk.%d.attn_rel_b" },1083            { LLM_TENSOR_ENC_FFN_NORM,         "enc.blk.%d.ffn_norm" },1084            { LLM_TENSOR_ENC_FFN_GATE,         "enc.blk.%d.ffn_gate" },1085            { LLM_TENSOR_ENC_FFN_DOWN,         "enc.blk.%d.ffn_down" },1086            { LLM_TENSOR_ENC_FFN_UP,           "enc.blk.%d.ffn_up" },1087        },1088    },1089    {1090        LLM_ARCH_T5ENCODER,1091        {1092            { LLM_TENSOR_TOKEN_EMBD,           "token_embd" },1093            { LLM_TENSOR_OUTPUT,               "output" },1094            { LLM_TENSOR_ENC_OUTPUT_NORM,      "enc.output_norm" },1095            { LLM_TENSOR_ENC_ATTN_NORM,        "enc.blk.%d.attn_norm" },1096            { LLM_TENSOR_ENC_ATTN_Q,           "enc.blk.%d.attn_q" },1097            { LLM_TENSOR_ENC_ATTN_K,           "enc.blk.%d.attn_k" },1098            { LLM_TENSOR_ENC_ATTN_V,           "enc.blk.%d.attn_v" },1099            { LLM_TENSOR_ENC_ATTN_OUT,         "enc.blk.%d.attn_o" },1100            { LLM_TENSOR_ENC_ATTN_REL_B,       "enc.blk.%d.attn_rel_b" },1101            { LLM_TENSOR_ENC_FFN_NORM,         "enc.blk.%d.ffn_norm" },1102            { LLM_TENSOR_ENC_FFN_GATE,         "enc.blk.%d.ffn_gate" },1103            { LLM_TENSOR_ENC_FFN_DOWN,         "enc.blk.%d.ffn_down" },1104            { LLM_TENSOR_ENC_FFN_UP,           "enc.blk.%d.ffn_up" },1105        },1106    },1107    {1108        LLM_ARCH_JAIS,1109        {1110            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },1111            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },1112            { LLM_TENSOR_OUTPUT,          "output" },1113            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },1114            { LLM_TENSOR_ATTN_QKV,        "blk.%d.attn_qkv" },1115            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },1116            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },1117            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },1118            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },1119            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },1120        },1121    },1122    {1123        LLM_ARCH_NEMOTRON,1124        {1125            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },1126            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },1127            { LLM_TENSOR_OUTPUT,          "output" },1128            { LLM_TENSOR_ROPE_FREQS,      "rope_freqs" },1129            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },1130            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },1131            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },1132            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },1133            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },1134            { LLM_TENSOR_ATTN_ROT_EMBD,   "blk.%d.attn_rot_embd" },1135            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },1136            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },1137            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },1138        },1139    },1140    {1141        LLM_ARCH_EXAONE,1142        {1143            { LLM_TENSOR_TOKEN_EMBD,      "token_embd" },1144            { LLM_TENSOR_OUTPUT_NORM,     "output_norm" },1145            { LLM_TENSOR_OUTPUT,          "output" },1146            { LLM_TENSOR_ROPE_FREQS,      "rope_freqs" },1147            { LLM_TENSOR_ATTN_NORM,       "blk.%d.attn_norm" },1148            { LLM_TENSOR_ATTN_Q,          "blk.%d.attn_q" },1149            { LLM_TENSOR_ATTN_K,          "blk.%d.attn_k" },1150            { LLM_TENSOR_ATTN_V,          "blk.%d.attn_v" },1151            { LLM_TENSOR_ATTN_OUT,        "blk.%d.attn_output" },1152            { LLM_TENSOR_ATTN_ROT_EMBD,   "blk.%d.attn_rot_embd" },1153            { LLM_TENSOR_FFN_NORM,        "blk.%d.ffn_norm" },1154            { LLM_TENSOR_FFN_GATE,        "blk.%d.ffn_gate" },1155            { LLM_TENSOR_FFN_DOWN,        "blk.%d.ffn_down" },1156            { LLM_TENSOR_FFN_UP,          "blk.%d.ffn_up" },1157        },1158    },1159    {1160        LLM_ARCH_RWKV6,1161        {1162            { LLM_TENSOR_TOKEN_EMBD,                "token_embd" },1163            { LLM_TENSOR_TOKEN_EMBD_NORM,           "token_embd_norm" },1164            { LLM_TENSOR_OUTPUT_NORM,               "output_norm" },1165            { LLM_TENSOR_OUTPUT,                    "output" },1166            { LLM_TENSOR_ATTN_NORM,                 "blk.%d.attn_norm" },1167            { LLM_TENSOR_ATTN_NORM_2,               "blk.%d.attn_norm_2" },1168            { LLM_TENSOR_TIME_MIX_W1,               "blk.%d.time_mix_w1" },1169            { LLM_TENSOR_TIME_MIX_W2,               "blk.%d.time_mix_w2" },1170            { LLM_TENSOR_TIME_MIX_LERP_X,           "blk.%d.time_mix_lerp_x" },1171            { LLM_TENSOR_TIME_MIX_LERP_W,           "blk.%d.time_mix_lerp_w" },1172            { LLM_TENSOR_TIME_MIX_LERP_K,           "blk.%d.time_mix_lerp_k" },1173            { LLM_TENSOR_TIME_MIX_LERP_V,           "blk.%d.time_mix_lerp_v" },1174            { LLM_TENSOR_TIME_MIX_LERP_R,           "blk.%d.time_mix_lerp_r" },1175            { LLM_TENSOR_TIME_MIX_LERP_G,           "blk.%d.time_mix_lerp_g" },1176            { LLM_TENSOR_TIME_MIX_LERP_FUSED,       "blk.%d.time_mix_lerp_fused" },1177            { LLM_TENSOR_TIME_MIX_FIRST,            "blk.%d.time_mix_first" },1178            { LLM_TENSOR_TIME_MIX_DECAY,            "blk.%d.time_mix_decay" },1179            { LLM_TENSOR_TIME_MIX_DECAY_W1,         "blk.%d.time_mix_decay_w1" },1180            { LLM_TENSOR_TIME_MIX_DECAY_W2,         "blk.%d.time_mix_decay_w2" },1181            { LLM_TENSOR_TIME_MIX_KEY,              "blk.%d.time_mix_key" },1182            { LLM_TENSOR_TIME_MIX_VALUE,            "blk.%d.time_mix_value" },1183            { LLM_TENSOR_TIME_MIX_RECEPTANCE,       "blk.%d.time_mix_receptance" },1184            { LLM_TENSOR_TIME_MIX_GATE,             "blk.%d.time_mix_gate" },1185            { LLM_TENSOR_TIME_MIX_LN,               "blk.%d.time_mix_ln" },1186            { LLM_TENSOR_TIME_MIX_OUTPUT,           "blk.%d.time_mix_output" },1187            { LLM_TENSOR_CHANNEL_MIX_LERP_K,        "blk.%d.channel_mix_lerp_k" },1188            { LLM_TENSOR_CHANNEL_MIX_LERP_R,        "blk.%d.channel_mix_lerp_r" },1189            { LLM_TENSOR_CHANNEL_MIX_KEY,           "blk.%d.channel_mix_key" },1190            { LLM_TENSOR_CHANNEL_MIX_VALUE,         "blk.%d.channel_mix_value" },1191            { LLM_TENSOR_CHANNEL_MIX_RECEPTANCE,    "blk.%d.channel_mix_receptance" },1192        },1193    },1194    {1195        LLM_ARCH_RWKV6QWEN2,1196        {1197            { LLM_TENSOR_TOKEN_EMBD,                "token_embd" },1198            { LLM_TENSOR_OUTPUT_NORM,               "output_norm" },1199            { LLM_TENSOR_OUTPUT,                    "output" },1200            { LLM_TENSOR_ATTN_NORM,                 "blk.%d.attn_norm" },

Showing the first 1,200 of 1493 lines. Download the file for the rest.