实验简介:
本场景主要涉及以下云产品和服务:
ChatGLB2-6B大模型:由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。截至2023年7月,在C-Eval中,排名靠前。Pytorch:一个开源的Python机器学习库,基于Torch,底层由C++实现,应用于人工智能领域,如计算机视觉和自然语言处理。它主要由Meta Platforms的人工智能研究团队开发。著名的用途有:特斯拉自动驾驶,Uber最初发起而现属Linux基金会项目的概率编程软件Pyro,Lightning。
注:来源 -维基百科。
实验室地址:https://developer.aliyun.com/adc/scenario/f3dc63dc55a543c3884b8dbd292adcd5
查看更多最佳实践:https://www.aliyun.com/daily-act/ecs/markets/aliyun/gpu/aigc
实验说明
一. 创建实验资源
个人账户资源
a.使用您个人的云资源进行操作,资源归属于个人。
b.所有实验操作将保留至您的账号,请谨慎操作。
c.平台仅提供手册参考,不会对资源做任何操作。
d.说明:使用个人账户资源,在创建资源时,可能会产生一定的费用,请您及时关注相关云产品资源的计费概述。
创建云服务器ECS
说明:
a.如果您选择的免费试用,并且在上一步骤中领取了云服务器ECS的免费试用,后台会自动为您创建一台云服务器ECS实例,请您跳过本步骤,直接进行下一小节操作。
b.如果您选择的免费试用,但是您的阿里云主账号没有资格领取云服务器ECS的免费试用,请您根据如下操作,创建云服务器ECS,并且会产生一定的费用,详情请参考计费概述。
c.如果您选择的个人资源,请您根据如下操作,创建云服务器ECS,并且会产生一定的费用,详情请参考计费概述。
1. 前往云服务器ECS控制台,在概览页面的我的资源区域,单击创建实例。
2. 在云服务器购买页面,参考如下说明配置参数,未提及的配置保持默认或按需修改,然后选中右侧的《云服务器ECS服务条款》,单击确认下单。
说明:本试用教程以下列的配置信息为例,实际操作时,建议根据您的实际业务体量和需求选择。
参数说明:
配置项 |
示例 |
说明 |
地域 |
地域:华东1(杭州) |
实例创建后,无法直接更改地域和可用区,请谨慎选择。 |
网络及可用区 |
选择合适的专有网络和交换机,如果您要创建专有网络和交换机,请单击下方的前往控制台创建。 |
推荐您使用专有网络,专有网络之间逻辑上彻底隔离,安全性更高,且支持弹性公网IP(EIP)、弹性网卡、IPv6等功能。 可用区是指在同一地域内,电力和网络互相独立的物理区域。同一可用区内实例之间的网络延时更小,其用户访问速度更快。 |
实例 |
规格族:GPU 计算型 gn6i 实例规格:ecs.gn6i-c4g1.xlarge |
您可以前往ECS实例可购买地域,查看实例在各地域的可购情况。 |
镜像 |
公共镜像 CentOS 7.9 64位。 |
实例启动后,系统盘将完整复制镜像的操作系统和应用数据。 |
系统盘 |
类型:ESSD云盘 容量:90G |
因本实验需要较大磁盘空间,若磁盘空间过小部分附件会无法下载。 |
公网IP |
选中分配公网IPv4地址 |
选中后,自动分配一个公网IPv4地址。 |
带宽计费模式 |
按使用流量 |
按使用流量模式只需为所消耗的公网流量付费。详情请参见公网带宽计费。 |
带宽峰值 |
5 Mbps |
无。 |
安全组 |
选择新建安全组。 |
选择新建安全组。如果您已有开通80、443、22、3389端口的安全组,也可使用。 |
安全组类型 |
普通安全组 |
安全组按照类型划分为普通安全组和企业级安全组,两者均免费。在安全组容量、能否添加授权安全组的规则以及默认访问控制规则等方面有一定差异,适用于不同的使用场景。 |
开通IPv4端口 |
需要开通80、443、22、3389端口。 |
本实验需要开通80、443、22、3389端口。 |
登录凭证 |
自定义密码 |
本教程中选择自定义密码,并手动设置一个密码,用于远程连接并登录ECS实例。 |
登录密码 |
Ecs123456 |
3. 在创建成功对话框中,单击管理控制台。
4. 在实例页面,等待状态变为运行中后,即可使用该云服务器ECS。
5.点击实例ID进入实例。
6.进入安全组选项卡,点击安全组ID。
7.在安全组规则列表中,选择入方向,点击手动添加。
端口范围:8501/8501
授权对象:0.0.0.0/0
二. 安装Anaconda、Pytorch
1.远程登录ECS服务器。
a.进入ECS控制台,找到刚刚创建的实例,点击远程登录。
- b.在远程连接对话框中,点击【登录Workbench远程】下的立即登录。
- c.在登录实例对话框中输入密码,并点击确定。
2. 更新操作系统。
sudo yum update -y sudo yum upgrade -y
3. 下载并安装anaconda。
a.在命令行中,输入以下命令,点击Enter,开始下载anaconda安装包。
wget https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh
b.系统系统下载完成后,输入下列命令,点击Enter,开始安装。
bash Anaconda3-2023.03-1-Linux-x86_64.sh
c.遇到如下界面后,点击Enter,继续安装过程。
d.出现下面的界面后,继续点击Enter。
e.直到出现提示Do you accept the license terms? [yes|no],输入yes,点击Enter继续。
f.出现如下提示,点击Enter继续,等待anaconda完成安装,大约需要2分钟
g.等待出现如下提示后,输入yes,点击Enter, 完成安装。
h.点击页面右上角的➕号,打开一个新的终端。
注:接下来所有的操作都在新的终端中完成,命令行最左边,出现(base)字样,代表anaconda已启动。
i.在实际开发过程中,通常需要通过conda安装虚拟环境,在虚拟环境中继续后续操作。本实验中,略去此步骤。
4. 安装Pytorch。
a.输入如下命令,开始安装Pytorch。
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
b.出现提示Proceed ([y]/n)? 后,输入y,然后点击Enter继续安装过程。
c.安装大致需要5分钟。等到出现下列界面时,安装就完成了。
d.可以在命令行输入python,点击Enter,进入Python界面,输入import torch,如果出现如下界面,则代表Pytorch安装成功。
三. 准备模型文件、代码仓库
1.下载模型文件、代码仓库。
模型文件通常存放在 hugging face、魔搭社区等处。代码仓库通常存放在github。由于模型文件较大,本实验中,已将模型文件和代码仓库提前下载至阿里云OSS,供实验所用,请执行下列步骤的b、c、的三步下载模型文件和代码仓库。如之后在云上GPU上需要从hugging face上下载该模型文件,需要先执行下列步骤的a部分,安装git-lfs,以支持下载模型文件这样的大型文件。
a.首先安装git lfs,以便可下载模型文件。
sudo yum install git
sudo yum install git-lfs
git lfs install
b.执行如下命令,安装unzip解压包。
yum -y install unzip
c.运行如下代码从hugging face下载模型文件。模型文件较大,超过12G。需要等待一段时间。
wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/chatglm2-6b.zip
unzip chatglm2-6b.zip
d.下载ChatGLM2-6B代码仓库。
wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/ChatGLM2-6B.zip
unzip ChatGLM2-6B.zip
2.修改web_demo2.py文件。
a.输入如下命令,查看模型文件与代码仓库。
ls
b.其中,chatglm2-6b为模型文件,ChatGLM2-6B为代码仓库。
c.输入如下命令,将模型文件移动至代码仓库目录下,以方便调用。进入代码仓库。
mv chatglm2-6b ./ChatGLM2-6B cd ChatGLM2-6B
d.输入如下命令,安装依赖文件。
注:安装后,可能出现报错信息,可忽略,对本实验没有影响。
pip install -r requirements.txt
e.修改运行python文件。输入如下命令,进入web_demo2.py文件。
vim web_demo2.py
f.点击i进入编辑模式。将tokenizer和model两个变量内部的文件路径,做如下修改。另外,可以对st.title内的参数做个性化修改,比如修改成“我的ChatGLM2-6B",或者其他名称。完成编辑后,点击esc(注意:需要切换回英文输入法),然后输入:wq后点击回车,保存并退出web_demo2.py。
3. 运行ChatGLM2-6B对话网页
a.输入如下命令,安装streamlit。
pip install streamlit streamlit-chat
b.安装完成后,输入如下命令,运行网页版demo。
streamlit run web_demo2.py
c.复制External URL中的网址,新打开一个浏览器,在其中输入上述地址。
d.等待大约2-3分钟后,模型开始运行。出现如下界面。可以开始输入提示词,与模型对话。可以看待,模型的标题,变成了定制化的标题:我的ChatGLM2-6B。