ollama 启用使用llama.cpp的--model-draft < model>功能进行推测性解码,

ejk8hzay  于 2个月前  发布在  其他
关注(0)|答案(1)|浏览(42)

你好,Ollama朋友们👋,

回溯到去年这个时候,llama.cpp已经支持了使用草稿模型参数进行推测性解码。这可以极大地加速推理。我想知道是否有可能让你考虑为llama.cpp的--model-draft参数添加这个选项?
它通过在较大的模型前面加载一个较小的模型(具有相同的分词器/家族)来工作。我知道在使用exllamav2时,你可以获得100%-200%的速度提升(认真的!),最好的部分是——没有质量损失。
例如,你可能有:

  • 主模型:Qwen 72b Q4_K_M
  • 草稿模型:Qwen 0.5b Q4_K_M

结果将是主Qwen 72b模型的内存使用量加上微小的0.5b草稿模型,但大约是仅加载主模型时的4倍标记/秒。
最近我一直在使用exllamav2而不是Ollama来实现这个功能(以及4位K/V缓存#5091),性能真的令人惊叹。
可以传递给llama.cpp服务器的参数有:

  1. --model-draft(必需)-用途与现有的--model相同,用于加载普通模型。
  2. --draft(可选,但建议提供)
  3. --p-split(可选,但建议提供)
    还有以下内容,但我认为99%的时间里默认设置可能就足够了:
  • --threads-draft
  • --threads-batch-draft

https://github.com/ggerganov/llama.cpp/blob/master/examples/server/README.md?plain=1#L37

2cmtqfgy

2cmtqfgy1#

我刚刚找到了这个旧问题,虽然已经相当过时了,但似乎与此相关 - #1292

相关问题