Alpaca大模型是一款基于LLaMA的大语言模型,它可以模拟自然语言进行对话交互,并协助用户完成写作、翻译、编写代码、生成脚本等一系列创作任务。本文基于Alpaca大模型,为大家介绍如何在阿里云GPU云服务器上快速搭建个人版“对话大模型”,仅供参考。
一、创建并配置阿里云GPU云服务器
阿里云GPU云服务器是提供GPU算力的弹性计算服务,具有超强的计算能力,服务于深度学习、科学计算、图形可视化、视频处理多种应用场景。
阿里云GPU云服务器现提供包年包月和按量付费两种计费方式,按照使用场景不同又分为多种配置方案,用户可以按需选择合适的方案进行购买。
1、包年包月
首购活动包月5折,包年低至4折起。官网折扣包月低至6折起,包年低至5折起。
2、按量付费
最长100小时,按量1折起,即开即享受!
下文为大家介绍的就是创建并配置阿里云GPU云服务器实例的具体操作流程,如下:
1、在ECS实例创建页面,创建ECS实例。
关键参数说明如下:
- 实例规格:选择实例规格为ecs.gn7i-c16g1.4xlarge。
- 镜像:公共镜像Ubuntu 22.04,并选中安装GPU驱动,选择CUDA版本12.1.1/Driver版本535.154.05/CUDNN版本8.9.7.29。
- 系统盘:不小于200 GiB。
- 公网IP:选中分配公网IPv4地址,带宽计费方式选择按使用流量,带宽峰值选择100 Mbps,以加快模型下载速度。
2、添加安全组规则。
在ECS实例安全组的入方向添加安全组规则并放行7860端口。
3、查看驱动以及CUDA库是否安装成功。
使用root用户远程登录ECS实例。
a.首次登录ECS实例时,系统会自动安装驱动。当显示如下图所示的回显信息时,表示驱动以及CUDA库已安装成功。
b.再次使用root用户远程登录ECS实例。具体操作,请参见通过密码或密钥认证登录Linux实例。
c.执行以下命令,查看GPU驱动的版本。
nvidia-smi
回显信息类似下图所示。
d.执行以下命令,查看CUDA库的版本。
nvcc -V
回显信息如下图所示。
二、配置软件
1、安装Python 3.11并升级pip。
a.分别执行以命令,安装Python 3.11。
apt-get update
apt-get upgrade
apt install -y python-is-python3 # 将默认Python改成Python3
apt install -y software-properties-common # 安装software-properties-common软件包
add-apt-repository ppa:deadsnakes/ppa # 添加PPA存储库
apt -y install python3.11 # 安装Python 3.11
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1 # 设置默认Python为Python 3.11
b.执行如下命令,查看Python版本。
python --version
当回显如下所示时,表示已安装Python 3.11.9。
c.分别执行以命令,升级pip。
wget https://bootstrap.pypa.io/get-pip.py
python3.11 get-pip.py
2、执行以下命令,安装Git和Git LFS软件。
apt install -y git git-lfs python3.11-distutils
3、依次执行以下命令,安装模型所需要的Python包。
sudo apt-get install pkg-config cmake
sudo apt-get install python3.11-dev
pip install git+https://github.com/huggingface/transformers
pip install sentencepiece==0.1.97 -i https://mirrors.aliyun.com/pypi/simple
pip install peft==0.10.0 -i https://mirrors.aliyun.com/pypi/simple
4、在PyTorch环境下验证GPU是否正常工作。
a.执行以下命令,进入Python运行环境。
python
b.执行以下命令,验证GPU是否正常工作。
import torch
torch.cuda.is_available()
返回True,表示GPU正常工作。
c.执行以下命令,退出Python。
quit()
三、下载与配置Alpaca大模型
1、依次执行以下命令,下载tmux并创建一个tmux session。
apt install -y tmux
tmux
2、执行以下命令,下载Chinese-LLaMA-Alpaca模型。
git clone https://github.com/ymcui/Chinese-LLaMA-Alpaca.git
3、执行以下命令,下载chinese-alpaca-lora-13b模型。
git clone https://www.modelscope.cn/ChineseAlpacaGroup/chinese-alpaca-lora-13b.git
4、依次执行以下命令,下载llama-13b-hf。
llama-13b-hf是预训练的llama 13b模型,已经转换成了Huggingface的模型格式。下载llama-13b-hf大约有40 GiB的数据,预估下载时间约30分钟,请您耐心等待。
pip install -U huggingface_hub
pip install -U hf-transfer
export HF_ENDPOINT=https://hf-mirror.com
export HF_HUB_ENABLE_HF_TRANSFER=1
huggingface-cli download --resume-download --local-dir-use-symlinks False yahma/llama-13b-hf --local-dir llama-13b-hf
5、依次执行以下命令,合并代码。
cd Chinese-LLaMA-Alpaca/
python scripts/merge_llama_with_chinese_lora.py --base_model ~/llama-13b-hf/ \
--lora_model ~/chinese-alpaca-lora-13b/ --output_type huggingface \
--output_dir ./llama_with_lora_hf
命令行中需要用--output_dir命令指定一个输出目录,本示例中输出目录为/root/Chinese-LLaMA-Alpaca/llama_with_lora_hf。转换需要一段时间,需要耐心等待。
6、执行以下命令,查看转换完成后的文件。
ls -lh llama_with_lora_hf
四、部署WebUI
1、执行以下命令,在/root目录或者您的工作目录,下载WebUI并且进行代码部署。
cd
git clone https://github.com/oobabooga/text-generation-webui.git
2、执行以下命令,安装代码及依赖库。
cd text-generation-webui/
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
pip install datasets gradio rich bitsandbytes -i https://mirrors.aliyun.com/pypi/simple/
3、执行以下命令,在models目录下面生成一个软链接,指向合并后模型数据的目录。
ln -s /root/Chinese-LLaMA-Alpaca/llama_with_lora_hf/ models/llama_with_lora_hf
参数说明如下:
/root/Chinese-LLaMA-Alpaca/llama_with_lora_hf/:指的是合并模型存放的目录,您可以从合并代码步骤获取。
models/llama_with_lora_hf:指的是模型名称,您可以修改成其他名称。
五、验证结果
完成以上操作后,用户已经成功完成了WebUI部署和个人版对话大模型的搭建。现在可以在WebUI页面进行验证。
1、执行以下命令,运行WebUI。
cd text-generation-webui/
python server.py --model llama_with_lora_hf --listen --chat --load-in-8bit
参数说明如下:
- --model:指定的是步骤3生成的软链接的名称,不需要带前面的model/目录名。本示例软链接的名称为llama_with_lora_hf。
- --listen:用于设置WebUI监听所有外部IP(不配置--listen默认只能监听本地IP),以实现从实例外访问WebUI。默认监听端口是7860,您可通过--listen-port来指定其他监听端口。
- --chat:用于指定默认的运行模式,本文示例为对话模式(可按需尝试其他模式)。
- --load-in-8bit:用于指定以8 bit模式加载模型。正常加载13B模型需要26 GB以上显存,A10显卡只有24 GB,所以需要以8bit模式加载,模型占用显存大约为15 GB。
当显示如下图所示的回显信息时,表示运行WebUI成功。
2、在ECS实例页面,获取ECS实例的公网IP地址。
3、在浏览器中输入http://<ECS实例公网IP地址>:7860,即可访问个人版对话大模型。
用户可以输入相应的问题和AI机器人进行对话。
相关推荐:《GPU云服务器有什么用? GPU云服务器哪个便宜》