首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CentOS本地部署语言模型

CentOS本地部署语言模型

作者头像
小新笔记坊
发布2025-02-13 09:13:07
发布2025-02-13 09:13:07
25200
代码可运行
举报
文章被收录于专栏:小新笔记坊小新笔记坊
运行总次数:0
代码可运行

部署环境

操作系统:CentOS Linux release 8.2.2004

显卡:GTX1060

内存:16GB

操作步骤

安装英伟达显卡驱动

1.下载英伟达显卡驱动包,并上传服务器。

2.安装相关依赖库。

代码语言:javascript
代码运行次数:0
运行
复制
yum -y install gcc kernel-devel kernel-headers
yum install elfutils-libelf-devel

3.查看安装后源码版本是否和内核一致

代码语言:javascript
代码运行次数:0
运行
复制
ls /boot | grep vmlinu
rpm -aq |grep kernel-devel

2.屏蔽linux系统自带的开源英伟达显卡驱动nouveau。编辑/lib/modprobe.d/dist-blacklist.conf文件。

代码语言:javascript
代码运行次数:0
运行
复制
#---使用"#"注释以下语句以进行屏蔽---
#blacklist nvidiafb
#---追加以下语句---
blacklist nouveau
options nouveau modeset=0

2.重建initramfs image

代码语言:javascript
代码运行次数:0
运行
复制
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

注:将文件名包含内核版本号的initramfs镜像文件重命名为 .bak 后缀,用于备份原文件。

代码语言:javascript
代码运行次数:0
运行
复制
dracut /boot/initramfs-$(uname -r).img $(uname -r)

注:使用dracut创建一个新的initramfs镜像文件,其名称仅基于内核版本号,而非完整镜像文件名。

3.修改运行级别为文本模式。

代码语言:javascript
代码运行次数:0
运行
复制
systemctl set-default multi-user.target

4.重启。

5.查看nouveau是否禁用成功,如提示”没有文件或目录“即为禁用成功。

代码语言:javascript
代码运行次数:0
运行
复制
ls mod | grep nouveau

6.进入上传的英伟达显卡驱动目录,赋予英伟达显卡驱动可执行权限。

代码语言:javascript
代码运行次数:0
运行
复制
chmod +x 驱动文件名.run

7.执行,全部选yes。执行过程中的报错一定要处理完!

代码语言:javascript
代码运行次数:0
运行
复制
./驱动文件名.run

8.验证。

代码语言:javascript
代码运行次数:0
运行
复制
lspci | grep -i nvidia
nvidia-smi
watch -n 0.5 nvidia-smi

9.安装pip

代码语言:javascript
代码运行次数:0
运行
复制
sudo dnf install python3

安装CUDA

1.通过执行nvidia-smi指令查看显卡驱动所能支持的cuda最大版本。例如本机CUDA Version: 12.4Driver Version: 550.144.03 ,说明cuda最大支持12.4版本。安装CUDA 12.4以下版本适配的torch库。

2.去网站寻找与PyTorch适配的版本。查看cuda和哪个PyTorch版本匹配。例如本机与PyTorch适配的cuda版本应为12.4

代码语言:javascript
代码运行次数:0
运行
复制
#查看cuda和显卡驱动版本是否匹配
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
#查看PyTorch版本
https://pytorch.org/get-started/locally/

3.根据之前查到的适合本机的cuda版本,下载适合本机的cuda,本机为CUDA 12.4

代码语言:javascript
代码运行次数:0
运行
复制
#下载cuda
https://developer.nvidia.com/cuda-toolkit-archive
代码语言:javascript
代码运行次数:0
运行
复制
#查询到的适合本机显卡的cuda 12.4
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-rhel7-12-4-local-12.4.0_550.54.14-1.x86_64.rpm
sudo rpm -i cuda-repo-rhel7-12-4-local-12.4.0_550.54.14-1.x86_64.rpm
sudo yum clean all
sudo yum -y install cuda-toolkit-12-4

4.验证是否安装成功。

代码语言:javascript
代码运行次数:0
运行
复制
ls /usr/local/cuda-*
/usr/local/cuda-12.4/bin/nvcc --version

5.配置环境变量。编辑/etc/profile文件,追加以下内容。

代码语言:javascript
代码运行次数:0
运行
复制
export CUDA_HOME=/usr/local/cuda-12.4
export PATH="${CUDA_HOME}/bin:$PATH"

6.验证环境变量是否生效。

代码语言:javascript
代码运行次数:0
运行
复制
source /etc/profile
nvcc --version
${CUDA_HOME}/bin/nvcc --version

