基于 PVE 的 Debian GPU 大模型开发环境搭建

分类: 电脑网络
人气 1,383 / 评论 基于 PVE 的 Debian GPU 大模型开发环境搭建已关闭评论 / 日期 2023-11-23
作者:

1、软硬件环境

pve8.0, debian12, 3090显卡,python3.11

先完成pve8.0的安装,另外创建一个debian虚拟机,cpu类型为host, 以获得最高的性能。

2、设置pve显卡直通

2.1、更换源需修改文件

  1. /etc/apt/sources.list
  2. /etc/apt/sources.list.d/ceph.list
  3. /etc/apt/sources.list.d/pve-enterprise.list

修改前先备份,以防万一:
mkdir /etc/apt/sources_backup

cp /etc/apt/sources.list /etc/apt/sources_backup/sources.list.bak

cp /etc/apt/sources.list.d/ceph.list /etc/apt/sources_backup/ceph.list.bak

cp /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources_backup/pve-enterprise.list.bak

运行以下指令添加源:

# sources.list
sed -i ‘s|^deb http://ftp.debian.org|deb https://mirrors.ustc.edu.cn|g’ /etc/apt/sources.list
sed -i ‘s|^deb http://security.debian.org|deb https://mirrors.ustc.edu.cn/debian-security|g’ /etc/apt/sources.list
# ceph.list
echo “deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription” > /etc/apt/sources.list.d/ceph.list
# pve-enterprise.list
echo “” > /etc/apt/sources.list.d/pve-enterprise.list
sed -i ‘s|^deb http://ftp.debian.org|deb https://mirrors.ustc.edu.cn|g’ /etc/apt/sources.list
sed -i ‘s|^deb http://security.debian.org|deb https://mirrors.ustc.edu.cn/debian-security|g’ /etc/apt/sources.list
echo “deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription” > /etc/apt/sources.list.d/ceph.list
echo “” > /etc/apt/sources.list.d/pve-enterprise.list
echo “deb https://mirrors.ustc.edu.cn/proxmox/debian/pve bookworm pve-no-subscription” > /etc/apt/sources.list.d/pve-no-subscription.list

更新源:

apt install apt-transport-https ca-certificates -y
apt-get update

如需回滚,使用以下指令:

cp /etc/apt/sources_backup/sources.list.bak /etc/apt/sources.list
cp /etc/apt/sources_backup/ceph.list.bak /etc/apt/sources.list.d/ceph.list
cp /etc/apt/sources_backup/pve-enterprise.list.bak /etc/apt/sources.list.d/pve-enterprise.list

2.2、配置显卡直通

nano /etc/default/grub

其中一行是GRUB_CMDLINE_LINUX_DEFAULT=”quiet“,修改这一行为如下内容,保存并退出

GRUB_CMDLINE_LINUX_DEFAULT=”quiet intel_iommu=on iommu=pt video=efifb:off ”

使用以下命令打开要修改的文件:

nano /etc/modules

添加如下内容:

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

保存退出后更新服务:

update-initramfs -u
update-grub

然后重启pve系统

reboot

3、添加显卡设备

关闭debian虚拟机,然后添加PCI设备:

在PCI设备中找到自己的GPU设备型号:

然后勾选所有功能、ROM-Bar、PCI-Express复选框,点击添加按钮:

4、安装GUP驱动

4.1、更新国内镜像源

启动debian虚拟机,编辑/etc/apt/sources.list文件,替换为:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware

deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

如果遇到无法拉取 HTTPS 源的情况,请先使用 HTTP 源并安装:
apt install apt-transport-https ca-certificates

4.2、安装NVIDIA显卡驱动

安装linux头文件:
sudo apt-get install -y linux-headers-$(uname -r)
开启32位软件包支持:
sudo dpkg –add-architecture i386
安装开发工具:
sudo apt-get -y install build-essential dkms
前往官网搜索对应显卡的驱动程序并且下载:
https://www.nvidia.cn/Download/index.aspx?lang=cn

