Ollama
Ollama 是一个应用程序,允许您在本地离线运行大型语言模型。
安装
- Install ollama 以在 CPU 上运行模型
- 要在 GPU 上运行模型
- Install ollama-cuda 以用于 NVIDIA
- Install ollama-rocm 以用于 AMD。
接下来,启用/启动 ollama.service
。然后,验证 Ollama 的状态
$ ollama --version
如果显示 Warning: could not connect to a running Ollama instance
,则 Ollama 服务尚未运行;否则,Ollama 服务正在运行并已准备好接受用户请求。
接下来,验证您是否可以运行模型。以下命令下载最新的 Distilled DeepSeek-R1 模型,并返回一个 Ollama 提示符,允许您与模型对话
$ ollama run deepseek-r1:1.5b
>>> Send a message (/? for help)
用法
Ollama 可执行文件不提供搜索界面。没有 ollama search
这样的命令。要搜索模型,您需要访问他们的搜索页面。
要运行模型
$ ollama run model
要停止模型
$ ollama stop model
要更新模型
$ ollama pull model
要移除模型
$ ollama rm model
故障排除
ROCm 没有利用我的 AMD 集成 GPU
您可能使用了像 amdgpu_top 这样的实用程序来监控 Ollama 会话期间集成 GPU 的利用率,但却注意到您的集成 GPU 根本没有被使用。
这是预期的:在没有配置的情况下,ROCm 只是忽略您的集成 GPU,导致所有内容都在 CPU 上计算。
然而,所需的配置非常简单,因为您只需要为 ollama.service
创建一个 drop-in 文件
/etc/systemd/system/ollama.service.d/override_gfx_version.conf
[Service] Environment="HSA_OVERRIDE_GFX_VERSION=X.Y.Z"
其中 X.Y.Z
取决于系统随附的 GFX 版本。
要确定要使用的 GFX 版本,首先请确保已安装 rocminfo。它应该作为 rocblas 的依赖项拉入您的系统,而 rocblas 本身又是 ollama-rocm 的依赖项。
接下来,查询您系统的实际 GFX 版本
$ /opt/rocm/bin/rocminfo | grep amdhsa
您需要记住单词 gfx
后打印的数字,因为这是您系统的实际 GFX 版本。数字的解释如下
- 如果数字是 4 位数字,则它们被解释为
XX.Y.Z
,其中前两位数字被解释为X
部分。 - 如果数字是 3 位数字,则它们被解释为
X.Y.Z
。
然后,找到所有已安装的 rocblas 内核
$ find /opt/rocm/lib/rocblas/library -name 'Kernels.so-*'
您需要将 X.Y.Z
设置为那里列出的可用版本之一。规则总结如下
- 对于
X
部分,它必须与实际版本完全相等。 - 对于
Y
部分,允许不匹配,但它必须不大于实际版本。 - 对于
Z
部分,允许不匹配,但它必须不大于实际版本。
设置正确的 X.Y.Z
后,执行 daemon-reload 和 restart ollama.service
。
然后,像往常一样运行您的模型。您可能希望再次使用 amdgpu_top 监控 GPU 利用率。