标签 Ollama 下的文章

前言

一直想本地运行Deepseek等大模型,但苦于主机用的是传统“神卡”rx580,Rocm什么的不支持,跑不起来。于是在万能的某宝找到了这款Tesla P4显卡,400不到的价格配上8G显存,感觉还不错。而且处于Ollama支持的CUDA版本之内。唯一的缺点就是这卡是被动散热,没有风扇。需要自己买风扇来搭配。用的是旧整机,cpu和主板属于50包邮都不值的水平。但跑AI主要靠显卡,内存稍微大点也就够用了。
4077134945.webp

安装

  • 安装前说明

安装时本人参考的说明已经过时,结果遇到了错误,最新版的驱动12.9已经支持P4了。尽信书则不如无书,请根据实际版本来合理选择版本。

  1. 系统

本人使用了Ubuntu 20.04 LTS server作系统,原因是找到了这个系统现成的教程,搭建环境不会那么复杂。(理论上22.04,24.04也能跑,CUDA Tool Kit现在更新了这两个版本,但我没试)

  1. 安装显卡驱动

正常安装后运行lspci | grep -i nvidia,会出现显卡名称如下:
3309178401.jpg
检查可用的驱动ubuntu-drivers devices,可见
1318857945.jpg
这里没有使用sudo ubuntu-drivers autoinstall自动安装驱动,是因为自动安装的驱动可能在后面安装CUDA时出现兼容性问题,而是使用了nvidia-driver-470版本(nvidia-driver-470-server、nvidia-driver-575版本应该也行)。运行sudo apt install nvidia-driver-470,安装完成后重启电脑,再次运行nvidia-smi可以看到显卡信息。注意此时显示的CUDA Version是最高可安装的版本,还未安装CUDA。
551544298.jpg

3.安装 CUDA
访问CUDA Toolkit Downloads,依次选择Linux>x86_64>Ubuntu>20.04>deb_local,网站会自动生成安装步骤。按照此步骤安装即可。
306141839.jpg
对于Driver Installer的选择,传统闭源版本性能更高,因此选择后者进行安装。
1354980924.jpg
理论上安装后输入nvcc -V,会输出CUDA版本,但本人此时运行后提示"
Command 'nvcc' not found"。经查找后,应该是程序没有加入PATH。因此cd /usr/local/cuda/bin进入文件夹,ls后存在nvcc文件,直接将cuda路径加入系统路径即可。
编辑文件:

nano ~/.bashrc

在末尾添加以下内容:

#添加CUDA
export LD_LIBRARY_PATH=/usr/local/cuda/lib
export PATH=$PATH:/usr/local/cuda/bin

更新配置文件:

source ~/.bashrc

再次运行nvcc -V,输出CUDA版本,即为安装成功。
680558350.jpg

  1. 安装cuDNN

访问cuDNN Archive,选择Download cuDNN v8.9.7 (December 5th, 2023), for CUDA 12.x,下载Local Installer for Ubuntu20.04 x86_64 (Deb)。下载时要求注册nvidia开发者账号。按照要求注册即可。
3412043289.jpg
将文件传入电脑,运行

sudo dpkg -i cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb

根据提示运行

sudo cp /var/cudnn-local-repo-ubuntu2004-8.9.7.29/cudnn-local-30472A84-keyring.gpg /usr/share/keyrings/

来安装key。可用性将在安装Pytorch后验证。

  1. 安装Ollama

到Ollama官网Download Ollama,选择Linux后出现自动安装脚本。运行

curl -fsSL https://ollama.com/install.sh | sh

来安装。安装后会能够自动检测显卡。Ollama使用很简单,在此不过多赘述。

  1. 安装Anaconda和Pytorch

先下载安装脚本:

wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh

然后赋予可执行权限并执行:

chmod +x Anaconda3-2024.10-1-Linux-x86_64.sh
sh Anaconda3-2024.10-1-Linux-x86_64.sh

按照提示完成安装。
安装时注意安装位置。安装完成后执行conda。若出现conda: command not found,请同样编辑.bashrc文件

nano ~/.bashrc

在末尾添加以下内容:

#替换{path}为自己的安装位置
export PATH="{path}/anaconda3/bin:$PATH"

更新配置文件:

source ~/.bashrc

安装完成后,创建一个pytorch环境,并激活

conda create --name pytorch python=3.10 conda activate pytorch

由于Pytorch官网去除了conda支持,本文参考另一篇文章进行安装。执行以下命令完成PyTorch环境部署

conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia

完成后,运行python进入shell。

>>> import torch
>>> torch.cuda.is_available() #检查cuda是否可用
>>> torch.cuda.get_device_name(0) #查看设备名称
>>> torch.cuda.get_device_properties(0).total_memory #查看显存大小
>>> torch.version.cuda #查看cuda版本
>>> torch.backends.cudnn.is_available() # 检查cudnn是否可用
>>> torch.backends.cudnn.version() # 查看cudnn版本

参考链接