V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wenerme
V2EX  ›  程序员

LLAMA CPP 比 Ollama 快得多

  •  
  •   wenerme ·
    wenerme · 9 小时 44 分钟前 · 821 次点击

    最近开始逐步把 ollama 迁移到 llamacpp 了,起因是 ollama 不是所有模型都支持并行,迁移过来后发现 llamacpp 原来挺快的。

    通过 llamaswap 能方便使用多个模型,前期迁移也能保留 ollama 通过 llamaswap 代理请求过去

    而且 llamacpp 有很多 ollama 没有的特性,且能控制的内容更多,比如能支持更多的 embeding 方式,更控制细粒度的参数,能支持推测推理,支持 lora 等等

    非常建议一试

    我自己的一些 llamaswap 配置

    models:
      # used for dayflow, about 2k context
      qwen3-vl:8b:
        cmd: >
          /app/llama-server --port ${PORT}
          -np 2 -cb -c 8192 -ctk q8_0 -ctv q8_0 -ngl 99  --jinja
          -hf unsloth/Qwen3-VL-8B-Instruct-GGUF:Q4_K_M --mmproj /models/qwen3-vl-8b-mmproj-F16.gguf
          -a 'qwen3-vl:8b'
    
      qwen3-vl-thinking:32b:
        cmd: >
          /app/llama-server --port ${PORT}
          -np 2 -cb -c 8096 -ngl 99  --jinja
          -hf unsloth/Qwen3-VL-32B-Thinking-GGUF:Q4_K_M --mmproj /models/qwen3-vl-32b-mmproj-F16.gguf
          -a 'qwen3-vl:32b'
        ttl: 360
        aliases:
        - qwen3-vl
        - qwen3-vl:32b
    
      gpt-oss:20b:
        cmd: /app/llama-server --port ${PORT} -hf ggml-org/gpt-oss-20b-GGUF -c 0 --jinja
        ttl: 360
        aliases:
        - gpt-oss
    
      qwen3-embedding:4b:
        cmd: >
          /app/llama-server --port ${PORT}
          -hf Qwen/Qwen3-Embedding-4B-GGUF:Q4_K_M
          --embedding --pooling last -ub 8192 --verbose-prompt  --jinja
        ttl: 360
    
      qwen3-reranker:4b:
        cmd: /app/llama-server --port ${PORT} -hf QuantFactory/Qwen3-Reranker-4B-GGUF --reranking
        ttl: 360
    
    
    groups:
      always:
        persistent: true
        swap: false
        exclusive: false
        members:
        - 'qwen3-vl:8b'
    
    
    12 条回复    2025-11-21 00:56:21 +08:00
    coefu
        1
    coefu  
       9 小时 32 分钟前
    ollama 就是在 llama.cpp 上的封装。而且还不支持单机多卡并行推理。
    https://www.v2ex.com/t/1126516
    mooyo
        2
    mooyo  
       8 小时 11 分钟前
    说起来,如果本地运行的话,大概速度是多少?我用我的 AMD AI 365 跑 qwen 的 0.7b 小模型,也才 30token/s 用的 rocm 。这个速度正常么
    GDSR
        3
    GDSR  
       7 小时 39 分钟前 via Android
    @mooyo Qwen 有 0.7B 的吗?🤔
    mooyo
        4
    mooyo  
       6 小时 33 分钟前
    @GDSR 0.6B GGUF 记错了。
    metalvest
        5
    metalvest  
       5 小时 51 分钟前
    微软也搞了个自己的类似东西
    winget install Microsoft.FoundryLocal
    foundry model run qwen2.5-0.5b
    secretys
        6
    secretys  
       5 小时 50 分钟前
    vllm 是类似的东西吧,这个应该比较快吧
    c0xt30a
        7
    c0xt30a  
       5 小时 21 分钟前
    @wenerme OP 方便分享下 docker-compose.yml 文件么?多谢了
    TabGre
        8
    TabGre  
       4 小时 37 分钟前 via iPhone
    支持 mps 吗?
    bwnjnOEI
        9
    bwnjnOEI  
       4 小时 37 分钟前 via iPhone
    我也用的你这一套 gpt-oss-120b 4090d 能到 30 多 tokens/s
    wenyifancc
        10
    wenyifancc  
       1 小时 20 分钟前
    @mooyo 这速度不对啊,我在 Intel Ultra 265k 使用纯 cpu 运行 Qwen3-30b-a3b-2507_UD_Q4_K_XL 在 32k 上下文长度下也能跑 32token/s,使用 5090 可以跑 300token/s
    llama.cpp vulkan 后端
    dryadent
        11
    dryadent  
       57 分钟前
    @secretys vllm 其实也有门槛,有条件的话,自己部署其实不如直接买服务
    slowgen
        12
    slowgen  
       29 分钟前
    ollama 就是个废物,在 r/LocalLLaMA 都被喷了好多回了,精准控制参数贼麻烦,还不如直接去 llama-server 看参数 https://github.com/ggml-org/llama.cpp/tree/master/tools/server

    而且现在 llama.cpp 自带的 webui 也挺好用的,越来越强大了,缺点就是多个模型加载有点麻烦,要开多个命令。
    在 mac 上用 llama.cpp 是最方便的,去 release 页下载编译好的文件就好了,只有 15MB ,追新模型很方便。
    举个例子:我跑 gpt-oss-120b 模型,开中等级别推理,这个命令就搞定

    /Users/admin/llama/build/bin/llama-server \
    -m /Volumes/RC20/lmstudio-community/gpt-oss-120b-GGUF/gpt-oss-120b-MXFP4-00001-of-00002.gguf \
    --host 0.0.0.0 \
    --port 50505 \
    -fa on \
    -np 4 \
    -ub 2048 -b 2048 \
    -c 131072 \
    --presence-penalty 1.1 \
    --n-gpu-layers 99 \
    --jinja \
    --alias openai/gpt-oss-120b \
    --chat-template-kwargs '{"reasoning_effort": "medium"}' \
    --temp 1.0 \
    --top-p 1.0 \
    --top-k 0

    Windows 上同理,下载对应的文件解压就用

    Linux 上也很方便,N 卡的话直接 cuda13 驱动一装,docker 配置一下 nvidia 作为 runtime 完事

    docker run --gpus all \
    -v /home/slowgen/models/Qwen3-Coder-30B-A3B-Instruct-UD-Q4_K_XL.gguf:/models/Qwen3-Coder-30B-A3B-Instruct-UD-Q4_K_XL.gguf \
    -p 12345:12345 \
    ghcr.io/ggml-org/llama.cpp:server-cuda \
    -m /models/Qwen3-Coder-30B-A3B-Instruct-UD-Q4_K_XL.gguf \
    -c 40960 \
    -np 4 \
    --jinja \
    --n-gpu-layers 99 \
    --temp 0.7 \
    --min-p 0.0 \
    --top-p 0.8 \
    --top-k 20 \
    --presence-penalty 1.05 \
    --port 12345 \
    --host 0.0.0.0 \
    --mlock \
    -mg 0
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1183 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 17:25 · PVG 01:25 · LAX 09:25 · JFK 12:25
    ♥ Do have faith in what you're doing.