OLLAMA + DeepSeek-r1:32B 离线安装,从入手到高阶应用(一)

不多话,直接开干。

情景:需要在一台内网机器上部署deepseek-r1,用来支撑内部的智能化应用。内网机器不能联互联网,所有组件必须从外网下载,再转运到内网。内网机器为神州数码的坤泰主机,安装OpenEuler 20.03,内存128G,带4张华为NPU(i300-Duo)。

一、下载安装Ollama 

根据Linux的版本下载对应版本的 Ollama

  • 查看Linux CPU型号,使用下面的命令
#查看Linux版本号
cat /proc/version
#查看cpu架构
lscpu
  • x86_64 CPU选择下载ollama-linux-amd64;aarch64|arm64 CPU选择下载ollama-linux-arm64

我的机器是arm架构,所以下载了ollama-linux-arm64。

网址:Releases · ollama/ollama · GitHub,直接下载。文件较大,推荐使用迅雷等工具下载加速,本人下载用了12分钟。

二、安装并启动Ollama

用光盘将下载的ollama-linux-arm64.tgz复制到内网机器。并在内网机器解压。

tar -xzf ollama-linux-amd64.tgz
  • 1

在这里插入图片描述

  • 2 启动 Ollama,使用下面的命令:
ollama serve
  • 3 有坑:这时候,不出问题的话,Ollama会正常启动,但是这里往往会出现问题:/lib64/libstdc++.so.6: version `GLIBCXX_3.4.25‘ not found。

  本人在这里就碰到了,一顿折腾。查找问题发现我安装的gcc-7.3,里面的动态库是GLIBCXX—3.1.17,所以必须更新gcc到gcc-9.2.0。

三、安装gcc-9.2.0

1.下载gcc-9.2.0

到 Index of /gnu/gcc 下载你要的gcc-9.2.0版本,我下载的是gcc-9.2.0.tar.gz

https://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz

2.安装gcc所需组件。

因为是无网络状态,所以安装gcc的组件需要手动下载。

打开./contrib/download_prerequisites文件,发现里面有四个压缩包需要下载:具体是哪四个呢?

怎么下载呢?上这个网站下载。Index of /sites/sourceware.org/pub/gcc/infrastructure (mirrorservice.org)

WARNING:光把这四个安装包拷贝回去还不够,你还需要把他们解压并且改名。具体操作为:

tar -xzvf mpc-1.0.3.tar.gz
mv mpc-1.0.3 mpc

tar -jxvf gmp-6.1.0.tar.bz2
mv gmp-6.1.0 gmp

tar -jxvf mpfr-3.1.4.tar.bz2
mv mpfr-3.1.4 mpfr

tar -jxvf isl-0.18.tar.bz2
mv isl-0.18 isl

然后手动安装gmp、mpc、mpfr、isl这4个包,可以根据提示自己安装。

安装方法很简单,以mpc为例:
tar -jxvf mpc-1.0.3.tar.gz

mv mpc-1.0.3 mpc
cd mpc
./configure
make
sudo make install
最后一步,大家注意一下用sudo,有些系统你可能没有权限把包放到lib下面。按照上面的方法依次按照需要的包即可。

3.安装gcc

安装好组件后,就可能安装gcc-9.2.0了。

## 配置makefile, prefix=安装路径
mkdir build && cd build
../configure --prefix=/usr/gcc-9.2.0 --enable-language=c,c++,fortran --disable-multilib --enable-bootstrap --enable-checking=release

make安装

# 这一步需要非常久的时间
make -j4

# 千万别忘了make install!!!!!!!!!!!!!!!!!
make install

4.添加环境变量

它的作用是以后只需要source这个env_gcc-9.2.0的文件就可以使用gcc-9.2.0了。

vi env_gcc-9.2.0

# 下面的内容拷贝进env_gcc-9.2.0中

# 唯一需要修改的地方就是your_path要和第四步configure配置的一致。
GCCHOME=/usr/gcc-9.2.0

export PATH=$GCCHOME/bin:$PATH
export LD_LIBRARY_PATH=$GCCHOME/lib/gcc/x86_64-pc-linux-gnu/9.2.0/:$GCCHOME/lib64:$GCCHOME/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=$GCCHOME/lib:$LIBRARY_PATH
export C_INCLUDE_PATH=$GCCHOME/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$GCCHOME/include/c++/9.2.0:$CPLUS_INCLUDE_PATH

5.使用

source env_gcc-9.2.0
gcc --version

四、运行Ollama

这时候,还有一步:关联库

默认情况下,这个库会安装到/usr/local/lib64下面,而且代码引用的时候,会自动找libstdc++.so.6,这个是一个软链接,知道我们安装的包上的。可以通过ls -l 查看。

-rw-r--r-- 1 root staff 45407954 Sep 23 21:57 libstdc++.a
-rw-r--r-- 1 root staff 12002194 Sep 23 21:57 libstdc++fs.a
-rwxr-xr-x 1 root staff      905 Sep 23 21:57 libstdc++fs.la
-rwxr-xr-x 1 root staff      965 Sep 23 21:57 libstdc++.la
lrwxrwxrwx 1 root staff       19 Sep 23 21:57 libstdc++.so -> libstdc++.so.6.0.27
lrwxrwxrwx 1 root staff       19 Sep 23 21:57 libstdc++.so.6 -> libstdc++.so.6.0.27
-rwxr-xr-x 1 root staff 17730016 Sep 23 21:57 libstdc++.so.6.0.27

你可以通过如下命令查看GLIBCXX的版本情况。

strings /usr/lib64/libstdc++.so.6 | grep GLIBC
如果你的最新的库没有被关联到libstdc++.so.6上,可以做一下软链接。

$ sudo rm -rf /usr/local/lib64/libstdc++.so.6
$ sudo ln -s /usr/local/lib64/libstdc++.so.6.0.27 /usr/local/lib64/libstdc++.so.6
这个时候你就可以正常使用最新版本的C++了,也就可以运行Ollama了。

### 通过 GPU 加速 Ollama 调用 deepseek-r1:32b 模型的推理过程 Ollama 默认支持利用 GPU 来加速大模型的推理过程,前提是系统中已正确安装并配置了 GPU 驱动以及 CUDA 工具包。对于 deepseek-r1:32b 模型,若在 CPU 上运行出现性能瓶颈,可以通过 GPU 加速来显著提升推理速度。 首先,确保系统中安装了 NVIDIA GPU 驱动和 CUDA Toolkit,并且驱动版本与 CUDA Toolkit 兼容。安装完成后,可以使用 `nvidia-smi` 命令验证 GPU 是否正常工作[^4]。 接着,在运行模型时,Ollama 会自动尝试使用 GPU 进行推理,但需要确保模型支持 GPU 加速。对于 deepseek-r1:32b 模型,可以通过以下命令运行: ```bash ollama run deepseek-r1:32b ``` 若系统中存在多个 GPU 或需要指定特定的 GPU 设备,可以通过设置环境变量 `CUDA_VISIBLE_DEVICES` 来指定使用的 GPU。例如,仅使用第个 GPU: ```bash CUDA_VISIBLE_DEVICES=0 ollama run deepseek-r1:32b ``` 此外,Ollama 支持通过 Docker 容器化部署,可以在启动容器时显式指定使用 GPU。以下是个使用 Docker 运行 Ollama 并启用 GPU 支持的示例命令: ```bash docker run --name ollama -d --restart=always --gpus=all -v /data/docker/ollama:/root/.ollama -p 11434:11434 ollama/ollama ``` 其中 `--gpus=all` 表示容器可以访问系统中的所有 GPU 设备,确保 deepseek-r1:32b 模型在推理过程中充分利用 GPU 资源[^4]。 如果模型加载后仍无法充分利用 GPU,可能需要检查模型的量化设置或推理配置。某些模型在默认情况下可能使用 CPU 推理,需要手动调整配置文件或命令行参数以启用 GPU 支持。例如,可以在模型配置文件中指定 `device="cuda"` 或使用特定的运行时标志。 对于 Windows 系统,确保已安装适用于 Windows 的 CUDA 支持,并且 PowerShell 脚本可以正常运行。以下是个 PowerShell 脚本示例,用于下载并运行 deepseek-r1:32b 模型,并在下载过程中尝试利用 GPU 加速[^3]: ```powershell while ($true) { $modelExists = ollama list | Select-String "deepseek-r1:32b" if ($modelExists) { Write-Host "模型下载完成!" break } Write-Host "开始下载" $process = Start-Process -FilePath "ollama" -ArgumentList "pull", "deepseek-r1:32b" -PassThru -NoNewWindow # 等待60秒 Start-Sleep -Seconds 60 try { Stop-Process -Id $process.Id -Force -ErrorAction Stop Write-Host "已中断下载,重新尝试..." } catch { Write-Host "下载结束,无需中断。" } } ``` 通过上述方法,可以在定程度上提升 deepseek-r1:32b 模型在 Ollama 中的推理性能,尤其是在大规模文本生成或嵌入向量计算任务中表现更佳。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值