Skip to content

Commit 9ad7748

Browse files
authored
add exaone4 support (#2405)
1 parent 741db4c commit 9ad7748

3 files changed

Lines changed: 35 additions & 0 deletions

File tree

gptqmodel/models/auto.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@
8787
from .definitions.dream import DreamQModel # noqa: E402
8888
from .definitions.ernie4_5 import Ernie4_5QModel # noqa: E402
8989
from .definitions.ernie4_5_moe import Ernie4_5_MoeQModel # noqa: E402
90+
from .definitions.exaone4 import Exaone4QModel # noqa: E402
9091
from .definitions.exaone import ExaOneQModel # noqa: E402
9192
from .definitions.falcon_h1 import FalconH1QModel # noqa: E402
9293
from .definitions.gemma2 import Gemma2QModel # noqa: E402
@@ -225,6 +226,7 @@
225226
"deepseek_v3": DeepSeekV3QModel,
226227
"dots1": Dots1QModel,
227228
"exaone": ExaOneQModel,
229+
"exaone4": Exaone4QModel,
228230
"grinmoe": GrinMoeQModel,
229231
"mllama": MLlamaQModel,
230232
"marin": Qwen3QModel,

gptqmodel/models/definitions/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from .dots1 import Dots1QModel
2222
from .dream import DreamQModel
2323
from .exaone import ExaOneQModel
24+
from .exaone4 import Exaone4QModel
2425
from .ernie4_5 import Ernie4_5QModel
2526
from .ernie4_5_moe import Ernie4_5_MoeQModel
2627
from .gemma2 import Gemma2QModel
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from ..base import BaseQModel
2+
3+
4+
class Exaone4QModel(BaseQModel):
5+
6+
pre_lm_head_norm_module = "model.norm"
7+
8+
# Exaone4 uses GQA (Grouped Query Attention) architecture
9+
# o_proj must match v_proj shape for AWQ scaling optimizations
10+
awq_scale_optimize_shape_dependent_modules = ["self_attn.o_proj"]
11+
12+
module_tree = [
13+
"model",
14+
"layers",
15+
"#",
16+
{
17+
# Skip q_norm and k_norm (too small, RMSNorm layers)
18+
"self_attn": (
19+
"q_proj:0",
20+
"k_proj:0",
21+
"v_proj:0",
22+
"o_proj:1",
23+
"q_norm:!",
24+
"k_norm:!"
25+
),
26+
# Skip post_attention_layernorm (RMSNorm, too small)
27+
"post_attention_layernorm": ("post_attention_layernorm:!",),
28+
"mlp": ("gate_proj:0", "up_proj:0", "down_proj:1"),
29+
# Skip post_feedforward_layernorm (RMSNorm, too small)
30+
"post_feedforward_layernorm": ("post_feedforward_layernorm:!",),
31+
}
32+
]

0 commit comments

Comments
 (0)