@@ -1005,6 +1005,7 @@ void llama_model::load_hparams(llama_model_loader & ml) {
10051005 case 16 : type = LLM_TYPE_1B; break ;
10061006 case 32 : type = LLM_TYPE_7B; break ;
10071007 case 40 : type = LLM_TYPE_13B; break ;
1008+ case 64 : type = LLM_TYPE_32B; break ;
10081009 default : type = LLM_TYPE_UNKNOWN;
10091010 }
10101011 } break ;
@@ -2726,6 +2727,8 @@ bool llama_model::load_tensors(llama_model_loader & ml) {
27262727 } break ;
27272728 case LLM_ARCH_OLMO2:
27282729 {
2730+ const int64_t n_embd_head = n_embd / n_head;
2731+
27292732 tok_embd = create_tensor (tn (LLM_TENSOR_TOKEN_EMBD, " weight" ), {n_embd, n_vocab}, 0 );
27302733
27312734 // output
@@ -2740,7 +2743,7 @@ bool llama_model::load_tensors(llama_model_loader & ml) {
27402743 layer.wv = create_tensor (tn (LLM_TENSOR_ATTN_V, " weight" , i), {n_embd, n_embd_gqa}, 0 );
27412744 layer.wo = create_tensor (tn (LLM_TENSOR_ATTN_OUT, " weight" , i), {n_embd, n_embd}, 0 );
27422745 layer.attn_q_norm = create_tensor (tn (LLM_TENSOR_ATTN_Q_NORM, " weight" , i), {n_embd}, 0 );
2743- layer.attn_k_norm = create_tensor (tn (LLM_TENSOR_ATTN_K_NORM, " weight" , i), {n_embd }, 0 );
2746+ layer.attn_k_norm = create_tensor (tn (LLM_TENSOR_ATTN_K_NORM, " weight" , i), {n_head_kv * n_embd_head }, 0 );
27442747 layer.attn_post_norm = create_tensor (tn (LLM_TENSOR_ATTN_POST_NORM, " weight" , i), {n_embd}, 0 );
27452748
27462749 layer.ffn_gate = create_tensor (tn (LLM_TENSOR_FFN_GATE, " weight" , i), {n_embd, n_ff}, 0 );
0 commit comments