本地环境
系统:Ubuntu 24.04
显卡:NVIDIA Corporation GA106 GeForce RTX 3060 Lite Hash Rate (rev a1) (prog-if 00 VGA controller)
内存:64G
初始化基础环境
更换ubuntu源
阿里源为例
代码语言:shell复制sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak
sudo vi /etc/apt/sources.list.d/ubuntu.sources
添加下面内容
# 阿里云
Types: deb
URIs: http://mirrors.aliyun.com/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
更新源列表
代码语言:shell复制sudo apt-get update
更新系统软件包
代码语言:shell复制sudo apt-get upgrade
安装ssh
代码语言:shell复制sudo apt install openssh-server
sudo apt install openssh-client
安装必要工具(根据自己需要安装)
代码语言:shell复制sudo apt update
sudo apt install vim -y
sudo apt install pigz -y
sudo apt install iotop -y
sudo apt install linux-tools-common -y
sudo apt install tree -y
sudo apt install binutils -y
sudo apt install nload -y
sudo apt install iftop -y
sudo apt install iptraf-ng -y
sudo apt install nethogs -y
sudo apt install bmon -y
sudo apt install slurm -y
sudo apt install net-tools -y
sudo apt install nmap -y
sudo apt install inetutils-traceroute -y
sudo apt install traceroute -y
sudo apt install pbzip2 -y
初始化目录
代码语言:shell复制sudo mkdir -p /usr/local/app/tars
sudo chown -R $USER:$USER /usr/local/app
磁盘挂载【可选】
我这里是有多个磁盘,选择一个大于200G的磁盘存放数据等,最好是ssd,快一点
代码语言:shell复制lsblk
sudo mkdir /data
sudo mount /dev/nvme0n1p1 /data
GPU准备
GPU型号查看
代码语言:shell复制# 使用lspci命令查看GPU信息
lspci |grep -i vga
# 输出如下:
01:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate] (rev a1)
安装驱动
代码语言:shell复制安装
sudo apt install python3-pip
升级
sudo pip3 install --upgrade pip
如果要卸载,使用命令:
sudo apt-get remove python3-pip
禁用 Nouveau驱动
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
2、添加两行语句:
blacklist nouveau
options nouveau modeset=0
3、更新initramfs
sudo update-initramfs -u
4、重启
reboot
5、验证,终端输入语句,
lsmod | grep nouveau
查找可选择安装的版本自动安装
sudo ubuntu-drivers autoinstall
参考 https://blog.csdn.net/m0_53353946/article/details/133769280
安装docker
https://docker-practice.github.io/zh-cn/install/ubuntu.html
代码语言:shell复制sudo apt-get remove docker
docker-engine
docker.io
# 更新 apt 软件包缓存,并安装 docker-ce
sudo apt-get update
sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg
lsb-release
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose -y
sudo systemctl enable docker
sudo systemctl disable docker
sudo systemctl start docker
添加docker的用户组,把当前用户加入组中。
代码语言:shell复制# 添加docker的用户组,把当前用户加入组中
sudo groupadd docker # #添加用户组
sudo gpasswd -a $USER docker #将当前用户添加至用户组
sudo newgrp docker #更新用户组
安装mincoda
安装命令
代码语言:shell复制cd /usr/local/app/tars
wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh # 依次按 任意键|yes|no
# 安装路径选择 /usr/local/app/miniconda3
You can undo this by running `conda init --reverse $SHELL`? [yes|no]
[no] >>> yes <== 这里输入yes
source /root/.bashrc
修改环境变量
cat ~/.bash_profile 配置环境变量
代码语言:shell复制# miniconda3
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/app/miniconda3/bin
export PATH
生效环境变量
代码语言:shell复制source ~/.bash_profile
替换源为清华源
touch /home/$USER/.condarc
代码语言:bash复制channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- 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
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
检查
代码语言:shell复制conda clean -i # 清除索引缓存,保证用的是镜像站提供的索引
conda config --show #查看是否已经换源,可以看到已经更换为清华源了
创建虚拟环境
安装完成后使用conda
命令就可以创建对应的环境
conda create -n chatglm-6b-310 python=3.10
初始化
代码语言:shell复制conda init --system --all
激活环境
代码语言:shell复制conda activate chatglm-6b-310
# 添加到默认激活环境
# cat ~/.bash_profile
conda activate chatglm-6b-310
退出环境
代码语言:shell复制conda deactive
pip设置国内源
代码语言:shell复制pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
Writing to /root/.config/pip/pip.conf
ChatGLM3部署
下载源码
代码语言:shell复制git clone https://github.com/THUDM/ChatGLM3
安装依赖
代码语言:shell复制conda activate chatglm-6b-310 # 务必激活
cd ChatGLM3
pip3 install -r requirements.txt
#或者 指定源下载
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
下载模型
下载地址:https://hf-mirror.com/THUDM/chatglm3-6b
镜像网站下载方法可以参考它的首页https://hf-mirror.com/介绍
采用方法2
huggingface-cli
huggingface-cli
是 Hugging Face 官方提供的命令行工具,自带完善的下载功能。
切换环境
代码语言:shell复制conda activate chatglm-6b-310
安装依赖
代码语言:shell复制# 安装依赖 https://hf-mirror.com/
pip3 install -U huggingface_hub
设置环境变量
代码语言:shell复制export HF_ENDPOINT=https://hf-mirror.com
建议将上面这一行写入 ~/.bashrc
。
下载模型
代码语言:shell复制cd /usr/local/app
huggingface-cli download --resume-download THUDM/chatglm3-6b --local-dir chatglm3-6b --local-dir-use-symlinks False
下载数据集
代码语言:shell复制huggingface-cli download --repo-type dataset --resume-download wikitext --local-dir wikitext --local-dir-use-symlinks False
可以添加 --local-dir-use-symlinks False
参数禁用文件软链接,这样下载路径下所见即所得,详细解释请见上面提到的教程。
模型使用
修改模型加载地址
代码语言:shell复制#MODEL_PATH = os.environ.get('MODEL_PATH', 'THUDM/chatglm3-6b')
MODEL_PATH = os.environ.get('MODEL_PATH', '/usr/local/app/ai/chatglm3-6b')
client 命令行demo
代码语言:shell复制conda install gpustat # 如果有必要
python /usr/local/app/ai/ChatGLM3/basic_demo/cli_demo.py
基于 Gradio 的网页版 demo
代码语言:shell复制python /usr/local/app/ai/ChatGLM3/basic_demo/web_demo_gradio.py
启动基于 Streamlit 的网页版 demo
代码语言:shell复制pip3 install streamlit
cd /usr/local/app/ai/ChatGLM3/basic_demo
streamlit run web_demo_streamlit.py
# 输出如下
You can now view your Streamlit app in your browser.
Local URL: http://localhost:8501
Network URL: http://192.168.1.8:8501
至此,开始大模型之旅吧
下载下载 Embedding 模型
安装git lsf
ubuntu
代码语言:shell复制sudo apt-get install git-lfs
centos
代码语言:shell复制sudo yum install git-lfs
验证
代码语言:shell复制git lfs install
# 显示下面信息表示成功
Git LFS initialized.
下载模型
代码语言:shell复制git clone https://www.modelscope.cn/AI-ModelScope/bge-large-zh-v1.5.git
cd bge-large-zh-v1.5
git lfs pull
Linux系统下查看GPU占用情况
nvidia-smi
watch
代码语言:shell复制watch -n 2 --color gpustat --c
参考资料
Linux快速部署ChatGLM3-6B
大模型加载的参数介绍及推荐表
Linux系统下查看GPU占用情况
Dify docker 部署要搞清楚的两个文件
https://github.com/THUDM/ChatGLM3