最全面部署指南:轻松在Ollama上安装与配置DeepSeek R1-32B!

〇、本文术语

0.1、CUDA

CUDA 是什么?
CUDA(Compute Unified Device Architecture)是 NVIDIA 开发的一个并行计算平台和编程模型,旨在利用图形处理器(GPU)的强大计算能力来加速各种应用程序的执行。
主要组成部分:
CUDA Toolkit: 提供开发人员所需的工具、库和文档,用于编写、构建和优化 CUDA 应用程序。
CUDA Runtime API: 一组高级函数接口,简化了在 GPU 上执行计算任务的过程。
CUDA Driver API: 提供低级接口,允许开发者更直接地与 GPU 进行通信和管理。
CUDA Libraries: 包括优化过的数学库(如 cuBLAS、cuFFT 等),这些库可以加速常见数值运算的执行。
工作原理:
并行计算: CUDA 允许在 GPU 上同时执行大量线程,从而实现高效的并行计算。
核函数 (Kernel Functions): 开发者使用特殊语法扩展(如 globaldevice)编写在 GPU 上执行的代码段,这些代码段被称为核函数。
内存管理: CUDA 提供了高效的数据传输机制,允许开发者将数据从 CPU 传输到 GPU 并在计算完成后返回结果。
应用领域:
科学计算: 在需要处理大量数据和复杂算法的领域(如物理学、化学、生物学)中,CUDA 可以显著加速计算过程。
数据分析与机器学习: CUDA 被广泛应用于训练深度学习模型、执行大数据分析等任务,利用 GPU 的并行计算能力提升性能。
图形渲染与视觉效果: 由于 GPU 在处理图像和视觉数据方面的天然优势,CUDA 在影视制作、虚拟现实等领域也有重要应用。

一、环境介绍

资源名称信息
操作系统CentOS Linux release 8.5.2111
框架Ollama
模型DeepSeek R1-32B
GPUNVIDIA A100 *1 80GB
CPUAMD EPYC 7V13 64-Core Processor *24
内存216 GB
磁盘512GB SSD

以上是本文的实验环境,根据个人环境使用需求得出,并不代表推荐或最低要求配置。
有没有推荐的配置?
我该选择哪个模型?

二、环境检查

在开始操作之前检查一遍环境还是有必要的
了解操作系统软件版本,以RHEL系列为例:

[root@T-GPU-07 ~]# cat /etc/redhat-release 
CentOS Linux release 8.5.2111

查看PCI总线上是否识别到了显卡设备,并确认显卡型号和显存容量

[root@T-GPU-07 ~]# lspci | grep -i nvidia
0001:00:00.0 3D controller: NVIDIA Corporation GA100 [A100 PCIe 80GB] (rev a1)
[root@T-GPU-07 ~]# 

查看CPU核数

[root@T-GPU-07 ~]# cat /proc/cpuinfo  |grep  processor |wc -l
24
[root@T-GPU-07 ~]# 

查看内存容量

[root@T-GPU-07 ~]# free -g 
              total        used        free      shared  buff/cache   available
Mem:            216           2         194           0          19         212
Swap:             0           0           0
[root@T-GPU-07 ~]#

查看磁盘容量

[root@T-GPU-07 ~]# df -hT 
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  109G     0  109G   0% /dev
tmpfs          tmpfs     109G     0  109G   0% /dev/shm
tmpfs          tmpfs     109G  8.6M  109G   1% /run
tmpfs          tmpfs     109G     0  109G   0% /sys/fs/cgroup
/dev/sda2      xfs       512G   42G  470G   9% /
/dev/sda1      xfs       496M  213M  283M  43% /boot
/dev/sda15     vfat      495M  7.3M  488M   2% /boot/efi
/dev/sdb1      ext4       63G   53M   60G   1% /mnt/resource
tmpfs          tmpfs      22G     0   22G   0% /run/user/1001
[root@T-GPU-07 ~]# 

三、了解和安装ollama

3.1 什么是ollama?

