AI风口,算力无忧!

简介: 随着AI/ML技术的快速发展,各行各业在实际的应用场景中对计算资源的需求量越来越大,各大云厂商也是积极部署其IaaS资源,其中GPU是加速计算中最为关键需求之一。笔者将从新手体验性的使用到进阶体验,带领大家快速使用阿里云GPU云服务器,体验官方提供的八大场景。在后续的进阶体验中,教大家构建自己的大语言模型,如ChatGLM-6B。


✈️✈️✈️AIGC,点我出发

入"试"路引

随着AI/ML技术的快速发展,各行各业在实际的应用场景中对计算资源的需求量越来越大,各大云厂商也是积极部署其IaaS资源,其中GPU是加速计算中最为关键需求之一。

笔者将从新手体验性的使用到进阶体验,带领大家快速使用阿里云GPU云服务器,体验官方提供的八大场景。在后续的进阶体验中,教大家构建自己的大语言模型,如ChatGLM-6B


近一年来,以 StableDiffusion 为首的AI绘画模型自推出后,AI模型快速迭代。随后市面上又出现了一大批让人惊掉下巴的新突破。当前来看,普通玩家想体验AI绘画模型,无非下面几种方式:

方式

优势

劣势

本地部署(个人PC)

成本低

出图效率可能相对低

使用第三方付费在线平台(含Serverless部署)

效率较高

成本高

使用GPU云服务器部署

效率最高,且成本相对较低

部署有一定门槛


由上述表格可以看出,虽然现在各大厂商都有推出【Serverless部署StableDiffusion】,上手很简单,但是成本算下来也不低了,且客制化需求不太容易满足所以使用GPU云服务器来部署AI绘画模型算是一种性价比较高的方式,但对于用户入手也许并不容易,有入门门槛,虽然网上有很多教程,但是五花八门的,不一定都适用,官方很贴心的想到了这点,给大家早就准备好了实验”秘籍“,下面就跟随我一起操作下吧

视频教程

小试牛刀

八大秘籍,实验不抓瞎

💡官方很贴心的为所有使用GPU的新人准备了【八大秘籍】,让新人也能轻松探索AIGC

“兵器”购置

"练家子"哪能没有"神器",根据官方建议,建议了两款GPU服务器机型,在这次实验中我们选用配置较低的一款 "8核32G + 1张V100 16G显存(gn6v-c8g1.2xlarge)",选择该规格的GPU服务器是因为成本足够低,足以支撑我们本次实验。同时,官方在2023年9月期间,新人购买GPU实例也是有优惠价,有需要的朋友可以,直达活动页面看看:开启AIGC之旅

点击直接购买:🛒gn6v-c8g1.2xlarge

额外注意

需要使用指定的 云市场镜像,名称为 ai-inference-solution

修炼秘籍

本次实验是用官方八大秘籍之一的 《基于AIACC加速器快速实现Stable Diffusion生成特定物体图片》

直达链接✈️✈️✈️:基于AIACC加速器快速实现AIGC绘画


配置模型

# 设置nginx
# 使用示例密码
htpasswd -bc /etc/nginx/password admin 'ECS@test1234'
systemctl restart nginx
systemctl enable nginx --now

开始文本生成图片

启动WebUI服务

cd ~/stable-diffusion-webui/
nohup ./run_taiyi.sh &

开启AI绘画并测试AiaccTorch加速效果【默认已启用AiaccTorch】

  1. 浏览器打开WebUI页面

  1. AI绘画

在对话框中输入关键字 埃菲尔铁塔,月球,科幻,3D,赛博朋克

更换模型

左上角切换模型  Taiyi-Stable-Diffusion-1B-Anime-Chinese-v0.1

官方示例:

  • 提示词示例:
1个女孩,绿眼,棒球帽,金色头发,闭嘴,帽子,看向阅图者,短发,简单背景,单人,上半身,T恤
  • 反向提示词示例:
水彩,漫画,扫描件,简朴的画作,动画截图,3D,像素风,原画,草图,手绘,铅笔

插件测试

LoRA插件

在提示词中添加参数  ,启用LoRA

Controlnet插件(可选实验)

本次用的ecs.gn6v-c8g1.2xlarge 使用的是V100的卡, 镜像市场上的镜像有点老 ,如果使用V100的卡的实例来运行就会报错,使用A10的就可以正常运行

单击Controlnet右侧的图标,选中启用/EnableControl Type选择Canny,在单张图像/Single Image区域中,上传输入的图片(如Lena图)。


性能观察


什么?没钱练"武"?

