Ollama 可以让用户在离线情况下,使用本地版大语言模型。
安装并运行第一个大模型
- 使用 CPU 运行模型:
- 联合显卡运行模型:
- 使用 NVIDIA 显卡,安装 ollama-cuda包
- 使用 AMD 显卡, 安装 ollama-rocm包
完成上述安装后,启用/启动 ollama.service
。然后验证 Ollama 是否成功启动:
$ ollama --version
如果输出提示 Warning: could not connect to a running Ollama instance
,则 Ollama 服务没有成功启动;否则, Ollama 服务启动成功并且进入 Ollama 程序的命令行界面,等待用户输入命令。
然后,运行第一个本地离线大模型。下面的例子将会下载并运行最新的 DeepSeek-R1 蒸馏模型 1.5b 参数版。出现 Send a message (/? for help)
即可输入文字,向大模型提问。
$ ollama run deepseek-r1:1.5b
>>> Send a message (/? for help)
常用命令
Ollama 命令行工具没有类似 ollama search
的命令用来搜索具体的模型,需要查询 Ollama 是否支持某个模型,请使用 Ollama 官网的搜索功能。
运行模型:
$ ollama run 模型名称
停止模型:
$ ollama stop 模型名称
更新模型:
$ ollama pull 模型名称
删除模型:
$ ollama rm 模型名称
可能出现的问题
当使用 AMD 的集成显卡, ROCm 程序没有成功调用显卡
在运行 Ollama 会话,并通过类似 amdgpu_top包 去监控集成显卡时,发现集成显卡根本没有被使用,为了解决这个问题,我们需要一些额外的配置。
配置很简单,你只需要针对 ollama.service
创建一个附加配置片段,文件内容如下:
/etc/systemd/system/ollama.service.d/override_gfx_version.conf
[Service] Environment="HSA_OVERRIDE_GFX_VERSION=A.B.C"
其中X.Y.Z版本号使用当前系统中系统已安装的 rocblas包 核心版本,具体选择哪个 rocblas包 核心版本需要通过GFX版本判断。
第一步,我们需要安装和使用 rocminfo包 来查询当前系统准确的GFX版本。在安装 ollama-rocm包 时, rocminfo包 会被作为间接依赖一同安装( ollama-rocm包 依赖 rocblas包 , rocblas包 依赖 rocminfo包 )。
$ /opt/rocm/bin/rocminfo | grep amdhsa
- 如果显示
gfx
后的数字为4位数,前两个数字作为X
,后两个数字分别为YZ
。 - 如果显示
gfx
后的数字为3位数,三位数字分别是XYZ
。
第二步,查询已安装的 rocblas包 核心版本。我们需要选取某个 rocblas包 核心的版本号本来配置附加配置片段,其中版本 A==X, B<=Y, C<=Z
,即 A.B.C
为 X.*<=Y.*<=Z
。
$ find /opt/rocm/lib/rocblas/library -name 'Kernels.so-*'
例如,GFX 版本号为 11.2.9
, 则选取 rocblas包 核心版本 11.*<=2.*<=9
(例如 11.0.2
)。
附加配置片段修改为:
/etc/systemd/system/ollama.service.d/override_gfx_version.conf
[Service] Environment="HSA_OVERRIDE_GFX_VERSION=11.0.2"
最后,我们执行 daemon-reload 并重启 ollama.service
来重新加载守护进程,使得配置生效。
现在,你可以重新运行 Ollama 会话,并通过类似 amdgpu_top包 去监控集成显卡的使用情况。