Ollama 是一个开源的深度学习框架,主要用于构建和部署机器学习模型。它提供了灵活且高效的工具,支持多种深度学习任务,如图像识别、自然语言处理等。
主要特点:

  1. 简洁易用:API 简洁,方便快速上手。
  2. 高性能:优化的计算引擎,加速模型训练和推理。
  3. 跨平台支持:支持多操作系统和硬件(如 CPU、GPU)。
  4. 社区驱动:开源项目,依赖社区贡献和维护。

使用场景:

  1. 研究:快速原型设计和实验。
  2. 生产部署:将模型部署到服务器或移动设备。

3.2 通过官网安装ollama

通过Ollama官网提供的安装脚本部署:Ollama官网
在这里插入图片描述
将命令拷贝到虚拟机执行:

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

详细的脚本内容可直接访问https://ollama.com/install.sh查看

这个脚本通过检测操作系统、识别包管理器、检查GPU和CUDA的状态,选择合适的安装方法来自动化NVIDIA CUDA驱动的安装过程。它还处理内核模块的加载,解决 Nouveau 驱动的冲突,并确保驱动在重启后仍然有效。整个流程自动化程度高,极大地方便了用户的安装体验。

执行完毕后检查是否成功安装NVIDIA 显卡驱动和CUDA
nvccNVIDIA CUDA Compiler的缩写,用于编译CUDA代码。
-V--version参数用于显示当前安装的CUDA编译器版本信息。

[root@T-GPU-07 ~]#  nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Mar_28_02:18:24_PDT_2024
Cuda compilation tools, release 12.4, V12.4.131
Build cuda_12.4.r12.4/compiler.34097967_0
[root@T-GPU-07 ~]# 

nvidia-smi NVIDIA System Management Interface的缩写,用于监控和管理NVIDIA GPU设备。
主要功能包括:查看GPU使用情况、温度、功耗、监控进程等。

[root@T-GPU-07 ~]# nvidia-smi
Tue Feb 11 05:45:56 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.144.03             Driver Version: 550.144.03     CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA A100 80GB PCIe          Off |   00000001:00:00.0 Off |                    0 |
| N/A   44C    P0             65W /  300W |   21933MiB /  81920MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A      9454      C   ...rs/cuda_v12_avx/ollama_llama_server      21920MiB |
+-----------------------------------------------------------------------------------------+
[root@T-GPU-07 ~]# 

如何查看Ollama是否成功


[root@T-GPU-07 ~]# ollama 
Usage:
  ollama [flags]
  ollama [command]

Available Commands:
  serve       Start ollama
  create      Create a model from a Modelfile
  show        Show information for a model
  run         Run a model
  stop        Stop a running model
  pull        Pull a model from a registry
  push        Push a model to a registry
  list        List models
  ps          List running models
  cp          Copy a model
  rm          Remove a model
  help        Help about any command

Flags:
  -h, --help      help for ollama
  -v, --version   Show version information

Use "ollama [command] --help" for more information about a command.
[root@T-GPU-07 ~]# 

修改Ollama的配置,默认情况下,Ollama 仅监听 127.0.0.1:11434,需修改为允许外部访问:

sudo vim /etc/systemd/system/ollama.service

# 在service段下新增一行
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
# 保存后需要重载和重启服务
sudo systemctl daemon-reload
sudo systemctl restart ollama

3.3 Ollama脚本未能成功安装驱动和CUDA

手动安装NVIDIA驱动

安装必要的组件

sudo yum install gcc
sudo yum install gcc-c++
sudo yum -y install kernel-devel
sudo yum -y install kernel-headers
sudo yum -y install epel-release
sudo yum -y install dkms

备份并修改配置文件

vim /usr/lib/modprobe.d/dist-blacklist.conf

# 添加以下两行内容
# 禁用nouveau显卡驱动
blacklist nouveau
options nouveau modeset=0

# 注释这一行
# blacklist nvidiafb

重建 initramfs image

