ollama 调用 780M
本文最后更新于 2025年2月15日 晚上
最近安装了 ollama 试试本地跑大模型,直接安装了 ollama 以及 ollama-cuda, 然后调用 ollama run deepseek-r1:32b 大概能有 3tps 的速度,主要卡点在 N 卡爆显存。后续听说可以用 AMD核显来跑,并且由于核显直接共享50%的内存,效果还可以,我有96G内存,核显能有48G左右的共享显存,因此不会爆显存了,打算试一下。
前置知识
开机自启与绑定端口
先提一点没用的知识。首先编辑 ollama 的 service文件,更改绑定的地址为 0.0.0.0这样其他应用就可以调用 ollama 了。
1 | |
在 [Service] 部分加一行
1 | |
然后启动 ollama 并设置开机自启
1 | |
查看输出速率
执行 ollama run deepseek-r1:32b 可以进入命令行交互界面,输入 /set verbose 可以开启 verbose 模式,每次交互完毕会展示一个统计结果,像下面这样,可以比较方便地看到输出速度。
1 | |
在核显上跑 ollama
官方的 ollama是不支持 780M的,但是群友说有一个第三方分支 AMD_APU_GTT_memory 支持,在官方仓库下也有一个对应PR,我们只要用上游的 PKGBUILD打上这个 patch 即可。
- 对应的 PKGBUILD 放在我的 gist 仓库,
- 对应的二进制包也放在我的共享仓库。
安装好之后再在它的service文件添加一个新的环境变量HSA_OVERRIDE_GFX_VERSION,并重启服务就可以了。注意780M值一定要是11.0.2, 我试了其他的11.0.3, 11.0.1 都不能启动。680M 可以试试这个 PR 里面的值。同时我还按照这个PR加了另外两个环境变量OLLAMA_MAX_LOADED_MODELS=1 和 OLLAMA_NUM_PARALLEL=1(实际测试有没有好像都没有影响)。
1 | |