Team Ai
Datasetpublic

echodict/llama.cpp

version https://git-lfs.github.com/spec/v1 oid sha256:cfc44b7ba25614df70e6b65e3341cae0310163bd32fd31a6b928a542df433faf size 30786

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes610downloads
mamba.cpp55 linesDownload Raw Back to models
1#include "models.h"2 3llm_build_mamba::llm_build_mamba(const llama_model & model, const llm_graph_params & params) : llm_build_mamba_base(params) {4    ggml_tensor * cur;5    ggml_tensor * inpL;6 7    // {n_embd, n_tokens}8    inpL = build_inp_embd(model.tok_embd);9 10    auto * rs_inp = build_rs_inp();11 12    ggml_tensor * inp_out_ids = build_inp_out_ids();13 14    for (int il = 0; il < n_layer; ++il) {15        // norm16        cur = build_norm(inpL, model.layers[il].attn_norm, NULL, LLM_NORM_RMS, il);17        cb(cur, "attn_norm", il);18 19        if (model.arch == LLM_ARCH_MAMBA2) {20            cur = build_mamba2_layer(rs_inp, cur, model, ubatch, il);21        } else {22            cur = build_mamba_layer(rs_inp, cur, model, ubatch, il);23        }24 25        if (il == n_layer - 1 && inp_out_ids) {26            cur  = ggml_get_rows(ctx0, cur, inp_out_ids);27            inpL = ggml_get_rows(ctx0, inpL, inp_out_ids);28        }29 30        // residual31        cur = ggml_add(ctx0, cur, inpL);32 33        cur = build_cvec(cur, il);34        cb(cur, "l_out", il);35 36        // input for next layer37        inpL = cur;38    }39 40    // final rmsnorm41    cur = build_norm(inpL, model.output_norm, NULL, LLM_NORM_RMS, -1);42 43    cb(cur, "result_norm", -1);44    res->t_embd = cur;45 46    // lm_head47    cur = build_lora_mm(model.output, cur);48 49    cb(cur, "result_output", -1);50    res->t_logits = cur;51 52    ggml_build_forward_expand(gf, cur);53}54 55