如果您没有预算,那么也没问题,阿里云还是贴心的为大家准备好了 【云起实验室】为大家预置了一个免费的实验环境,足以支撑大家完成✈️✈️✈️部署Stable Diffusion玩转AI绘画(GPU云服务器)

小小建议

  1. 可以参考像SAE 2.0那样,在教程中加入视频,这样对于图文感知力并不强的学习者而言,是一个非常友好的教学方式。

向前一小步,学会一大"部"

首先我们来看看神经网络和大语言模型的发展,自1943年,最早就提出了神经网络的概念,历经多年的发展,再加上算力的大幅提升,为后续的大语言模型推出奠定了坚实的基础。

从2018年至今,GPT-1到现如今的GPT-4等等众多大语言模型。直至今日,各大厂商纷纷推出了自己的大语言模型,例如阿里云有义通千问,百度有 文言一心,腾讯有“混元”(正式发布于2023.09.07)等,个人感觉在市面上用的多的还是GPT3.5,但是因为各种各样的限制,导致用户使用ChatGPT没有那么方便,那么阿里云在昨天(2023.09.13)宣布阿里云通义千问向全社会开放!,给用户多了一个选择,实际使用效果也很棒,大家都可以去尝试下

直达✈️ 义通千问:https://qianwen.aliyun.com/

ChatGLM-6B上云部署

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答

ChatGLM-6B项目地址https://github.com/THUDM/ChatGLM-6B


为什么选择ChatGLM-6B来进行部署?

  1. 硬件环境要求相对低,本地部署仅需6GB显存
  2. 部署简单
  3. 专为中文优化

硬件需求

量化等级

最低 GPU 显存(推理)

最低 GPU 显存(高效参数微调)

FP16(无量化)

13 GB

14 GB

INT8

8 GB

9 GB

INT4

6 GB

7 GB

安装cuda

cuda下载页面:

https://developer.nvidia.com/cuda-11-7-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_network

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda-repo-ubuntu2204-11-7-local_11.7.0-515.43.04-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-11-7-local_11.7.0-515.43.04-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
echo "export PATH=/usr/local/cuda-11.7/bin/:\$PATH" >> /etc/profile
echo "export DL_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:\$DL_LIBRARY_PATH" >> /etc/profile
source /etc/profile
nvidia-smi
nvcc -V

安装cudnn

下载对应cuda的版本(8.6):

https://developer.nvidia.com/compute/cudnn/secure/8.6.0/local_installers/11.8/cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz

建议下载到本地后,上传到OSS存储桶,然后在服务器上使用ossutil工具进行cp到云服务器上,如果本地直接传输到服务器速度10MB/s以上也可以

ossutil使用(可选)

# 安装ossutil
sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash
# 配置config
ossutil config
## 杭州endpoint: https://oss-cn-hangzhou.aliyuncs.com


tar -xf cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz 
cp cudnn-linux-x86_64-8.6.0.163_cuda11-archive/include/cudnn*.h /usr/local/cuda-11.7/include
cp -P cudnn-linux-x86_64-8.6.0.163_cuda11-archive/lib/libcudnn* /usr/local/cuda-11.7/lib64/
chmod a+r /usr/local/cuda-11.7/include/cudnn*.h /usr/local/cuda-11.7/lib64/libcudnn*
# 验证
cat /usr/local/cuda-11.7/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

安装torch

两种方式,任选其一

# conda
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
# Wheel
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117

验证torch

import torch
print(torch.__version__)
print(torch.cuda.is_available())

速通玩法(可选)

我已经将后续实验的仓库克隆到了gitee,包括model,只需要运行run.py脚本即可使用ChatGLM-6B

如果您想手动体验整个操作流程,可以继续后续的步骤-->克隆仓库,配置模型,运行ChatGLM-6B几个模块

非常抱歉,由于Gitee限制上传100M以上的大文件,所以模型文件还得各位自己下载了,配置文件以及run.py都预置好了

git clone https://gitee.com/unicornstar/aliyun-gpu-chat-glm-6-b.git
cd AliyunGPU-ChatGLM-6B
pip install -r requirements.txt
python3 run.py

克隆仓库

apt install git
git clone https://github.com/THUDM/ChatGLM-6B.git
cd ChatGLM-6B
pip install -r requirements.txt

配置模型

下载模型文件

