
最近开始逐步把 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' 2 mooyo 1 天前 说起来,如果本地运行的话,大概速度是多少?我用我的 AMD AI 365 跑 qwen 的 0.7b 小模型,也才 30token/s 用的 rocm 。这个速度正常么 |
5 metalvest 1 天前 微软也搞了个自己的类似东西 winget install Microsoft.FoundryLocal foundry model run qwen2.5-0.5b |
6 secretys 1 天前 vllm 是类似的东西吧,这个应该比较快吧 |
8 TabGre 22 小时 57 分钟前 via iPhone 支持 mps 吗? |
9 bwnjnOEI 22 小时 57 分钟前 via iPhone 我也用的你这一套 gpt-oss-120b 4090d 能到 30 多 tokens/s |
10 wenyifancc 19 小时 40 分钟前 @mooyo 这速度不对啊,我在 Intel Ultra 265k 使用纯 cpu 运行 Qwen3-30b-a3b-2507_UD_Q4_K_XL 在 32k 上下文长度下也能跑 32token/s,使用 5090 可以跑 300token/s llama.cpp vulkan 后端 |
12 slowgen 18 小时 49 分钟前 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 |
13 wenerme OP @c0xt30a ```yaml services: ollama: # 0.11.6 0.12.3 image: docker.m.daocloud.io/ollama/ollama:0.13.0 container_name: ollama networks: - service ports: - 11434:11434 volumes: - /data/home/.ollama/:/root/.ollama/ restart: unless-stopped deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [ gpu ] environment: # qwen3 vl 最大 256K #OLLAMA_CONTEXT_LENGTH: 16384 # 16k #OLLAMA_CONTEXT_LENGTH: 32768 # 32k # qwen3-vl:32b 256K 206.6 GiB # qwen3-vl:32b 64K 42.7 GiB OLLAMA_CONTEXT_LENGTH: 64000 OLLAMA_DEBUG: 1 #OLLAMA_KV_CACHE_TYPE: q4_0 OLLAMA_FLASH_ATTENTION: 1 #OLLAMA_NEW_ENGINE: true OLLAMA_NUM_PARALLEL: 2 llama: image: ghcr.io/mostlygeek/llama-swap:v172-cuda-b7062 container_name: llama command: - -watch-config - -config - /llama/llama-swap.yaml volumes: - ./models:/models - ./models:/root/.cache/llama.cpp # the user is app, home is /app, uid=10001 - ./models:/app/.cache/llama.cpp - ./llama:/llama ports: - 11435:8080 environment: HF_ENDPOINT: https://modelscope.cn sysctls: net.ipv6.conf.all.disable_ipv6: 1 deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [ gpu ] extra_hosts: - "host.docker.internal:host-gateway" ``` |
14 wenerme OP |
15 mooyo 5 小时 52 分钟前 @wenyifancc 我用的核显跑的,问 AI 说瓶颈在内存速度上,CPU 能跑这么快?有时间我试试切 CPU |
16 wenyifancc 4 小时 10 分钟前 @mooyo 试试 vulkan 的后端,另外我使用核显(intel 的核显)速度明显是不如直接用 cpu 跑的,内存速度也有影响,我的内存频率是 6400M,双通道,192GB; 附上其他模型的性能供参考:(5090 显卡,显存够的情况下全部放显存;不够的情况下,加载模型时 moe 层卸载到 cpu,仅共享层和 kv 缓存放显存;通常显存使用 16g 以内) 以下模型精度都是 UD_Q4_X_KL: qwen3-235b-a22b-2507-instruct: 7 token/s qwen3-vl-235b-a22b-2507-instruct: 6 token/s qwen3-vl-30b-a3b-instruct: 180 token/s qwen3-vl-32b-instruct: 55 token/s qwen3-vl-8b-instruct: 120 token/s glm-4.5-air: 15 token/s gpt-oss-120b: 30 toke/s gpt-oss-20b: 240 token/s |
17 mooyo 4 小时 6 分钟前 @wenyifancc 我试试。其实我的目标只是跑个本地翻译,速度能比硅基流动的 9b-chat 快一点就行了。 |
18 mooyo 4 小时 5 分钟前 @wenyifancc 我的内存应该是 6400 双通道的 32G 主要是内存太小了点 |
19 kevan 3 小时 11 分钟前 没人用 lm studio ? |