下载后运行安装:
chmod +x *.run
sudo bash ./NVIDIA-Linux-x86_64-535.129.03.run
检查安装是否成功:
sudo apt-install nvidia-smi -y
nvidia-smi

5、安装大模型开发环境

5.1、安装anaconda3

安装相关库:
sudo apt-get -y install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6
下载安装脚本:
curl -O https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
安装
bash ./Anaconda3-2020.05-Linux-x86_64.sh
安装过程根据提示选yes即可,注意这里不要加sudo,用当前用户安装即可。
设置环境变量:
编辑~/.bashrc文件,加入:
export PATH=$PATH:/sbin:/home/<user>/anachonda3/bin
让环境变量生效:
~/.bashrc
验证安装:
conda -V
编辑~/.condarc文件,更换镜像源为国内:
channels:
– defaults
show_channel_urls: true
default_channels:
– https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
– https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
– https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
清除缓存:
conda clean -i

5.2、安装cuda驱动

从以下页面选择cuda:
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Debian&target_version=12&target_type=runfile_local

根据页面提示下载安装即可:
wget https://developer.download.nvidia.com/compute/cuda/12.3.1/local_installers/cuda_12.3.1_545.23.08_linux.runsudo sh cuda_12.3.1_545.23.08_linux.run

5.3、安装pytorch2

  使用以下命令行安装即可,注意安装前需要先更新anaconda源为国内,否则非常慢
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
6、ChatGLM3安装

6.1、创建虚拟环境

conda create -n chatglm3 python=3.11
conda activate chatglm3

创建并且激活环境

6.2、下载模型文件

由于模型文件较大和网络等问题,建议先手动下载模型文件到一个目录

编辑~/.bashrc,添加模型文件路径到MODEL_PATH环境变量,示例:

export MODEL_PATH=/home/yg/models/chatglm3-6b-32k/

6.3、下载源码

从git克隆:git clone https://github.com/THUDM/ChatGLM3.git

或者直接下载zip包解压到一个文件夹

6.4、运行demo

cd ChatGLM3
pip install -i htps://pypi.tuna.tsinghua.edu.cn/simple/ -r requirements.txt
cd basic_demo
python web_demo.py

如果需要在局域网访问,需要修改demo的最后一行:

share=True, server_name=”0.0.0.0″

对于当前版本可能对话会出现卡住的情况,是因为gradio版本不对造成的,需要重新安装gradio:

pip install -i htps://pypi.tuna.tsinghua.edu.cn/simple/ gradio==3.39

还需要将web_demo.py源码的88-89行改为:

user_input = gr.Textbox(show_label=False, placeholder=”Input…”, lines=10, container=False)

Tags:
0 + 赞
相关资源:
  • 面试题:MySQL如何对数据库进行主从备份?非常简单,一看就会!
    面试题:MySQL如何对数据库进行主从备份?非常简单,一看就会!
    2023-11-815
  • 没有网如何安装win11/windows11?
    没有网如何安装win11/windows11?
    2023-9-1819
  • 2023年Ubuntu 常用集合汇总 更新时间[2023年6月6日]
    2023年Ubuntu 常用集合汇总 更新时间[2023年6月6日]
    2023-6-417
  • 针对CUDA11.4、CUDNN、如何安装Pytorch版本
    针对CUDA11.4、CUDNN、如何安装Pytorch版本
    2023-5-119
  • 如何用NVIDIA-SMI查看GPU的参数
    如何用NVIDIA-SMI查看GPU的参数
    2023-4-2618
  • 神奇Chrome 您的连接不是私密连接解决办法
    神奇Chrome 您的连接不是私密连接解决办法
    2023-3-413
  • gitee如何使用0基础入门
    gitee如何使用0基础入门
    2023-2-251
  • 怎么修复?Windows 系列系统远程桌面复制粘贴不了的问题?
    怎么修复?Windows 系列系统远程桌面复制粘贴不了的问题?
    2023-2-44

评论

评论已关闭!


窍门网微信公众帐号
微信扫描
立刻加入