summaryrefslogtreecommitdiff
path: root/gguf-py
diff options
context:
space:
mode:
authorsaood06 <saood05@gmail.com>2025-04-22 01:34:13 -0500
committerGitHub <noreply@github.com>2025-04-22 08:34:13 +0200
commitcc398007238cbbb064609cbdc9bc4aab03c658d7 (patch)
treea414370696faa5ad8a89ac5aa7ec7cf2171a78a4 /gguf-py
parent93cd77b65501246603061c7ee2801a992e3c6312 (diff)
Add support for bitnet2b_2501 model (#337)
* add support for bitnet2b_2501 model * Fixes * Support both model names --------- Co-authored-by: potassiummmm <zhou.hansong@outlook.com>
Diffstat (limited to 'gguf-py')
-rw-r--r--gguf-py/gguf/constants.py24
-rw-r--r--gguf-py/gguf/tensor_mapping.py5
2 files changed, 29 insertions, 0 deletions
diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py
index 93c614d6..22cde145 100644
--- a/gguf-py/gguf/constants.py
+++ b/gguf-py/gguf/constants.py
@@ -219,6 +219,7 @@ class MODEL_ARCH(IntEnum):
DEEPSEEK2 = auto()
CHATGLM = auto()
BITNET = auto()
+ BITNET_25 = auto()
T5 = auto()
T5ENCODER = auto()
JAIS = auto()
@@ -351,6 +352,7 @@ MODEL_ARCH_NAMES: dict[MODEL_ARCH, str] = {
MODEL_ARCH.DEEPSEEK2: "deepseek2",
MODEL_ARCH.CHATGLM: "chatglm",
MODEL_ARCH.BITNET: "bitnet",
+ MODEL_ARCH.BITNET_25: "bitnet-25",
MODEL_ARCH.T5: "t5",
MODEL_ARCH.T5ENCODER: "t5encoder",
MODEL_ARCH.JAIS: "jais",
@@ -1019,6 +1021,28 @@ MODEL_TENSORS: dict[MODEL_ARCH, list[MODEL_TENSOR]] = {
MODEL_TENSOR.ATTN_SUB_NORM,
MODEL_TENSOR.FFN_SUB_NORM,
],
+ MODEL_ARCH.BITNET_25: [
+ MODEL_TENSOR.TOKEN_EMBD,
+ MODEL_TENSOR.OUTPUT_NORM,
+ MODEL_TENSOR.OUTPUT,
+ MODEL_TENSOR.ROPE_FREQS,
+ MODEL_TENSOR.ATTN_NORM,
+ MODEL_TENSOR.ATTN_Q,
+ MODEL_TENSOR.ATTN_K,
+ MODEL_TENSOR.ATTN_V,
+ MODEL_TENSOR.ATTN_OUT,
+ MODEL_TENSOR.ATTN_ROT_EMBD,
+ MODEL_TENSOR.FFN_GATE_INP,
+ MODEL_TENSOR.FFN_NORM,
+ MODEL_TENSOR.FFN_GATE,
+ MODEL_TENSOR.FFN_DOWN,
+ MODEL_TENSOR.FFN_UP,
+ MODEL_TENSOR.FFN_GATE_EXP,
+ MODEL_TENSOR.FFN_DOWN_EXP,
+ MODEL_TENSOR.FFN_UP_EXP,
+ MODEL_TENSOR.ATTN_SUB_NORM,
+ MODEL_TENSOR.FFN_SUB_NORM,
+ ],
MODEL_ARCH.T5: [
MODEL_TENSOR.TOKEN_EMBD,
MODEL_TENSOR.OUTPUT,
diff --git a/gguf-py/gguf/tensor_mapping.py b/gguf-py/gguf/tensor_mapping.py
index e8725426..1dea6a82 100644
--- a/gguf-py/gguf/tensor_mapping.py
+++ b/gguf-py/gguf/tensor_mapping.py
@@ -131,6 +131,7 @@ class TensorNameMap:
"model.layers.{bid}.self_attn.qkv_proj", # phi3
"encoder.layers.{bid}.self_attention.query_key_value", # chatglm
"transformer.layers.{bid}.attn.qkv_proj", # openelm
+ "layers.{bid}.attention.wqkv",
),
# Attention query
@@ -464,10 +465,14 @@ class TensorNameMap:
MODEL_TENSOR.ATTN_SUB_NORM: (
"model.layers.{bid}.self_attn.inner_attn_ln", # bitnet
+ "layers.{bid}.attention.attn_sub_norm", # bitnet
+ "model.layers.{bid}.self_attn.attn_sub_norm",
),
MODEL_TENSOR.FFN_SUB_NORM: (
"model.layers.{bid}.mlp.ffn_layernorm", # bitnet
+ "layers.{bid}.feed_forward.ffn_sub_norm", # bitnet
+ "model.layers.{bid}.mlp.ffn_sub_norm",
),
MODEL_TENSOR.DEC_ATTN_NORM: (