@Ubuntu的本地模型安装说明
本人安装的硬件环境如下:
CPU:intel 至强E5 2.9/3.3G 10核/20线程
内存:64G
显卡:Tesla P40 24G ECC DDR5
本人自测及安装本地模型
你好! 这是你第一次对外发布文章,本人将之前在自已机器上安装成功的经验分享给大家,同时作为自己后期内容留存,希望你看也能够有启发性作用。
第一步:Ubuntu上安装Jupyter Notebook的最新版本
通过python有pip安装命令【需注意前期已安装好python工具】
sudo pip3 install notebook
第二步:安装Anaconda环境【该环境主要用于AI各种环境区分安装应用】
1.下载最新版本的Anaconda安装脚本
wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh
2.执行下面命令运行安装脚本【注意在文件下载目录下执行】
bash Anaconda3-2022.05-Linux-x86_64.sh
3.系统安装目录(选择默认,如下面我选择的默认目录,如用sudo安装,会默认到root目录,该目录要求权限高,后期使用会遇到麻烦事)
/home/allanfan/anaconda3
4.手动激活Anaconda环境
source ~/anaconda3/bin/activate
5.验证安装是否成功,通过运行
conda list
第三步:创建python3.9虚拟环境,例如:我创建的虚拟环境名称为qinglan
1.安装过程提示都选择y,其中ipykernel是允许Jupyter Notebook使用该内核环境【前期是已安装Jupyter Notebook】
conda create -n qinglantrain python=3.9 ipykernel
2.在特定的conda环境中直接启动Jupyter Notebook,可以使用下面的命令(日志名称可以用虚拟环境名称)
conda activate qinglantrain
3.安装Jupyter Notebook支持使用当前环境创建及运行代码
conda install nb_conda
安装成功测试Notebook是否可正常使用【以下命令执行后,在浏览器中打开http://127.0.0.1:8888即可访问】
nohup jupyter notebook --ip='*' --port=8888 --allow-root > qinglan.log 2>&1 &
4.安装当前虚拟环境模型运行的pytouch依赖项【我安装的pytouch对应的CUDA是11.8】
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
安装成功后查看cuda版本在当前虚拟环境下版本号
conda list | grep cuda
5.安装NLP包(我安装的是ModelScope官网的推理模型)
pip install modelscope
pip install modelscope[nlp] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
6.下载模型
下载压缩包方式【使用unzip命令解压下载的通义千问压缩包】
unzip Qwen-main.zip
命令下载方式[下面是python下载方式,支持在PYTHON命令中执行]
from modelscope.hub.snapshot_download import snapshot_download
model_dir = snapshot_download('Qwen/Qwen-7b-chat', 'v1.1.5')
7.安装tiktoken依赖项(主要用于训练时的语句分词)
pip install tiktoken -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
8.安装推理模型需要的依赖项文件requirements.txt
pip install -r requirements.txt
文件依赖内容如下:
transformers>=4.32.0,<4.38.0
accelerate
tiktoken
einops
transformers_stream_generator==0.0.4
scipy
9.安装gradio依赖项【该依赖项主要用于推理模型的WEB的DEMO启动】
pip install gradio
10.安装mdtex2html依赖项
pip install mdtex2html
11.安装flask及相关依赖项
pip install --upgrade flask[async]
12.安装accelerate依赖项
pip install accelerate
13.安装bitsandbytes依赖项
pip install bitsandbytes
14.安装peft依赖项
pip install peft
15.安装deepspeed peft<0.8.0依赖项
pip install deepspeed
pip install --upgrade "peft<0.8.0"
16.安装auto-gptq依赖库
pip install auto-gptq
17.安装optimum依赖库
pip install optimum
18.安装MPI及mpi4py依赖库
下载MPI及解压(整个安装在主环境下进行的)
wget https://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.2.tar.gz
解压下载的安装文件
tar xvzf openmpi-1.10.2.tar.gz
解压之后进入解压后的目录
cd openmpi-1.10.2
编译安装
./configure
用make继续进行安装
sudo make all install
添加环境变量【gedit需提前安装,如不支持,可在bash中执行 pip install gedit先安装】
cd ~
sudo gedit ~/.bashrc
在上面打开的文件最后一行添加以下内容
#mpi4py
export LD_LIBRARY_PATH+=:/usr/local/lib
执行以下命令激活当前环境
source /etc/profile
验证安装
cd openmpi-1.10.2/examples
make
mpirun -np 4 hello_c
如验证报错,追加安装openmpi-bin依赖项安装
sudo apt install openmpi-bin
安装mpi4py注意事项(当前安装在qinglantrain环境下进行的–运行时报cuda错误,可能是nvidia版本与pytouch版本不致导致的)
conda install mpi4py
19.用modelscope运行大模型进行微调处理【当前文件是modelscope下载模型自带功能】
bash finetune/finetune_lora_single_gpu.sh
20.安装语音开发插件
pip install pyaudio
21.接下来安装nginx,用于大模型对外发布,主要安装、启动及配置命令如下
安装nginx命令
sudo apt install nginx
启动nginx命令
systemctl status nginx
配置nginx命令
sudo gedit /etc/nginx/nginx.conf
命令执行后打开配置文件,修改内容如下:
server {
listen 80;
server_name python;
location / {
proxy_pass http://127.0.0.1:5000; # Python应用程序运行的地址及端口号
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
检测nginx配置修改是否正确
nginx -t
sudo nginx -t # 测试配置文件是否有语法错误
sudo systemctl reload nginx # 重新加载配置(不中断服务)
22.运行Llama3-Chinese-8B-Instruct需增加安装flash_attn依赖项
pip install flash_attn
整个安装过程注意事项
1.pytouch配套安装cuda版本要高于nvidia-smi的显卡驱动,不能高太多,否则运行依赖会报错;
2.查看当前显卡的驱动及cuda支持版本:
nvidia-smi
3.启动python的命令:
nohup python -u openai_api_linux.py > openai_api_linux.log 2>&1 &
openai_api_linux.log将运行结果重指向到指定日志文件中, 第一个“>”代表每次运行删除原日志重新创建;如需追加日志修改成">>"
4.导出conda环境,用于当前环境运行成功的依赖项查看及复制
conda env export > environment.yml
5.查看软件运行命令
ps -ef | grep sk_linux_64
6.查看conda环境列表
conda env list
7.删除conda环境,需退出当前conda环境执行
conda remove --name model18_cuda118 --all
8.查看全部软件安装信息
dpkg --get-selections | grep / apt list --installed
ubuntu系统下改变pip下载源为清华镜像
export PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
以上是本人亲测的modelscope的模型推理、微调功能,希望能够帮助大家对大模型的部署给予一点启发性帮助!