llama.cpp Sampling API

llama.cpp Sampling API

llama.cpp
https://github.com/ggerganov/llama.cpp

1. Sampling API

/home/yongqiang/llm_work/llama_cpp_25_01_05/llama.cpp/include/llama.h

复制代码
    //
    // Sampling API
    //
    // Sample usage:
    //
    //    // prepare the sampling chain at the start
    //    auto sparams = llama_sampler_chain_default_params();
    //
    //    llama_sampler * smpl = llama_sampler_chain_init(sparams);
    //
    //    llama_sampler_chain_add(smpl, llama_sampler_init_top_k(50));
    //    llama_sampler_chain_add(smpl, llama_sampler_init_top_p(0.9, 1));
    //    llama_sampler_chain_add(smpl, llama_sampler_init_temp (0.8));
    //
    //    // typically, the chain should end with a sampler such as "greedy", "dist" or "mirostat"
    //    // this sampler will be responsible to select the actual token
    //    llama_sampler_chain_add(smpl, llama_sampler_init_dist(seed));
    //
    //    ...
    //
    //    // decoding loop:
    //    while (...) {
    //        ...
    //
    //        llama_decode(ctx, batch);
    //
    //        // sample from the logits of the last token in the batch
    //        const llama_token id = llama_sampler_sample(smpl, ctx, -1);
    //
    //        // accepting the token updates the internal state of certain samplers (e.g. grammar, repetition, etc.)
    //        llama_sampler_accept(smpl, id);
    //        ...
    //    }
    //
    //    llama_sampler_free(smpl);
    //
    // TODO: In the future, llama_sampler will be utilized to offload the sampling to the backends (e.g. GPU).
    // TODO: in the future, the entire sampling API that uses llama_model should start using llama_vocab
    //
  • Autoregressive generation

/home/yongqiang/llm_work/llama_cpp_25_01_05/llama.cpp/examples/simple/simple.cpp

/home/yongqiang/llm_work/llama_cpp_25_01_05/llama.cpp/src/llama-sampling.h
/home/yongqiang/llm_work/llama_cpp_25_01_05/llama.cpp/src/llama-sampling.cpp

References

1\] Yongqiang Cheng,

相关推荐
爱听歌的周童鞋3 天前
理解llama.cpp如何进行LLM推理
llm·llama·llama.cpp·inference
o0o_-_22 天前
【langchain/入门】使用langchain调用本地部署的大模型(以llama.cpp以及ollama为例)
langchain·ollama·llama.cpp·deepseek
月光技术杂谈23 天前
llama.cpp 利用intel集成显卡xpu加速推理
人工智能·python·llama·intel·llama.cpp·xpu·集成显卡
Yongqiang Cheng2 个月前
llama.cpp GGML Quantization Type
quantization·llama.cpp·ggml
Yongqiang Cheng2 个月前
llama.cpp GGUF 模型格式
llama.cpp·gguf 模型格式
Yongqiang Cheng2 个月前
llama.cpp LLM_CHAT_TEMPLATE_DEEPSEEK_3
llama.cpp·deepseek_3
Yongqiang Cheng2 个月前
llama.cpp LLM_ARCH_DEEPSEEK and LLM_ARCH_DEEPSEEK2
llama.cpp·deepseek·deepseek2
Yongqiang Cheng2 个月前
llama.cpp LLM_ARCH_LLAMA
llama.cpp·arch_llama
Yongqiang Cheng2 个月前
llama.cpp LLM_ARCH_NAMES
llama.cpp·arch_names