安装NVIDIA Container Toolkit

注:允许容器调用宿主机显卡。

1.设置存储库和GPG密钥。

代码语言:javascript
代码运行次数:0
运行
复制
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo

2.更新列表。

代码语言:javascript
代码运行次数:0
运行
复制
sudo yum clean expire-cache

3.安装NVIDIA Container Toolkit

代码语言:javascript
代码运行次数:0
运行
复制
sudo yum install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

4. 测试。

代码语言:javascript
代码运行次数:0
运行
复制
sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

安装PyTorch

1.通过网站查询到适合本机cuda匹配的PyTorch后,生成pip安装指令,执行后将生成链接拷出下载(速度快)。

代码语言:javascript
代码运行次数:0
运行
复制
#查询到的适合本机显卡的PyTorch
pip3 install torch torchvision torchaudio

2.上传下载后的文件,例如torch-1.10.2-cp36-cp36m-manylinux1_x86_64.whl,并安装。

代码语言:javascript
代码运行次数:0
运行
复制
pip3 install *.whl

3.验证PyTorch版本。

代码语言:javascript
代码运行次数:0
运行
复制
python3 -c "import torch; print(torch.version.cuda); print(torch.cuda.is_available())"

4.输入python3进入python环境,然后验证PyTorch是否启用,如启用会返回true

代码语言:javascript
代码运行次数:0
运行
复制
import torch
torch.cuda.is_available()

安装1Panel

1.下载1Panel离线包,并上传服务器。

2.解压离线包。

代码语言:javascript
代码运行次数:0
运行
复制
tar zxvf 1panel-v1.10.24-lts-linux-amd64.tar.gz

3.进入解压后的安装包,执行安装脚本。

代码语言:javascript
代码运行次数:0
运行
复制
/bin/bash install.sh

4.访问入口。

代码语言:javascript
代码运行次数:0
运行
复制
http://目标服务器 IP 地址:目标端口/安全入口

注:如果你是局域网192.168...,docker端口映射时默认映射到127.0.0.1会访问不了,需要映射到本机局域网ip才能局域网访问。

安装Ollama

1.下载安装包。

2.解压。

代码语言:javascript
代码运行次数:0
运行
复制
sudo tar -C /usr -xzf ollama-linux-amd64.tgz

3.测试是否正常运行。

代码语言:javascript
代码运行次数:0
运行
复制
/usr/bin/ollama serve

4./etc/systemd/system/ollama.service新建服务文件。

代码语言:javascript
代码运行次数:0
运行
复制
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"
Environment="OLLAMA_KEEP_ALIVE=24h"
Environment="OLLAMA_MODELS=/home/ollama"
Environment="OLLAMA_FLASH_ATTENTION=1"
Environment="OLLAMA_NUM_PARALLEL=5"
Environment="OLLAMA_MAX_LOADED_MODELS=1"
[Install]
WantedBy=default.target

5.设置开机自启动。

代码语言:javascript
代码运行次数:0
运行
复制
sudo systemctl enable ollama

注:我必须要在这里感慨一下!!!踩了2天的坑,我一开始装的docker版的vllm,调用识别不来gpu,我以为是英伟达显卡驱动和cuda安装有问题,折腾来折腾去,换了docker版ollama也一样识别不到gpu。然后快绝望的适合,换了非docker版,奇迹出现了!!!

安装容器版Ollama

注:不知道为什么,容器版的ollama启动后找不到gpu,呜呜呜,我换成非容器版运行能正常找到。

1.docker容器参数中编辑环境变量。

注:容器每次重启后设置都会重置,如果想要保存设置,可以将容器导出成镜像,然后再导入镜像运行。

2.docker容器参数中编辑参数,映射容器内某目录(例如/home)至本地一个目录文件夹用于导入本地模型。

例如:

/home/models /home/models

/home/ollama /root/.ollama

3.进入docker容器内部导入模型即可。

安装OpenWebUi

1.拉取docker镜像后,导入本地镜像并运行容器。

代码语言:javascript
代码运行次数:0
运行
复制
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v /home/open-webui:/app/backend/data --name festive_fermi --restart always 506db1f50c16

-v /home/open-webui:/app/backend/data 指将电脑/open-webui文件夹映射至docker中/app/backend/data目录。

506db1f50c16:镜像id。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-02-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 部署环境
  • 操作步骤
    • 安装英伟达显卡驱动
    • 安装CUDA
    • 安装NVIDIA Container Toolkit
    • 安装PyTorch
    • 安装1Panel
    • 安装Ollama
    • 安装容器版Ollama
    • 安装OpenWebUi
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档