455 lines
13 KiB
C++
455 lines
13 KiB
C++
#pragma once
|
|
|
|
#include <string>
|
|
|
|
enum llm_arch {
|
|
LLM_ARCH_LLAMA,
|
|
LLM_ARCH_LLAMA4,
|
|
LLM_ARCH_DECI,
|
|
LLM_ARCH_FALCON,
|
|
LLM_ARCH_BAICHUAN,
|
|
LLM_ARCH_GROK,
|
|
LLM_ARCH_GPT2,
|
|
LLM_ARCH_GPTJ,
|
|
LLM_ARCH_GPTNEOX,
|
|
LLM_ARCH_MPT,
|
|
LLM_ARCH_STARCODER,
|
|
LLM_ARCH_REFACT,
|
|
LLM_ARCH_BERT,
|
|
LLM_ARCH_NOMIC_BERT,
|
|
LLM_ARCH_JINA_BERT_V2,
|
|
LLM_ARCH_BLOOM,
|
|
LLM_ARCH_STABLELM,
|
|
LLM_ARCH_QWEN,
|
|
LLM_ARCH_QWEN2,
|
|
LLM_ARCH_QWEN2MOE,
|
|
LLM_ARCH_QWEN2VL,
|
|
LLM_ARCH_QWEN3,
|
|
LLM_ARCH_QWEN3MOE,
|
|
LLM_ARCH_QWEN3NEXT,
|
|
LLM_ARCH_QWEN3VL,
|
|
LLM_ARCH_QWEN3VLMOE,
|
|
LLM_ARCH_QWEN35MOE,
|
|
LLM_ARCH_QWEN35,
|
|
LLM_ARCH_MELLUM,
|
|
LLM_ARCH_PHI2,
|
|
LLM_ARCH_PHI3,
|
|
LLM_ARCH_PLAMO,
|
|
LLM_ARCH_CODESHELL,
|
|
LLM_ARCH_ORION,
|
|
LLM_ARCH_INTERNLM2,
|
|
LLM_ARCH_MINICPM,
|
|
LLM_ARCH_GEMMA,
|
|
LLM_ARCH_GEMMA2,
|
|
LLM_ARCH_GEMMA3,
|
|
LLM_ARCH_STARCODER2,
|
|
LLM_ARCH_MAMBA,
|
|
LLM_ARCH_XVERSE,
|
|
LLM_ARCH_COMMAND_R,
|
|
LLM_ARCH_DBRX,
|
|
LLM_ARCH_OLMO,
|
|
LLM_ARCH_OPENELM,
|
|
LLM_ARCH_ARCTIC,
|
|
LLM_ARCH_DEEPSEEK2,
|
|
LLM_ARCH_DEEPSEEK4,
|
|
LLM_ARCH_CHATGLM,
|
|
LLM_ARCH_GLM4,
|
|
LLM_ARCH_GLM4_MOE,
|
|
LLM_ARCH_BITNET,
|
|
LLM_ARCH_BITNET_25,
|
|
LLM_ARCH_BITNET_B158,
|
|
LLM_ARCH_T5,
|
|
LLM_ARCH_T5ENCODER,
|
|
LLM_ARCH_JAIS,
|
|
LLM_ARCH_GRANITE,
|
|
LLM_ARCH_GRANITE_MOE,
|
|
LLM_ARCH_COHERE2,
|
|
LLM_ARCH_COHERE2_MOE,
|
|
LLM_ARCH_DOTS1,
|
|
LLM_ARCH_ERNIE4_5,
|
|
LLM_ARCH_ERNIE4_5_MOE,
|
|
LLM_ARCH_HUNYUAN_MOE,
|
|
LLM_ARCH_OPENAI_MOE,
|
|
LLM_ARCH_BAILINGMOE2,
|
|
LLM_ARCH_MINIMAX_M2,
|
|
LLM_ARCH_MINIMAX_M3,
|
|
LLM_ARCH_SMOLLM3,
|
|
LLM_ARCH_MISTRAL3,
|
|
LLM_ARCH_MIMO2,
|
|
LLM_ARCH_SEED_OSS,
|
|
LLM_ARCH_STEP35,
|
|
LLM_ARCH_LAGUNA,
|
|
LLM_ARCH_GLM_DSA,
|
|
LLM_ARCH_MISTRAL4,
|
|
LLM_ARCH_GEMMA4,
|
|
LLM_ARCH_GEMMA4_MTP,
|
|
LLM_ARCH_DFLASH_DRAFT,
|
|
LLM_ARCH_GEMMA4_ASSISTANT,
|
|
LLM_ARCH_OPENPANGU,
|
|
LLM_ARCH_UNKNOWN,
|
|
};
|
|
|
|
enum llm_kv {
|
|
LLM_KV_GENERAL_TYPE,
|
|
LLM_KV_GENERAL_ARCHITECTURE,
|
|
LLM_KV_GENERAL_QUANTIZATION_VERSION,
|
|
LLM_KV_GENERAL_ALIGNMENT,
|
|
LLM_KV_GENERAL_NAME,
|
|
LLM_KV_GENERAL_AUTHOR,
|
|
LLM_KV_GENERAL_VERSION,
|
|
LLM_KV_GENERAL_URL,
|
|
LLM_KV_GENERAL_DESCRIPTION,
|
|
LLM_KV_GENERAL_LICENSE,
|
|
LLM_KV_GENERAL_SOURCE_URL,
|
|
LLM_KV_GENERAL_SOURCE_HF_REPO,
|
|
|
|
LLM_KV_VOCAB_SIZE,
|
|
LLM_KV_CONTEXT_LENGTH,
|
|
LLM_KV_EMBEDDING_LENGTH,
|
|
LLM_KV_BLOCK_COUNT,
|
|
LLM_KV_LEADING_DENSE_BLOCK_COUNT,
|
|
LLM_KV_FEED_FORWARD_LENGTH,
|
|
LLM_KV_EXPERT_FEED_FORWARD_LENGTH,
|
|
LLM_KV_EXPERT_SHARED_FEED_FORWARD_LENGTH,
|
|
LLM_KV_USE_PARALLEL_RESIDUAL,
|
|
LLM_KV_TENSOR_DATA_LAYOUT,
|
|
LLM_KV_EXPERT_COUNT,
|
|
LLM_KV_EXPERT_USED_COUNT,
|
|
LLM_KV_EXPERT_SHARED_COUNT,
|
|
LLM_KV_EXPERT_GROUP_COUNT,
|
|
LLM_KV_EXPERT_GROUP_USED_COUNT,
|
|
LLM_KV_EXPERT_WEIGHTS_SCALE,
|
|
LLM_KV_EXPERT_WEIGHTS_NORM,
|
|
LLM_KV_EXPERT_GATING_FUNC,
|
|
LLM_KV_NEXTN_PREDICT_LAYERS,
|
|
LLM_KV_NUM_DEEPSTACK_LAYERS,
|
|
LLM_KV_POOLING_TYPE,
|
|
LLM_KV_LOGIT_SCALE,
|
|
LLM_KV_DECODER_START_TOKEN_ID,
|
|
LLM_KV_ATTN_LOGIT_SOFTCAPPING,
|
|
LLM_KV_ROUTER_LOGIT_SOFTCAPPING,
|
|
LLM_KV_FINAL_LOGIT_SOFTCAPPING,
|
|
LLM_KV_SWIN_NORM,
|
|
LLM_KV_RESCALE_EVERY_N_LAYERS,
|
|
LLM_KV_TIME_MIX_EXTRA_DIM,
|
|
LLM_KV_TIME_DECAY_EXTRA_DIM,
|
|
LLM_KV_RESIDUAL_SCALE,
|
|
LLM_KV_EMBEDDING_SCALE,
|
|
LLM_KV_TOKEN_SHIFT_COUNT,
|
|
LLM_KV_INTERLEAVE_MOE_LAYER_STEP,
|
|
LLM_KV_SWIGLU_LIMITS,
|
|
LLM_KV_SWIGLU_LIMITS_SHARED,
|
|
LLM_KV_SWIGLU_CLAMP_EXP,
|
|
LLM_KV_SWIGLU_CLAMP_SHEXP,
|
|
LLM_KV_EMBEDDING_LENGTH_PER_LAYER,
|
|
LLM_KV_MTP_BACKBONE_EMBEDDING_LENGTH,
|
|
LLM_KV_MTP_USE_ORDERED_EMBEDDINGS,
|
|
LLM_KV_MTP_CENTROID_COUNT,
|
|
LLM_KV_MTP_CENTROID_TOP_K,
|
|
LLM_KV_DFLASH_BLOCK_SIZE,
|
|
LLM_KV_DFLASH_MASK_TOKEN_ID,
|
|
LLM_KV_DFLASH_TARGET_LAYER_IDS,
|
|
LLM_KV_DFLASH_N_TARGET_FEATURES,
|
|
LLM_KV_DFLASH_BACKBONE_ROTARY_BASE,
|
|
LLM_KV_DFLASH_LAGUNA,
|
|
|
|
LLM_KV_ATTENTION_HEAD_COUNT,
|
|
LLM_KV_ATTENTION_HEAD_COUNT_KV,
|
|
LLM_KV_ATTENTION_MAX_ALIBI_BIAS,
|
|
LLM_KV_ATTENTION_CLAMP_KQV,
|
|
LLM_KV_ATTENTION_KEY_LENGTH,
|
|
LLM_KV_ATTENTION_VALUE_LENGTH,
|
|
LLM_KV_ATTENTION_LAYERNORM_EPS,
|
|
LLM_KV_ATTENTION_LAYERNORM_RMS_EPS,
|
|
LLM_KV_ATTENTION_CAUSAL,
|
|
LLM_KV_ATTENTION_Q_LORA_RANK,
|
|
LLM_KV_ATTENTION_KV_LORA_RANK,
|
|
LLM_KV_ATTENTION_RELATIVE_BUCKETS_COUNT,
|
|
LLM_KV_ATTENTION_SLIDING_WINDOW,
|
|
LLM_KV_ATTENTION_SLIDING_WINDOW_PATTERN,
|
|
LLM_KV_ATTENTION_SCALE,
|
|
LLM_KV_ATTENTION_OUTPUT_SCALE,
|
|
LLM_KV_ATTENTION_TEMPERATURE_LENGTH,
|
|
LLM_KV_ATTENTION_TEMPERATURE_SCALE,
|
|
LLM_KV_ATTENTION_KEY_LENGTH_MLA,
|
|
LLM_KV_ATTENTION_VALUE_LENGTH_MLA,
|
|
LLM_KV_ATTENTION_INDEXER_HEAD_COUNT,
|
|
LLM_KV_ATTENTION_INDEXER_KEY_LENGTH,
|
|
LLM_KV_ATTENTION_INDEXER_TOP_K,
|
|
LLM_KV_ATTENTION_OUTPUT_GROUP_COUNT,
|
|
LLM_KV_ATTENTION_OUTPUT_LORA_RANK,
|
|
LLM_KV_ATTENTION_COMPRESS_ROPE_FREQ_BASE,
|
|
LLM_KV_ATTENTION_COMPRESS_RATIOS,
|
|
LLM_KV_FULL_ATTENTION_INTERVAL,
|
|
LLM_KV_ATTENTION_SHARED_KV_LAYERS,
|
|
LLM_KV_ATTENTION_KEY_LENGTH_SWA,
|
|
LLM_KV_ATTENTION_VALUE_LENGTH_SWA,
|
|
LLM_KV_ATTENTION_VALUE_SCALE,
|
|
|
|
LLM_KV_HYPER_CONNECTION_COUNT,
|
|
LLM_KV_HYPER_CONNECTION_SINKHORN_ITERATIONS,
|
|
LLM_KV_HYPER_CONNECTION_EPSILON,
|
|
|
|
LLM_KV_HASH_LAYER_COUNT,
|
|
|
|
LLM_KV_ROPE_DIMENSION_COUNT,
|
|
LLM_KV_ROPE_DIMENSION_COUNT_SWA,
|
|
LLM_KV_ROPE_DIMENSION_COUNT_PER_LAYER,
|
|
LLM_KV_ROPE_DIMENSION_SECTIONS,
|
|
LLM_KV_ROPE_FREQ_BASE,
|
|
LLM_KV_ROPE_FREQ_BASE_SWA,
|
|
LLM_KV_ROPE_FREQ_BASE_PER_LAYER,
|
|
LLM_KV_ROPE_SCALE_LINEAR,
|
|
LLM_KV_ROPE_SCALING_TYPE,
|
|
LLM_KV_ROPE_SCALING_FACTOR,
|
|
LLM_KV_ROPE_SCALING_ATTN_FACTOR,
|
|
LLM_KV_ROPE_SCALING_ORIG_CTX_LEN,
|
|
LLM_KV_ROPE_SCALING_FINETUNED,
|
|
LLM_KV_ROPE_SCALING_YARN_LOG_MUL,
|
|
|
|
LLM_KV_ROPE_SCALING_YARN_EXT_FACTOR,
|
|
LLM_KV_ROPE_SCALING_YARN_ATTN_FACTOR,
|
|
LLM_KV_ROPE_SCALING_YARN_BETA_FAST,
|
|
LLM_KV_ROPE_SCALING_YARN_BETA_SLOW,
|
|
|
|
LLM_KV_SPLIT_NO,
|
|
LLM_KV_SPLIT_COUNT,
|
|
LLM_KV_SPLIT_TENSORS_COUNT,
|
|
|
|
LLM_KV_SSM_INNER_SIZE,
|
|
LLM_KV_SSM_CONV_KERNEL,
|
|
LLM_KV_SSM_STATE_SIZE,
|
|
LLM_KV_SSM_TIME_STEP_RANK,
|
|
LLM_KV_SSM_GROUP_COUNT,
|
|
|
|
LLM_KV_TOKENIZER_MODEL,
|
|
LLM_KV_TOKENIZER_PRE,
|
|
LLM_KV_TOKENIZER_LIST,
|
|
LLM_KV_TOKENIZER_TOKEN_TYPE,
|
|
LLM_KV_TOKENIZER_TOKEN_TYPE_COUNT,
|
|
LLM_KV_TOKENIZER_SCORES,
|
|
LLM_KV_TOKENIZER_MERGES,
|
|
LLM_KV_TOKENIZER_BOS_ID,
|
|
LLM_KV_TOKENIZER_EOS_ID,
|
|
LLM_KV_TOKENIZER_UNK_ID,
|
|
LLM_KV_TOKENIZER_SEP_ID,
|
|
LLM_KV_TOKENIZER_PAD_ID,
|
|
LLM_KV_TOKENIZER_CLS_ID,
|
|
LLM_KV_TOKENIZER_MASK_ID,
|
|
LLM_KV_TOKENIZER_ADD_BOS,
|
|
LLM_KV_TOKENIZER_ADD_EOS,
|
|
LLM_KV_TOKENIZER_ADD_SEP,
|
|
LLM_KV_TOKENIZER_ADD_PREFIX,
|
|
LLM_KV_TOKENIZER_REMOVE_EXTRA_WS,
|
|
LLM_KV_TOKENIZER_PRECOMPILED_CHARSMAP,
|
|
LLM_KV_TOKENIZER_HF_JSON,
|
|
LLM_KV_TOKENIZER_RWKV,
|
|
LLM_KV_TOKENIZER_CHAT_TEMPLATE,
|
|
LLM_KV_TOKENIZER_CHAT_TEMPLATE_N,
|
|
LLM_KV_TOKENIZER_FIM_PRE_ID,
|
|
LLM_KV_TOKENIZER_FIM_SUF_ID,
|
|
LLM_KV_TOKENIZER_FIM_MID_ID,
|
|
LLM_KV_TOKENIZER_FIM_PAD_ID,
|
|
LLM_KV_TOKENIZER_FIM_REP_ID,
|
|
LLM_KV_TOKENIZER_FIM_SEP_ID,
|
|
LLM_KV_TOKENIZER_PREFIX_ID,
|
|
LLM_KV_TOKENIZER_SUFFIX_ID,
|
|
LLM_KV_TOKENIZER_MIDDLE_ID,
|
|
LLM_KV_TOKENIZER_EOT_ID,
|
|
LLM_KV_TOKENIZER_EOM_ID,
|
|
|
|
LLM_KV_ADAPTER_TYPE,
|
|
LLM_KV_ADAPTER_LORA_ALPHA,
|
|
|
|
// openPangu-2.0 (mHC / Hyper-Connections + param sink)
|
|
LLM_KV_OPENPANGU_MHC_NUM_STREAM,
|
|
LLM_KV_OPENPANGU_MHC_RECUR_NORM,
|
|
LLM_KV_OPENPANGU_PARAM_SINK_NUMBER,
|
|
};
|
|
|
|
struct LLM_KV {
|
|
LLM_KV(llm_arch arch, const char* suffix = nullptr);
|
|
|
|
llm_arch arch;
|
|
const char* suffix;
|
|
std::string operator()(llm_kv kv) const;
|
|
};
|
|
|
|
enum llm_tensor {
|
|
LLM_TENSOR_TOKEN_EMBD, // 0
|
|
LLM_TENSOR_TOKEN_EMBD_NORM,
|
|
LLM_TENSOR_TOKEN_TYPES,
|
|
LLM_TENSOR_POS_EMBD,
|
|
LLM_TENSOR_OUTPUT,
|
|
LLM_TENSOR_OUTPUT_NORM, // 5
|
|
LLM_TENSOR_ROPE_FREQS,
|
|
LLM_TENSOR_ROPE_FACTORS_LONG,
|
|
LLM_TENSOR_ROPE_FACTORS_SHORT,
|
|
LLM_TENSOR_ATTN_Q,
|
|
LLM_TENSOR_ATTN_K, // 10
|
|
LLM_TENSOR_ATTN_V,
|
|
LLM_TENSOR_ATTN_QKV,
|
|
LLM_TENSOR_ATTN_OUT,
|
|
LLM_TENSOR_ATTN_NORM,
|
|
LLM_TENSOR_ATTN_NORM_2, // 15
|
|
LLM_TENSOR_ATTN_OUT_NORM,
|
|
LLM_TENSOR_ATTN_POST_NORM,
|
|
LLM_TENSOR_ATTN_ROT_EMBD,
|
|
LLM_TENSOR_ATTN_SINKS,
|
|
LLM_TENSOR_ATTN_GATE, // 20
|
|
LLM_TENSOR_FFN_GATE_INP,
|
|
LLM_TENSOR_FFN_GATE_INP_SHEXP,
|
|
LLM_TENSOR_FFN_NORM,
|
|
LLM_TENSOR_FFN_POST_NORM,
|
|
LLM_TENSOR_FFN_GATE, // 25
|
|
LLM_TENSOR_FFN_DOWN,
|
|
LLM_TENSOR_FFN_UP,
|
|
LLM_TENSOR_FFN_ACT,
|
|
LLM_TENSOR_FFN_DOWN_EXP, // split experts for backward compatibility
|
|
LLM_TENSOR_FFN_GATE_EXP, // 30
|
|
LLM_TENSOR_FFN_UP_EXP,
|
|
LLM_TENSOR_FFN_NORM_EXPS,
|
|
LLM_TENSOR_FFN_DOWN_EXPS, // merged experts
|
|
LLM_TENSOR_FFN_GATE_EXPS,
|
|
LLM_TENSOR_FFN_UP_EXPS, // 35
|
|
LLM_TENSOR_FFN_GATE_UP_EXPS,
|
|
LLM_TENSOR_FFN_DOWN_SHEXP,
|
|
LLM_TENSOR_FFN_GATE_SHEXP,
|
|
LLM_TENSOR_FFN_UP_SHEXP,
|
|
LLM_TENSOR_FFN_EXP_PROBS_B, // 40
|
|
LLM_TENSOR_ATTN_Q_NORM,
|
|
LLM_TENSOR_ATTN_K_NORM,
|
|
LLM_TENSOR_LAYER_OUT_NORM,
|
|
LLM_TENSOR_SSM_IN,
|
|
LLM_TENSOR_SSM_CONV1D, // 45
|
|
LLM_TENSOR_SSM_X,
|
|
LLM_TENSOR_SSM_DT,
|
|
LLM_TENSOR_SSM_A,
|
|
LLM_TENSOR_SSM_A_NOSCAN,
|
|
LLM_TENSOR_SSM_D, // 45
|
|
LLM_TENSOR_SSM_NORM,
|
|
LLM_TENSOR_SSM_OUT,
|
|
LLM_TENSOR_SSM_BETA_ALPHA,
|
|
LLM_TENSOR_SSM_ALPHA,
|
|
LLM_TENSOR_SSM_BETA, // 50
|
|
LLM_TENSOR_ATTN_Q_A,
|
|
LLM_TENSOR_ATTN_Q_B,
|
|
LLM_TENSOR_ATTN_KV_A_MQA,
|
|
LLM_TENSOR_ATTN_KQ_A_MQA,
|
|
LLM_TENSOR_ATTN_KV_B, // 55
|
|
LLM_TENSOR_ATTN_K_B,
|
|
LLM_TENSOR_ATTN_V_B,
|
|
LLM_TENSOR_ATTN_Q_A_NORM,
|
|
LLM_TENSOR_ATTN_KV_A_NORM,
|
|
LLM_TENSOR_ATTN_SUB_NORM, // 60
|
|
LLM_TENSOR_FFN_SUB_NORM,
|
|
LLM_TENSOR_DEC_ATTN_NORM,
|
|
LLM_TENSOR_DEC_ATTN_Q,
|
|
LLM_TENSOR_DEC_ATTN_K,
|
|
LLM_TENSOR_DEC_ATTN_V, // 65
|
|
LLM_TENSOR_DEC_ATTN_OUT,
|
|
LLM_TENSOR_DEC_ATTN_REL_B,
|
|
LLM_TENSOR_DEC_CROSS_ATTN_NORM,
|
|
LLM_TENSOR_DEC_CROSS_ATTN_Q,
|
|
LLM_TENSOR_DEC_CROSS_ATTN_K, // 70
|
|
LLM_TENSOR_DEC_CROSS_ATTN_V,
|
|
LLM_TENSOR_DEC_CROSS_ATTN_OUT,
|
|
LLM_TENSOR_DEC_CROSS_ATTN_REL_B,
|
|
LLM_TENSOR_DEC_FFN_NORM,
|
|
LLM_TENSOR_DEC_FFN_GATE, // 75
|
|
LLM_TENSOR_DEC_FFN_DOWN,
|
|
LLM_TENSOR_DEC_FFN_UP,
|
|
LLM_TENSOR_DEC_OUTPUT_NORM,
|
|
LLM_TENSOR_ENC_ATTN_NORM,
|
|
LLM_TENSOR_ENC_ATTN_Q, // 80
|
|
LLM_TENSOR_ENC_ATTN_K,
|
|
LLM_TENSOR_ENC_ATTN_V,
|
|
LLM_TENSOR_ENC_ATTN_OUT,
|
|
LLM_TENSOR_ENC_ATTN_REL_B,
|
|
LLM_TENSOR_ENC_FFN_NORM, // 85
|
|
LLM_TENSOR_ENC_FFN_GATE,
|
|
LLM_TENSOR_ENC_FFN_DOWN,
|
|
LLM_TENSOR_ENC_FFN_UP,
|
|
LLM_TENSOR_ENC_OUTPUT_NORM,
|
|
LLM_TENSOR_NEXTN_EH_PROJ, // 90
|
|
LLM_TENSOR_NEXTN_EMBED_TOKENS,
|
|
LLM_TENSOR_NEXTN_ENORM,
|
|
LLM_TENSOR_NEXTN_HNORM,
|
|
LLM_TENSOR_NEXTN_SHARED_HEAD_HEAD,
|
|
LLM_TENSOR_NEXTN_SHARED_HEAD_NORM, // 95
|
|
LLM_TENSOR_INDEXER_K_NORM,
|
|
LLM_TENSOR_INDEXER_PROJ,
|
|
LLM_TENSOR_INDEXER_ATTN_K,
|
|
LLM_TENSOR_INDEXER_ATTN_Q_B, // 97
|
|
LLM_TENSOR_ATTN_KV_LATENT,
|
|
LLM_TENSOR_ATTN_OUT_A,
|
|
LLM_TENSOR_ATTN_OUT_B,
|
|
LLM_TENSOR_ATTN_COMP_KV,
|
|
LLM_TENSOR_ATTN_COMP_GATE,
|
|
LLM_TENSOR_ATTN_COMP_APE,
|
|
LLM_TENSOR_ATTN_COMP_NORM,
|
|
LLM_TENSOR_INDEXER_COMP_KV,
|
|
LLM_TENSOR_INDEXER_COMP_GATE,
|
|
LLM_TENSOR_INDEXER_COMP_APE,
|
|
LLM_TENSOR_INDEXER_COMP_NORM,
|
|
LLM_TENSOR_FFN_GATE_TID2EID,
|
|
LLM_TENSOR_HC_HEAD_BASE,
|
|
LLM_TENSOR_HC_HEAD_FN,
|
|
LLM_TENSOR_HC_HEAD_SCALE,
|
|
LLM_TENSOR_HC_ATTN_BASE,
|
|
LLM_TENSOR_HC_ATTN_FN,
|
|
LLM_TENSOR_HC_ATTN_SCALE,
|
|
LLM_TENSOR_HC_FFN_BASE,
|
|
LLM_TENSOR_HC_FFN_FN,
|
|
LLM_TENSOR_HC_FFN_SCALE,
|
|
|
|
LLM_TENSOR_PER_LAYER_TOKEN_EMBD,
|
|
LLM_TENSOR_PER_LAYER_MODEL_PROJ,
|
|
LLM_TENSOR_PER_LAYER_INP_GATE, // 100
|
|
LLM_TENSOR_PER_LAYER_PROJ,
|
|
LLM_TENSOR_PER_LAYER_PROJ_NORM,
|
|
LLM_TENSOR_PER_LAYER_POST_NORM,
|
|
LLM_TENSOR_LAYER_OUT_SCALE,
|
|
LLM_TENSOR_FFN_PRE_NORM_2, // 105
|
|
LLM_TENSOR_FFN_POST_NORM_1,
|
|
LLM_TENSOR_FFN_POST_NORM_2,
|
|
LLM_TENSOR_MTP_PRE_PROJ,
|
|
LLM_TENSOR_MTP_POST_PROJ,
|
|
LLM_TENSOR_MTP_TOKEN_ORDERING,
|
|
LLM_TENSOR_MTP_CENTROIDS,
|
|
LLM_TENSOR_DFLASH_FC,
|
|
LLM_TENSOR_DFLASH_HIDDEN_NORM,
|
|
LLM_TENSOR_DFLASH_AUX_HIDDEN_NORM,
|
|
|
|
// openPangu-2.0
|
|
LLM_TENSOR_ATTN_QA_CONV, // MoME causal conv on q-lora latent
|
|
LLM_TENSOR_ATTN_KV_CONV, // MoME causal conv on compressed-kv latent
|
|
LLM_TENSOR_ATTN_O_CONV, // MoME causal conv on attn output
|
|
LLM_TENSOR_ATTN_PARAM_SINK_KV, // learned static latent-kv sink
|
|
LLM_TENSOR_ATTN_PARAM_SINK_K_PE,
|
|
LLM_TENSOR_BLOCK_POST_NORM, // sandwich whole-block post-norm (layer subset)
|
|
LLM_TENSOR_MHC_ATTN_PHI, // mHC / Hyper-Connections (per attn sublayer)
|
|
LLM_TENSOR_MHC_ATTN_ALPHA,
|
|
LLM_TENSOR_MHC_ATTN_BETA,
|
|
LLM_TENSOR_MHC_ATTN_GAMMA,
|
|
LLM_TENSOR_MHC_MLP_PHI, // mHC (per mlp sublayer)
|
|
LLM_TENSOR_MHC_MLP_ALPHA,
|
|
LLM_TENSOR_MHC_MLP_BETA,
|
|
LLM_TENSOR_MHC_MLP_GAMMA,
|
|
LLM_TENSOR_MHC_MERGE_PHI, // mHC global stream-merge (non-block)
|
|
LLM_TENSOR_MHC_MERGE_ALPHA,
|
|
LLM_TENSOR_MHC_MERGE_BETA,
|
|
LLM_TENSOR_MHC_MERGE_GAMMA,
|
|
|
|
LLM_TENSOR_UNKNOWN,
|
|
};
|
|
|
|
llm_arch llm_arch_from_string(const std::string & name);
|
|
|
|
const char * llama_model_arch_name(llm_arch arch);
|
|
|
|
bool llm_arch_is_recurrent(const llm_arch & arch);
|
|
bool llm_arch_is_hybrid(const llm_arch & arch);
|
|
|
|
llm_tensor llm_tensor_type(llm_arch arch, const std::string & tensor_name, int il);
|