悠扬随风 发表于 2024-12-31 05:25:19

[AIGC]从0快速搭建个人版“对话大模子”



本教程介绍如何在阿里云GPU云服务器上基于Alpaca大模子快速搭建个人版“对话大模子”。
配景信息

Alpaca大模子是一款基于LLaMA的大语言模子,它可以模仿自然语言进行对话交互,并协助用户完成写作、翻译、编写代码、生成脚本等一系列创作任务。同时,使用了中文数据进行二次预训练,提升了中文底子语义理解本领。
本文基于阿里云GPU服务器和Alpaca大模子,指导您如何快速搭建个人版“对话大模子”。

https://img-blog.csdnimg.cn/img_convert/4b2a2d0281c019886b29bc90d46c9f80.png
重要


[*] 阿里云不对第三方模子Alpaca大模子的正当性、安全性、精确性进行任何保证,阿里云不对由此引发的任何损害负担责任。
[*] 您应自觉遵守第三方模子的用户协议、使用规范和相关法律法规,并就使用第三方模子的正当性、合规性自行负担相关责任。
操纵步骤

创建并配置ECS实例


[*] 在ECS实例创建页面,创建ECS实例。
关键参数说明如下,其他参数的配置,请参见自界说购买实例。
   

[*] 实例规格:选择实例规格为ecs.gn7i-c16g1.4xlarge。
[*] 镜像:公共镜像Ubuntu 22.04,并选中安装GPU驱动,选择CUDA 版本12.1.1/Driver 版本535.154.05/CUDNN 版本8.9.7.29。

https://img-blog.csdnimg.cn/img_convert/66f0c132da0f2c503c4eae1fa6432e26.png
[*] 系统盘:不小于200 GiB。
[*] 公网IP:选中分配公网IPv4地点,带宽计费方式选择按使用流量,带宽峰值选择100 Mbps,以加速模子下载速度。

https://img-blog.csdnimg.cn/img_convert/1f55b010938df5653e8e4aca96c8533e.png

[*] 添加安全组规则。
在ECS实例安全组的入方向添加安全组规则并放行7860端口。详细操纵,请参见添加安全组规则。

https://img-blog.csdnimg.cn/img_convert/415a544bfcd5b0a4faa40f08fd8ace47.png
[*] 查看驱动以及CUDA库是否安装成功。
   
[*] 使用root用户长途登录ECS实例。详细操纵,请参见通过密码或密钥认证登录Linux实例。
初次登录ECS实例时,系统会自动安装驱动。当表现如下图所示的回显信息时,表示驱动以及CUDA库已安装成功。
重要
   

[*] 系统自动安装驱动以及CUDA库时,请不要手动操纵大概重启实例,否则大概会导致驱动大概CUDA库安装失败。等到安装驱动以及CUDA库完成以后,系统会自动重启。
[*] 假如创建完ECS实例后,没有立刻长途登录ECS实例,大概看不到雷同下图的回显信息。

https://img-blog.csdnimg.cn/img_convert/b644d4b4e3e9f9145717f014b049c873.png
[*] 再次使用root用户长途登录ECS实例。详细操纵,请参见通过密码或密钥认证登录Linux实例。
[*] 执行以下下令,查看GPU驱动的版本。

nvidia-smi 回显信息雷同下图所示。

https://img-blog.csdnimg.cn/img_convert/66822b8bd019db9b15e5111e1241ed31.png
[*] 执行以下下令,查看CUDA库的版本。

nvcc -V 回显信息如下图所示。

https://img-blog.csdnimg.cn/img_convert/bb2b12ca07ec9ea0c6fcfe23b2459696.png

配置软件


[*] 安装Python 3.11并升级pip。
   
[*] 分别执行以下令,安装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
[*] 执行如下下令,查看Python版本。

python --version 当回显如下所示时,表示已安装Python 3.11.9。

https://img-blog.csdnimg.cn/img_convert/a56f13a6a10c8fdebe22348c60c77552.png
[*] 分别执行以下令,升级pip。

wget https://bootstrap.pypa.io/get-pip.py
python3.11 get-pip.py

[*] 执行以下下令,安装Git和Git LFS软件。

apt install -y git git-lfs python3.11-distutils
[*] 依次执行以下下令,安装模子所需要的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 重要
从GitHub上下载Transformers库,由于网络缘故原由偶尔大概会不成功,建议您多实验几次。
[*] 在PyTorch环境下验证GPU是否正常工作。
   
[*] 执行以下下令,进入Python运行环境。

python
[*] 执行以下下令,验证GPU是否正常工作。

import torch
torch.cuda.is_available() 返回True,表示GPU正常工作。

https://img-blog.csdnimg.cn/img_convert/183f8ebe68652cd5c963b70a968f8dcd.png
[*] 执行以下下令,退出Python。

quit()

下载与配置模子


[*] 依次执行以下下令,下载tmux并创建一个tmux session。

apt install -y tmux
tmux 重要
下载模子耗时较长,建议在tmux session中下载,以免ECS断开毗连导致下载中断。
[*] 执行以下下令,下载Chinese-LLaMA-Alpaca模子。

git clone https://github.com/ymcui/Chinese-LLaMA-Alpaca.git
[*] 执行以下下令,下载chinese-alpaca-lora-13b模子。

git clone https://www.modelscope.cn/ChineseAlpacaGroup/chinese-alpaca-lora-13b.git
[*] 依次执行以下下令,下载llama-13b-hf。
llama-13b-hf是预训练的llama 13b模子,已经转换成了Huggingface的模子格式。下载llama-13b-hf大约有40 GiB的数据,预估下载时间约30分钟,请您耐心等候。
重要
LLaMA是第三方提供的Huggingface格式的预训练模子数据。Meta官方发布的LLaMA模子克制商用,而且官方暂时还没有正式开源模子权重。这里使用这个下载链接只为做演示使用,不负担任何法律责任。

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
[*] 依次执行以下下令,合并代码。

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 。转换需要一段时间,需要耐心等候。
[*] 执行以下下令,查看转换完成后的文件。

ls -lh llama_with_lora_hf
https://img-blog.csdnimg.cn/img_convert/481095deced5b96c15d8321b0918acba.png
摆设WebUI


[*] 执行以下下令,在/root目录大概您的工作目录,下载WebUI而且进行代码摆设。

cd
git clone https://github.com/oobabooga/text-generation-webui.git
[*] 执行以下下令,安装代码及依靠库。
重要
安装代码及依靠库涉及从GitHub下载代码,大概会因为网络缘故原由运行失败,请多试几次。

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/
[*] 执行以下下令,在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页面进行验证。

[*] 执行以下下令,运行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成功。

https://img-blog.csdnimg.cn/img_convert/b191af630e8f2c76c5453a47da658fac.png
[*] 在ECS实例页面,获取ECS实例的公网IP地点。

https://img-blog.csdnimg.cn/img_convert/db10e498b945b3a5ad8f7706187316d4.png
[*] 在浏览器中输入http://<ECS实例公网IP地点>:7860,即可访问个人版对话大模子。
您可以输入相应的题目和AI呆板人进行对话。

https://img-blog.csdnimg.cn/img_convert/042efb33271b1cc3b6c038148befcef6.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: [AIGC]从0快速搭建个人版“对话大模子”