File tree Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -675,10 +675,17 @@ void llama_model::load_hparams(llama_model_loader & ml) {
675675 } break;
676676 case LLM_ARCH_MINICPM:
677677 {
678+ // Backward-compatible defaults for older MiniCPM GGUFs
679+ hparams.f_embedding_scale = 12.0f;
680+ hparams.f_residual_scale = 1.4f / sqrtf(float(hparams.n_layer));
681+ hparams.f_logit_scale = hparams.n_embd ? (256.0f / float(hparams.n_embd)) : 1.0f;
682+
678683 ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps);
679- ml.get_key(LLM_KV_EMBEDDING_SCALE, hparams.f_embedding_scale);
680- ml.get_key(LLM_KV_RESIDUAL_SCALE, hparams.f_residual_scale);
681- ml.get_key(LLM_KV_LOGIT_SCALE, hparams.f_logit_scale);
684+
685+ // Optional KV reads, override defaults if present in newer GGUF exports
686+ ml.get_key(LLM_KV_EMBEDDING_SCALE, hparams.f_embedding_scale, /*required=*/false);
687+ ml.get_key(LLM_KV_RESIDUAL_SCALE, hparams.f_residual_scale, /*required=*/false);
688+ ml.get_key(LLM_KV_LOGIT_SCALE, hparams.f_logit_scale, /*required=*/false);
682689
683690 // MiniCPM uses rope by default, unlike Granite which uses it as a switch
684691 hparams.rope_finetuned = true;
You can’t perform that action at this time.
0 commit comments