…lines 1–82 unchanged (82 lines)
83 model.mm_1_w, model.mm_1_b,
84 nullptr, nullptr,
85 model.mm_2_w, model.mm_2_b,
86 FFN_GELU_ERF,
87 -1);
88
89 } else if (proj_type == PROJECTOR_TYPE_MUSIC_FLAMINGO) {
90 // projector
91 cur = build_ffn(cur,
92 model.mm_1_w, model.mm_1_b,
93 nullptr, nullptr,
94 model.mm_2_w, model.mm_2_b,
95 FFN_GELU_ERF,
96 -1);
97
98 } else if (proj_type == PROJECTOR_TYPE_GLMA) {
99 cur = ggml_norm(ctx0, cur, hparams.eps);
100 cur = ggml_mul(ctx0, cur, model.mm_norm_pre_w);
101 cur = ggml_add(ctx0, cur, model.mm_norm_pre_b);
102 cur = build_stack(cur, hparams.proj_stack_factor, n_embd);
103 cur = build_ffn(cur, model.mm_1_w, model.mm_1_b, nullptr, nullptr, model.mm_2_w, model.mm_2_b, hparams.ffn_op, 0);
104 cur = ggml_concat(ctx0, model.mm_boi, cur, 1);
…lines 105–116 unchanged (12 lines)