wget -P 'ChatGLM-6B/model' --no-check-certificate --content-disposition 'https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/files/?p=%2Fpytorch_model-00001-of-00008.bin&dl=1'
wget -P 'ChatGLM-6B/model' --no-check-certificate --content-disposition 'https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/files/?p=%2Fpytorch_model-00002-of-00008.bin&dl=1'
wget -P 'ChatGLM-6B/model' --no-check-certificate --content-disposition 'https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/files/?p=%2Fpytorch_model-00003-of-00008.bin&dl=1'
wget -P 'ChatGLM-6B/model' --no-check-certificate --content-disposition 'https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/files/?p=%2Fpytorch_model-00004-of-00008.bin&dl=1'
wget -P 'ChatGLM-6B/model' --no-check-certificate --content-disposition 'https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/files/?p=%2Fpytorch_model-00005-of-00008.bin&dl=1'
wget -P 'ChatGLM-6B/model' --no-check-certificate --content-disposition 'https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/files/?p=%2Fpytorch_model-00006-of-00008.bin&dl=1'
wget -P 'ChatGLM-6B/model' --no-check-certificate --content-disposition 'https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/files/?p=%2Fpytorch_model-00007-of-00008.bin&dl=1'
wget -P 'ChatGLM-6B/model' --no-check-certificate --content-disposition 'https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/files/?p=%2Fpytorch_model-00008-of-00008.bin&dl=1'

下载模型配置文件

https://huggingface.co/THUDM/chatglm-6b/tree/main

先将下面的文件下载到本地,再上传到服务器的 ChatGLM-6B/model 目录中

运行ChatGLM-6B

给大家准备了一个脚本,用python运行即可

import fire
from transformers import AutoTokenizer, AutoModel
MODEL_PATH = 'model'
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH, trust_remote_code=True)
model = AutoModel.from_pretrained("/root/ChatGLM-6B/model", trust_remote_code=True).half().cuda()
model = model.eval()
def infer():
    while True:
        request = input("你好,我是ChatGLM-6B >>>  ")
        history = []
        while not request:
            print('Prompt should not be empty!')
            request = input("Model prompt >>> ")
        response, _history = model.chat(tokenizer, request, history=history)
        history = _history
        print('\033[1;31m{}\033[0m'.format(request) + '\033[1;33m{}\033[0m'.format(response))
if __name__ == '__main__':
    fire.Fire(infer)

性能观察

总结一下

  1. 快速上手资源多,阿里云官方很贴心的考虑到了新手入门的问题,也准备了很多“武功秘籍”给到大家,现在关于AIGC实践的有10个实验,可以直接在📚官网文档找到
  2. 价格有优势,多种可选的计费方式(包年包月/按需/抢占),尤其要说一点的就是抢占式,笔者本人因为之前训练DRFC项目的模型的时候使用亚马逊云科技的GPU服务器,也是使用抢占式模式,结果总是资源不足,而反观阿里这边,资源很充足,在本篇文章撰写期间,没有出现过因为资源竞价的原因而导致服务器停止的情况
  3. 售后给力,之前就一直给阿里的同学提意见,就是售后一定要抓起来,好的服务离不开好的售后,这句话是100%没有问题的,在本篇文章中有遇到技术问题,阿里的同学也是很积极的一起拉群讨论,这样的售后足以让客户满意!
  4. 资源丰富,大家都知道A100显卡资源其实很紧张,笔者发现在阿里云上居然有提供NVIDIA A100的机型,这点的确要给阿里一个大赞,对于有A100需求的企业而言,市面上又无法购买,那么选择阿里云是错不了的,毕竟阿里云的口号就是:为了无法计算的价值
  5. 云起实验室,没钱也能学,官方也贴心的为大家准备了有GPU资源的实验室,足以支撑大家完成一些实验
  6. 优惠力度大,新人上手没有经济负担,最大1折玩GPU服务器。
  7. 服务器压力,在两个场景中大家可以在结尾的【性能观察】模块看到的是,服务器的整体负载并不大,对于SD场景实验而言,GPU的压力就更小了,V100 16G内存完全能够胜任。再看ChatGLM-6B,GPU压力稍大,毕竟不是用的int-4来进行实验,而服务器的CPU和内存起伏还是很小,整体运行平稳流畅


小小建议

  1. 正如新手体验给到的建议一样,可以考虑在AIGC的快速上手实验中都给添加一个视频教程
  2. 文档可以更加细化一下,例如某些机型可能会出现的问题,问题排查模块等等


闲聊一下

最近有看到一篇文章,题为 《大模型救了阿里云》,可以看出阿里云在盈利后,全球又掀起了GenAI热潮,大模型所需要的AI云服务资源又是非常大的需求,阿里云作为国内基础设施部署最多的云厂商,自然挑起重担,且阿里云将AI与自家云服务产品结合,不断将智能化的服务推送给用户,在GenAI热潮中,阿里云作为中国首个开源自研大模型的科技大厂,阿里云也推出了自家的大模型服务,同时也积极贡献出开源模型,也有自己的大模型社区,可谓是服务生态两手抓。2023年9月13日,阿里云义通千问面向全社会开放,向社会展现出了自己的信心!

