206
云计算
负载均衡
产品简介
产品价格
快速入门
用户指南
实践操作
常见问题
购买指南
云服务器
产品简介
计费规则
购买指导
控制台使用指南
常见问题
云数据库
产品简介
计费规则
购买指导
快速入门
连接实例
控制台使用指南
对象存储
产品简介
控制台使用指南
程序员百科
Python
阿里云服务器ECS使用教程-使用AMD CPU实例部署通义千问Qwen-7B-Chat

产品推荐:

1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>

2、高防物理服务器20核/16G/50M/500G防御仅350元,点击抢购>>>

3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>>

4、阿里云服务器2核2G3M仅99元/年、2核4G5M仅199元/年,新老同享,点击抢购>>> 

5、腾讯云服务器2核2G4M仅99元/年、新老同享,点击抢购>>>   


阿里云服务器ECS使用教程-使用AMD CPU实例部署通义千问Qwen-7B-Chat

本文以搭建AI对话机器人为例,介绍如何使用阿里云AMD CPU云服务器(g8a)部署Qwen-7B模型。

背景信息

通义千问-7B(Qwen-7B)是阿里云研发的通义千问大模型系列的70亿参数规模模型。Qwen-7B是基于Transformer的大语言模型,在超大规模的预训练数据上进行训练得到。预训练数据类型多样,覆盖广泛,包括大量网络文本、专业书籍、代码等。同时,在Qwen-7B 的基础上,使用对齐机制打造了基于大语言模型的AI助手Qwen-7B-Chat。

    重要

    Qwen-7B-Chat的代码依照LICENSE开源,免费商用需填写商业授权申请。您应自觉遵守第三方模型的用户协议、使用规范和相关法律法规,并就使用第三方模型的合法性、合规性自行承担相关责任。

创建ECS实例

  1. 前往实例创建页。

  2. 按照界面提示完成参数配置,创建一台ECS实例。

    需要注意的参数如下,其他参数的配置,请参见自定义购买实例。

    • 实例:Qwen-7B-Chat大概需要30 GiB内存,为了保证模型运行的稳定,实例规格至少需要选择ecs.g8a.4xlarge(64 GiB内存)。

    • 镜像:Alibaba Cloud Linux 3.2104 LTS 64位。

    • 公网IP:选中分配公网IPv4地址,带宽计费模式选择按使用流量,带宽峰值设置为100 Mbps。以加快模型下载速度。

      image..png
    • 数据盘:Qwen-7B-Chat的运行需要下载多个模型文件,会占用大量存储空间,为了保证模型顺利运行,建议数据盘设置为100 GiB。

  3. 添加安全组规则。

    在ECS实例安全组的入方向添加安全组规则并放行7860端口(用于访问WebUI服务)。具体操作,请参见添加安全组规则。

  4. 创建完成后,在ECS实例页面,获取公网IP地址。

    说明

    公网IP地址用于进行AI对话时访问WebUI服务。

    image.png

部署Qwen-7B-Chat

手动部署
自动化部署

步骤一:安装配置模型所需软件

  1. 远程连接该ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例。

  2. 安装部署Qwen-7B-Chat所必需的软件。

    sudo yum install -y tmux git git-lfs wget curl gcc gcc-c++ autoconf tar zip unzip hwloc python38
  3. 安装Python 3.8。

    系统自带的Python版本为3.6,不满足部署ChatGLM-6B的最低版本要求,因此需要安装Python 3.8。

    sudo update-alternatives --config python

    运行过程中,请输入4,安装Python 3.8。

    image.png
  4. 更新Python对应的pip版本。

    sudo python -m ensurepip --upgrade
    sudo python -m pip install --upgrade pip
  5. 启用Git LFS。

    下载预训练模型需要Git LFS的支持。

    git lfs install

步骤二:下载源码与模型

  1. 创建一个tmux session。

    tmux
    说明

    下载预训练模型耗时较长,且成功率受网络情况影响较大,建议在tmux session中下载,以免ECS断开连接导致下载模型中断。

  2. 下载Qwen-7B项目源码,以及预训练模型。

    git clone https://github.com/QwenLM/Qwen-7B.git
    git clone https://huggingface.co/Qwen/Qwen-7B-Chat qwen-7b-chat
  3. 查看当前目录。

    ls -l

    下载完成后,当前目录显示如下。

    image.png

步骤三:部署运行环境

  1. 更换pip下载源。

    在安装依赖包之前,建议您更换pip下载源以加速安装。

    1. 创建pip文件夹。

      mkdir -p ~/.config/pip
    2. 配置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
  2. 安装ZenDNN所需依赖。

    后续安装的ZenDNN要求使用CPU版本的PyTorch,因此需要手动安装所需依赖。

    pip install torch==1.12.0+cpu torchvision==0.13.0+cpu --extra-index-url https://download.pytorch.org/whl/cpu
    pip install -r ~/Qwen-7B/requirements.txt
    pip install streamlit gradio mdtex2html
  3. 下载并安装ZenDNN。

    ZenDNN运行库包括为AMD CPU架构优化的基本神经网络构建块的API,使深度学习应用程序和框架开发人员能够提高AMD 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

    当系统返回如下所示时,表示ZenDNN已安装完成。

    image.png
  4. 设置环境变量OMP_NUM_THREADSGOMP_CPU_AFFINITY

    ZenDNN运行库需要针对硬件平台显式设置环境变量OMP_NUM_THREADSGOMP_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对话

  1. 执行如下命令,开启WebUI服务。

    cd ~/Qwen-7B
    python web_demo.py -c ../qwen-7b-chat --cpu-only --server-name 0.0.0.0 --server-port 7860

    当出现如下信息时,表示WebUI服务启动成功。

    image.png
  2. 在浏览器地址栏输入http://<ECS公网IP地址>:7860,进入Web页面。

  3. Input对话框中,输入对话内容,单击Submit(发送),即可开始AI对话。

    image.png


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!