

喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>
点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>
阿里云老客户点击这里申请VIP账号,享终身8折优惠(续费也打折)>>>
阿里云服务器ECS使用教程-使用AMD CPU实例部署ChatGLM-6B
本文以搭建AI对话机器人为例,介绍如何使用阿里云AMD CPU云服务器(g8a)部署ChatGLM-6B语言模型。
ChatGLM-6B模型基于General Language Model(GLM)架构,具有62亿参数,支持中英文,并针对中文问答和对话进行了优化,可以生成符合人类偏好的回答。广泛应用于自我认知、提纲写作、文案写作、邮件助手、信息抽取、角色扮演、评论比较以及旅游向导等场景。 重要 阿里云不对第三方模型“ChatGLM-6B”的合法性、安全性、准确性进行任何保证,阿里云不对由此引发的任何损害承担责任。 ChatGLM-6B的代码依照Apache-2.0协议开源,ChatGLM-6B模型权重的使用遵循Model License。您应自觉遵守第三方模型的用户协议、使用规范和相关法律法规,并就使用第三方模型的合法性、合规性自行承担相关责任。 ChatGLM-6B模型权重对学术研究完全开放,免费商用请需填写商业授权申请。本文所示的模型下载仅作为演示,阿里云不对由此引发的任何损害承担责任。 前往实例创建页。 按照界面提示完成参数配置,创建一台ECS实例。 需要注意的参数如下,其他参数的配置,请参见自定义购买实例。 实例:ChatGLM-6B大概需要32 GiB内存,为了保证模型运行的稳定,实例规格至少需要选择ecs.g8a.4xlarge(64 GiB内存)。 镜像:Alibaba Cloud Linux 3.2104 LTS 64位。 公网IP:选中分配公网IPv4地址,带宽计费模式选择按使用流量,带宽峰值设置为100 Mbps。以加快模型下载速度。 数据盘:ChatGLM-6B模型需要占用26 GiB的存储空间,为了保证模型顺利运行,建议数据盘设置为100 GiB。 添加安全组规则。 在ECS实例安全组的入方向添加安全组规则并放行7860端口(用于访问WebUI服务)。具体操作,请参见添加安全组规则。 创建完成后,在ECS实例页面,获取公网IP地址。 说明 公网IP地址用于进行AI对话时访问WebUI服务。 手动部署 自动化部署 远程连接该ECS实例。 具体操作,请参见通过密码或密钥认证登录Linux实例, 安装部署ChatGLM-6B所必需的软件。 安装Python 3.8。 系统自带的Python版本为3.6,不满足部署ChatGLM-6B的最低版本要求,因此需要安装Python 3.8。 运行过程中,请输入4,安装Python 3.8。 更新Python对应的pip版本。 启用Git LFS。 下载预训练模型需要Git LFS的支持。 创建一个tmux session。 重要 下载预训练模型耗时较长,且成功率受网络情况影响较大,建议在tmux session中下载,以免ECS断开连接导致下载模型中断。 下载ChatGLM-6B项目源码,以及chatglm-6b预训练模型。 说明 如果chatglm-6b模型下载失败,可以执行如下命令,从ModelScope中下载预训练模型。 查看当前目录。 下载完成后,当前目录显示如下。 更换pip下载源。 在安装依赖包之前,建议您更换pip下载源以加速安装。 创建pip文件夹。 配置pip安装镜像源。 安装ZenDNN所需依赖。 后续安装的ZenDNN要求使用CPU版本的PyTorch,因此需要手动安装所需依赖。 下载并安装ZenDNN。 ZenDNN运行库包括为AMD CPU架构优化的基本神经网络构建块的API,使深度学习应用程序和框架开发人员能够提高AMD CPU上的深度学习推理性能。 当系统返回如下所示时,表示ZenDNN已安装完成。 设置环境变量 ZenDNN运行库需要针对硬件平台显式设置环境变量 执行如下命令,开启WebUI服务。 当出现如下信息时,表示WebUI服务启动成功。 在浏览器地址栏输入 在用户命令输入对话框中,输入对话内容,单击发送,即可开始AI对话。背景信息
创建ECS实例


部署ChatGLM-6B
安装配置模型所需软件
sudo yum install tmux git git-lfs wget curl gcc gcc-c++ tar unzip hwloc python38
sudo update-alternatives --config python

sudo python -m ensurepip --upgrade
sudo python -m pip install --upgrade pip
git lfs install
下载源码与模型
tmux
git clone https://github.com/THUDM/ChatGLM-6B.git
git clone https://huggingface.co/THUDM/chatglm-6b
git clone https://www.modelscope.cn/ZhipuAI/ChatGLM-6B.git chatglm-6b
git -C chatglm-6b checkout v1.0.16
sed -i '33c from .configuration_chatglm import ChatGLMConfig' chatglm-6b/modeling_chatglm.py
ls -l

部署运行环境
mkdir -p ~/.config/pip
cat > ~/.config/pip/pip.conf <<EOF
[global]
index-url=http://mirrors.cloud.aliyuncs.com/pypi/simple/
[install]
trusted-host=mirrors.cloud.aliyuncs.com
EOF
pip install protobuf transformers==4.27.1 cpm_kernels gradio mdtex2html sentencepiece accelerate streamlit streamlit-chat
pip install torch==1.12.0+cpu torchvision==0.13.0+cpu --extra-index-url https://download.pytorch.org/whl/cpu
wget https://download.amd.com/developer/eula/zendnn/zendnn-4-0/pytorch-end-user-license/PT_v1.12_ZenDNN_v4.0_Python_v3.8.zip
unzip PT_v1.12_ZenDNN_v4.0_Python_v3.8.zip
cd PT_v1.12_ZenDNN_v4.0_Python_v3.8/
source scripts/PT_ZenDNN_setup_release.sh

OMP_NUM_THREADS和GOMP_CPU_AFFINITY。OMP_NUM_THREADS和GOMP_CPU_AFFINITY。sudo bash -c 'cat > /etc/profile.d/env.sh' << EOF
export OMP_NUM_THREADS=$(nproc --all)
export GOMP_CPU_AFFINITY=0-$(( $(nproc --all) - 1 ))
EOF
source /etc/profile
进行AI对话
cd ChatGLM-6B
sed -i 's?THUDM/chatglm-6b?../chatglm-6b?g' web_demo2.py
sed -i 's/.half().cuda()/.float()/g' web_demo2.py
streamlit run web_demo2.py --server.port 7860

http://<ECS公网IP地址>:7860,进入Web页面。
推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。


湘公网安备43019002001857号
备案号:
客服1