在这里也衷心希望阿里云能够推出更好的服务,回馈用户,回馈社会!

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
6月前
|
人工智能 自然语言处理 安全
国产算力平台的磨砺与革新:助力国内AI走向更高更远
近几年技术圈由人工智能的快速发展,引起来了变革和创新,虽然国外的算力一直是走在最前沿,但是国产算力平台在推动我国AI产业中发挥着重要作用,扮演着重要角色,但要助力国内AI走得更高更远,国产算力平台还需要经历磨砺和革新。那么本文就来分享和讨论一下国产算力平台所需的磨砺和革新,以及这样的平台在国产算力土壤之上能孕育出的AI创新之花。
227 1
国产算力平台的磨砺与革新:助力国内AI走向更高更远
|
6月前
|
人工智能 编解码 物联网
Stability AI推出新的AI图像生成模型Stable Cascade,对比 SD2.1 的算力成本降低了10倍左右!
Stability AI推出新的AI图像生成模型Stable Cascade,对比 SD2.1 的算力成本降低了10倍左右!
110 2
|
6月前
|
机器学习/深度学习 人工智能 算法
展望2024: 中国AI算力能否引爆高性能计算和大模型训练的新革命?
2023年是人工智能发展的重要转折年,企业正在从业务数字化迈向业务智能化。大模型的突破和生成式人工智能的兴起为企业实现产品和流程的革新提供了先进工具,引领产业迈入智能创新的新阶段。在这个新时代,企业不再仅关注如何增强智能化能力,而更加注重如何利用人工智能实现产品和流程的革新。
1997 0
|
1月前
|
人工智能 自然语言处理 算法
AI 系统的出现与算力发展
AI系统的崛起得益于大数据积累、强大算力与先进算法的共同驱动。大数据为AI提供了丰富学习材料,促进算法优化与应用创新;算法进步则提升了图像识别和自然语言处理等领域的性能,扩展了AI的应用范围。此外,GPU、TPU等专用芯片大幅加快了模型训练速度,通过硬件创新进一步增强了AI系统的效能。未来,算法与硬件的协同优化将推动AI技术迈向更高智能水平。
64 1
|
2月前
|
存储 人工智能 算法
阿里云AI基础设施升级亮相,模型算力利用率提升超20%
阿里云AI基础设施升级亮相,模型算力利用率提升超20%
222 18
|
2月前
|
人工智能 自动驾驶 云栖大会
何小鹏驾驶“全球首款AI汽车”亮相云栖大会 深化与阿里云AI算力合作
小鹏汽车加速端到端自动驾驶落地 深化与阿里云AI算力合作
392 13
|
1月前
|
人工智能 算法 JavaScript
无界SaaS与AI算力算法,链接裂变万企万商万物互联
本文介绍了一种基于无界SaaS与AI算力算法的商业模式的技术实现方案,涵盖前端、后端、数据库及AI算法等关键部分。通过React.js构建用户界面,Node.js与Express搭建后端服务,MongoDB存储数据,TensorFlow实现AI功能。提供了项目结构、代码示例及部署建议,强调了安全性、可扩展性和性能优化的重要性。
|
2月前
|
人工智能 算法 数据中心
从“纸面算力”到“好用算力”,超聚变打通AI+“最后一公里”
2024年,《政府工作报告》首提“AI+”行动,推动人工智能成为新质生产力引擎。市场层面,AI+正深刻变革金融、医疗、制造等行业,但AI算力瓶颈依然存在。在2024年中国算力大会上,超聚变等企业探讨了算力的绿色化和效能提升。超聚变推出的FusionPoD for AI全液冷服务器,显著降低能耗并提升算力效能,其FusionOne AI解决方案也加速了AI在各行业的落地。这些创新将重塑算力格局,推动智能革命。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能AI风口已开:如何赋予UI设计与视频剪辑新生命
AI正深刻影响UI设计和视频剪辑行业。在UI设计中,AI提供智能辅助设计,跨模态生成和个性化定制,帮助设计师提高效率,创新设计。AI分析趋势和用户行为,生成设计方案,支持语音和文本输入,增强设计的多样性和个性化体验。在视频剪辑领域,AI实现智能素材管理,自动化剪辑处理和特效生成,提升剪辑质量和速度。通过Adobe国际认证,设计师和剪辑师可以系统学习并掌握这些AI技术,提升职业竞争力,共同开创行业新未来。
|
5月前
|
人工智能 算法 数据中心
这场ICT市场趋势大会,将定义云、算力和AI的里程碑
这场ICT市场趋势大会,将定义云、算力和AI的里程碑