了解基本概念:
initramfs(Initial RAM File System) 是Linux启动过程中使用的临时根文件系统,存储在内存中。
initramfs图像 指的是生成这个初始内存文件系统的镜像文件。
作用和重要性:
加载必要的驱动程序和工具:内核无法直接访问复杂的文件系统或硬件设备,因此需要通过“initramfs”提供基本的驱动程序和支持工具。
完成系统初始化:在正式根文件系统被挂载之前,“initramfs”负责执行关键的系统初始化任务。
创建和管理:
使用mkinitramfs命令:大多数Linux发行版提供了“mkinitramfs”或类似的工具,用于生成“initramfs图像”。

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut /boot/initramfs-$(uname -r).img $(uname -r) 

重启服务器

reboot

查看nouveau是否禁用, 如果没有输出代表成功

lsmod | grep nouveau 

下载显卡驱动
英伟达官网:https://www.nvidia.cn/drivers/lookup/
输入显卡信息,可以参考以下内容:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下载到本地后需要自行上传到服务中。

上传后赋予运行权限以安装驱动

chmod +x NVIDIA-Linux-x86_64-440.118.02.run

执行脚本安装驱动

sh ./NVIDIA-Linux-x86_64-440.118.02.run

安装脚本过程中需要选择配置一些选项

输入accept后:
CUDA Installer
-[X] Driver
	[X] 450.51.06
+[X] CUDA Toolkit 11.0
 [X] CUDA Samples 11.0
 [X] CUDA Demo Suite 11.0
 [X] CUDA Documentation 11.0
Options
Install
直接选择install

其他询问配置参考
dkms: yes
32 位兼容: yes
nvidia-xconfig: no

至此显卡驱动安装结束,输入nvidia-smi命令检查是否正常

安装CUDA

从官网获取安装包下载: CUDA
在这里插入图片描述

在这里插入图片描述
赋予执行权限以执行安装脚本

chmod +x cuda_12.4.1_550.54.15_linux.run
sudo sh cuda_12.4.1_550.54.15_linux.run

输入accept接受协议,回车取消driver安装选项
安装完毕显示以下内容:

[root@T-GPU-07 nvidia-driver]# sh  ./cuda_12.4.1_550.54.15_linux.run 
===========
= Summary =
===========

Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-12.4/

Please make sure that
 -   PATH includes /usr/local/cuda-12.4/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-12.4/lib64, or, add /usr/local/cuda-12.4/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-12.4/bin
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 550.00 is required for CUDA 12.4 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
    sudo <CudaInstaller>.run --silent --driver

Logfile is /var/log/cuda-installer.log
[root@T-GPU-07 nvidia-driver]# 

CUDA导出为环境变量
编辑配置文件

vi ~/.bashrc

在then 和 fi 块中添加

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

在当前shell中执行,使环境变量生效

source ~/.bashrc

检查是否安装成功

nvcc -V

四、Ollama启动DeepSeek R1-32B模型

运行模型

ollama run deepseek-r1:32b

检查端口是否在监听

[root@T-GPU-07 ~]# netstat -tlunap |grep oll
tcp        0      0 127.0.0.1:38127         0.0.0.0:*               LISTEN      13837/ollama_llama_ 
tcp6       0      0 :::11434                :::*                    LISTEN      1424/ollama         
tcp6       0      0 10.0.0.5:11434          111.11.11.30:2881     ESTABLISHED 1424/ollama         
tcp6       0      0 10.0.0.5:11434          111.11.11.26:2103     ESTABLISHED 1424/ollama         
tcp6       0      0 10.0.0.5:11434          111.11.11.26:2107     ESTABLISHED 1424/ollama         
tcp6       0      0 10.0.0.5:11434          111.11.11.30:2880     ESTABLISHED 1424/ollama         
tcp6       0      0 10.0.0.5:11434          111.11.11.30:2882     ESTABLISHED 1424/ollama         
[root@T-GPU-07 ~]# 

五、应用

这里以ChatBoxAI为例。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Energet!c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值