@@ -34,6 +34,7 @@ static const std::map<llm_arch, const char *> LLM_ARCH_NAMES = {
34
34
{ LLM_ARCH_PHI3, " phi3" },
35
35
{ LLM_ARCH_PHIMOE, " phimoe" },
36
36
{ LLM_ARCH_PLAMO, " plamo" },
37
+ { LLM_ARCH_PLAMO2, " plamo2" },
37
38
{ LLM_ARCH_CODESHELL, " codeshell" },
38
39
{ LLM_ARCH_ORION, " orion" },
39
40
{ LLM_ARCH_INTERNLM2, " internlm2" },
@@ -67,6 +68,7 @@ static const std::map<llm_arch, const char *> LLM_ARCH_NAMES = {
67
68
{ LLM_ARCH_JAIS, " jais" },
68
69
{ LLM_ARCH_NEMOTRON, " nemotron" },
69
70
{ LLM_ARCH_EXAONE, " exaone" },
71
+ { LLM_ARCH_EXAONE4, " exaone4" },
70
72
{ LLM_ARCH_RWKV6, " rwkv6" },
71
73
{ LLM_ARCH_RWKV6QWEN2, " rwkv6qwen2" },
72
74
{ LLM_ARCH_RWKV7, " rwkv7" },
@@ -81,9 +83,11 @@ static const std::map<llm_arch, const char *> LLM_ARCH_NAMES = {
81
83
{ LLM_ARCH_DOTS1, " dots1" },
82
84
{ LLM_ARCH_ARCEE, " arcee" },
83
85
{ LLM_ARCH_ERNIE4_5, " ernie4_5" },
86
+ { LLM_ARCH_ERNIE4_5_MOE, " ernie4_5-moe" },
84
87
{ LLM_ARCH_HUNYUAN_MOE, " hunyuan-moe" },
85
88
{ LLM_ARCH_SMOLLM3, " smollm3" },
86
89
{ LLM_ARCH_LFM2, " lfm2" },
90
+ { LLM_ARCH_DREAM, " dream" },
87
91
{ LLM_ARCH_UNKNOWN, " (unknown)" },
88
92
};
89
93
@@ -784,6 +788,36 @@ static const std::map<llm_arch, std::map<llm_tensor, const char *>> LLM_TENSOR_N
784
788
{ LLM_TENSOR_FFN_UP, " blk.%d.ffn_up" },
785
789
},
786
790
},
791
+ {
792
+ LLM_ARCH_PLAMO2,
793
+ {
794
+ { LLM_TENSOR_TOKEN_EMBD, " token_embd" },
795
+ { LLM_TENSOR_OUTPUT_NORM, " output_norm" },
796
+ { LLM_TENSOR_OUTPUT, " output" },
797
+ { LLM_TENSOR_ROPE_FREQS, " rope_freqs" },
798
+ { LLM_TENSOR_ATTN_NORM, " blk.%d.attn_norm" },
799
+ { LLM_TENSOR_ATTN_QKV, " blk.%d.attn_qkv" },
800
+ { LLM_TENSOR_ATTN_Q_NORM, " blk.%d.attn_q_norm" },
801
+ { LLM_TENSOR_ATTN_K_NORM, " blk.%d.attn_k_norm" },
802
+ { LLM_TENSOR_ATTN_OUT, " blk.%d.attn_output" },
803
+ { LLM_TENSOR_ATTN_ROT_EMBD, " blk.%d.attn_rot_embd" },
804
+ { LLM_TENSOR_FFN_NORM, " blk.%d.ffn_norm" },
805
+ { LLM_TENSOR_FFN_DOWN, " blk.%d.ffn_down" },
806
+ { LLM_TENSOR_FFN_UP, " blk.%d.ffn_up" },
807
+ { LLM_TENSOR_SSM_IN, " blk.%d.ssm_in" },
808
+ { LLM_TENSOR_SSM_CONV1D, " blk.%d.ssm_conv1d" },
809
+ { LLM_TENSOR_SSM_X, " blk.%d.ssm_x" },
810
+ { LLM_TENSOR_SSM_DT, " blk.%d.ssm_dt" },
811
+ { LLM_TENSOR_SSM_A, " blk.%d.ssm_a" },
812
+ { LLM_TENSOR_SSM_D, " blk.%d.ssm_d" },
813
+ { LLM_TENSOR_SSM_OUT, " blk.%d.ssm_out" },
814
+ { LLM_TENSOR_SSM_DT_NORM, " blk.%d.ssm_dt_norm" },
815
+ { LLM_TENSOR_SSM_B_NORM, " blk.%d.ssm_b_norm" },
816
+ { LLM_TENSOR_SSM_C_NORM, " blk.%d.ssm_c_norm" },
817
+ { LLM_TENSOR_ATTN_POST_NORM, " blk.%d.post_attention_norm" },
818
+ { LLM_TENSOR_FFN_POST_NORM, " blk.%d.post_ffw_norm" },
819
+ },
820
+ },
787
821
{
788
822
LLM_ARCH_CODESHELL,
789
823
{
@@ -1477,6 +1511,26 @@ static const std::map<llm_arch, std::map<llm_tensor, const char *>> LLM_TENSOR_N
1477
1511
{ LLM_TENSOR_FFN_UP, " blk.%d.ffn_up" },
1478
1512
},
1479
1513
},
1514
+ {
1515
+ LLM_ARCH_EXAONE4,
1516
+ {
1517
+ { LLM_TENSOR_TOKEN_EMBD, " token_embd" },
1518
+ { LLM_TENSOR_OUTPUT_NORM, " output_norm" },
1519
+ { LLM_TENSOR_OUTPUT, " output" },
1520
+ { LLM_TENSOR_ROPE_FREQS, " rope_freqs" },
1521
+ { LLM_TENSOR_ATTN_Q, " blk.%d.attn_q" },
1522
+ { LLM_TENSOR_ATTN_Q_NORM, " blk.%d.attn_q_norm" },
1523
+ { LLM_TENSOR_ATTN_K, " blk.%d.attn_k" },
1524
+ { LLM_TENSOR_ATTN_K_NORM, " blk.%d.attn_k_norm" },
1525
+ { LLM_TENSOR_ATTN_V, " blk.%d.attn_v" },
1526
+ { LLM_TENSOR_ATTN_OUT, " blk.%d.attn_output" },
1527
+ { LLM_TENSOR_ATTN_POST_NORM, " blk.%d.post_attention_norm" },
1528
+ { LLM_TENSOR_FFN_GATE, " blk.%d.ffn_gate" },
1529
+ { LLM_TENSOR_FFN_DOWN, " blk.%d.ffn_down" },
1530
+ { LLM_TENSOR_FFN_UP, " blk.%d.ffn_up" },
1531
+ { LLM_TENSOR_FFN_POST_NORM, " blk.%d.post_ffw_norm" },
1532
+ }
1533
+ },
1480
1534
{
1481
1535
LLM_ARCH_RWKV6,
1482
1536
{
@@ -1793,6 +1847,31 @@ static const std::map<llm_arch, std::map<llm_tensor, const char *>> LLM_TENSOR_N
1793
1847
{ LLM_TENSOR_FFN_UP, " blk.%d.ffn_up" },
1794
1848
},
1795
1849
},
1850
+ {
1851
+ LLM_ARCH_ERNIE4_5_MOE,
1852
+ {
1853
+ { LLM_TENSOR_TOKEN_EMBD, " token_embd" },
1854
+ { LLM_TENSOR_OUTPUT_NORM, " output_norm" },
1855
+ { LLM_TENSOR_OUTPUT, " output" },
1856
+ { LLM_TENSOR_ATTN_NORM, " blk.%d.attn_norm" },
1857
+ { LLM_TENSOR_ATTN_Q, " blk.%d.attn_q" },
1858
+ { LLM_TENSOR_ATTN_K, " blk.%d.attn_k" },
1859
+ { LLM_TENSOR_ATTN_V, " blk.%d.attn_v" },
1860
+ { LLM_TENSOR_ATTN_OUT, " blk.%d.attn_output" },
1861
+ { LLM_TENSOR_FFN_NORM, " blk.%d.ffn_norm" },
1862
+ { LLM_TENSOR_FFN_GATE, " blk.%d.ffn_gate" },
1863
+ { LLM_TENSOR_FFN_DOWN, " blk.%d.ffn_down" },
1864
+ { LLM_TENSOR_FFN_UP, " blk.%d.ffn_up" },
1865
+ { LLM_TENSOR_FFN_GATE_INP, " blk.%d.ffn_gate_inp" },
1866
+ { LLM_TENSOR_FFN_GATE_SHEXP, " blk.%d.ffn_gate_shexp" },
1867
+ { LLM_TENSOR_FFN_DOWN_SHEXP, " blk.%d.ffn_down_shexp" },
1868
+ { LLM_TENSOR_FFN_UP_SHEXP, " blk.%d.ffn_up_shexp" },
1869
+ { LLM_TENSOR_FFN_GATE_EXPS, " blk.%d.ffn_gate_exps" },
1870
+ { LLM_TENSOR_FFN_DOWN_EXPS, " blk.%d.ffn_down_exps" },
1871
+ { LLM_TENSOR_FFN_UP_EXPS, " blk.%d.ffn_up_exps" },
1872
+ { LLM_TENSOR_FFN_EXP_PROBS_B, " blk.%d.exp_probs_b" },
1873
+ },
1874
+ },
1796
1875
{
1797
1876
LLM_ARCH_HUNYUAN_MOE,
1798
1877
{
@@ -1854,6 +1933,23 @@ static const std::map<llm_arch, std::map<llm_tensor, const char *>> LLM_TENSOR_N
1854
1933
{ LLM_TENSOR_TOKEN_EMBD_NORM, " token_embd_norm" },
1855
1934
}
1856
1935
},
1936
+ {
1937
+ LLM_ARCH_DREAM,
1938
+ {
1939
+ { LLM_TENSOR_TOKEN_EMBD, " token_embd" },
1940
+ { LLM_TENSOR_OUTPUT_NORM, " output_norm" },
1941
+ { LLM_TENSOR_OUTPUT, " output" },
1942
+ { LLM_TENSOR_ATTN_NORM, " blk.%d.attn_norm" },
1943
+ { LLM_TENSOR_ATTN_Q, " blk.%d.attn_q" },
1944
+ { LLM_TENSOR_ATTN_K, " blk.%d.attn_k" },
1945
+ { LLM_TENSOR_ATTN_V, " blk.%d.attn_v" },
1946
+ { LLM_TENSOR_ATTN_OUT, " blk.%d.attn_output" },
1947
+ { LLM_TENSOR_FFN_NORM, " blk.%d.ffn_norm" },
1948
+ { LLM_TENSOR_FFN_GATE, " blk.%d.ffn_gate" },
1949
+ { LLM_TENSOR_FFN_DOWN, " blk.%d.ffn_down" },
1950
+ { LLM_TENSOR_FFN_UP, " blk.%d.ffn_up" },
1951
+ },
1952
+ },
1857
1953
{
1858
1954
LLM_ARCH_UNKNOWN,
1859
1955
{
@@ -2094,10 +2190,20 @@ bool llm_arch_is_hybrid(const llm_arch & arch) {
2094
2190
switch (arch) {
2095
2191
case LLM_ARCH_JAMBA:
2096
2192
case LLM_ARCH_FALCON_H1:
2193
+ case LLM_ARCH_PLAMO2:
2097
2194
case LLM_ARCH_GRANITE_HYBRID:
2098
2195
case LLM_ARCH_LFM2:
2099
2196
return true ;
2100
2197
default :
2101
2198
return false ;
2102
2199
}
2103
2200
}
2201
+
2202
+ bool llm_arch_is_diffusion (const llm_arch & arch) {
2203
+ switch (arch) {
2204
+ case LLM_ARCH_DREAM:
2205
+ return true ;
2206
+ default :
2207
+ return false ;
2208
+ }
2209
+ }
0 commit comments