GPU云服务器------2秒文生图
好消息!好消息!阿里云服务器ECS推出了GPU云服务器,那么什么是GPU云服务器呢?
GPU云服务器
首先说一下什么是GPU云服务器?GPU云服务器是提供 GPU 算力的弹性计算服务,具有超强的计算能力,服务于深度学习、科学计算、图形可视化、视频处理多种应用场景。基于AIGC,GPU可以帮助更多企业快速搭建对话大模型服务、AI绘画功能、AI对话机器人等更多AIGC方案。
可以说,你对AIGC好奇吗?你对AIGC感兴趣吗?你想感受一下AIGC的魅力吗?欢迎您来开通GPU云服务器,助力您的AIGC不是梦。
AIGC来也
本文是基于GPU云服务器,利用AiaccTorch加速,实现搭建Stable Diffusion的WebUI框架2秒内文本生成图片的操作,下面开始上手实践吧。
开通GPU服务
在上手搭建Stable Diffusion的WebUI框架之前,我们首先需要开通GPU服务,GPU云服务器开通服务地址:AIGC入口,由于本次操作需要的是16核60G + 1张A10 24G显存(gn7i-c16g1.4xlarge)型号的GPU实例,这里我直接提供当前实例的开通地址:立即开通,点击【立即开通】进入GPU实例开通页面
其中【付费类型】和【地域】默认的即可,考虑到我们实验操作必须要gn7i-c16g1.4xlarge型号的GPU实例,那么我们把需要的型号放在【实例】搜索条件上
这时可以看到我们需要的实例型号只能在【可用区J】和【可用区K】中有,切换上方可用区
提示没有【交换机】,那么我们在按照提示创建交换机
其中输入交换机名称,选择好ip地址点击【确定创建】,创建成功后如图
第一个就是我们刚才创建成功的交换机,继续回到GPU实例开通页面
继续向下操作,选择【云市场镜像】,
点击【从云市场获取更多…】在弹框页面中输入 ai-inference-solution 搜索
点击【使用】然后继续向下配置【公网IP】,带宽峰值设置为10 Mbps
然后配置服务器密钥对
完成以后点击右侧【确认下单】
这里需要注意的是,由于开通了按量计费,因此在点击【确认下单】后如果账户低于100需要充值,具体的充值操作按跳转的去操作即可。
这里需要注意的是,整个开通GPU服务的操作并不是很流畅,官方文档中并没有详细的说明,对于开通中缺少的【交换机】信息,大家可以参考我操作步骤中的相关内容。
配置安全组规则
首先需要为GPU服务器添加安全组规则,找到安全组规则列表,补充如下安全组规则
远程连接GPU云服务器
登录GPU云服务器控制台:https://ecs.console.aliyun.com/home,可以看到我们已经创建好的实例
点击实例名称进入实例详情,点击【远程连接】打开远程连接页面
点击【立即登录】跳转到服务器操作页面,输入服务器密码root
提示登录失败,回到实例详情页点击【重置实例密码】输入新的密码
点击【保存密码】然后选择立即重启GPU云服务器。再次输入密码成功进入服务器操作界面
配置nginx用户
镜像预装了nginx,我们需要配置用户名密码
htpasswd -bc /etc/nginx/password ${UserName} '${Password}'
重启nginx并查看nginx状态
# 重启 systemctl restart nginx # 查看状态 systemctl status nginx # 开机自启动 systemctl enable nginx
nginx操作结果如图
文生图
完成了以上的配置之后,我们就可以体验文生图了。在进行文生图之前,我们首先需要启动WebUI服务
cd ~/stable-diffusion-webui/ nohup ./run_taiyi.sh &
等待WebUI服务启动成功之后我们去浏览器进行验证
开启AiaccTorch
默认是开启AiaccTorch的,打开页面输入【铁马冰河入梦来,概念画,科幻,玄幻,3】单击生成/Generate 生成图片
返回执行日志数据内容
铁马冰河入梦来,概念画,科幻,玄幻,3 Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 2207305383, Size: 512x512, Model hash: 70a38ac1c4, Model: Taiyi-Stable-Diffusion-1B-Anime-Chinese-v0.1, Version: v1.3.0-5-g43a52351 Time taken: 0.88sTorch active/reserved: 915/1470 MiB, Sys VRAM: 9639/22564 MiB (42.72%)
可以看到整个图片生成耗时0.88s相比之前搭建的AIGC文生图,速度已经提升了几十倍。下面我们再看一下不启动AiaccTorch加速的文生图的效果。
禁用AiaccTorch
单击设置/Settings页签,左侧导航选择AiaccTorch,取消选中Apply Aiacctorch in Unet to speedup the whole network inference when loading models后(取消2的选择),单击应用设置/Apply settings,再单击重新加载WebUI/Reload UI,
再次输入文本【铁马冰河入梦来,概念画,科幻,玄幻,3】单击生成/Generate 生成图片
这个时候我们可以很客观的感受到文生图变慢了,耗时10.16s。
切换模型
切换模型输入内容测试图片生成效果,同时开启AiaccTorch,输入提示词
1个女孩,绿眼,棒球帽,金色头发,闭嘴,帽子,看向阅图者,短发,简单背景,单人,上半身,T恤
反向提示词
水彩,漫画,扫描件,简朴的画作,动画截图,3D,像素风,原画,草图,手绘,铅笔
生成结果如图
耗时3.34s
使用LoRA插件
LoRA是Stable Diffusion模型的一种插件,它允许在不修改Stable Diffusion模型的情况下,使用少量数据训练出一种画风、IP或人物,以实现定制化需求。相较于训练Stable Diffusion,使用LoRA所需的训练资源更少,非常适合社区用户和个人开发者使用。
在提示词文本后加入lora:iuV35.uv1P:1,生成图片
耗时2.06s
使用Controlnet插件
ControlNet是一个用于控制AI图像生成的插件,它可以利用输入图片中的边缘特征、深度特征或人体姿势的骨架特征,与文字提示一起精准地控制AI图像的生成,以获得更好的视觉效果。
Canny是ControlNet中一个常见的模型,用于识别输入图像的边缘信息,从上传的图片中生成线稿,然后根据关键词生成与上传图片相似构图的画面。
单击ControlNet v1.1.222右侧箭头,如下选择
输入刚才生成的图片,点击生成图片
耗时8.42s
到这里整个文生图的操作从部署到文生图就全部完成了,可以说开启AiaccTorch推理加速之后,整个文生图的生成效率提高了很多倍,生成的效果图也更接近理想效果。
服务器监控
在文生图的过程中,个人也是比较关注GPU服务器的情况,毕竟文生图对于服务器算力的要求比较高,我们先来看一下GPU云服务器的监控数据
可以看到在整个文生图的过程中,CPU、内存、系统负载等都没有压力,足以支撑眼下比较火热的AIGC业务服务。另外也可以创建报警规则,比如设置CPU使用了达到一定阈值就自动给设置好的联系人发送预警消息等,具体的创建报警规则页面如图
当然,如果想要查看更详细的服务器信息,也可以点击【查看更多指标】跳转到云监控控制台
在云监控【操作系统监控】我们可以看到在文生图期间GPU服务器的CPU使用率、内存、系统平均负载等的详细数据,可以更好的评估当前服务器对文生图能力的抗压情况
磁盘使用情况
我们在看一下GPU的使用情况,可以说GPU的使用率在经历了加速的文生图之后也仅仅只是使用了0.25%,可以说GPU云服务器是专门为AIGC服务,为文生图提供超强的计算能力
实例释放
在完成了整个过程的实验之后,如果你的实例不再使用,建议及时释放,以免按量付费对您造成不必要的的开支,点击GPU云服务器列表右侧 【更多】输入搜索关键词【释放】
选择【释放设置】,在弹出的页面可以选择立即释放,也可以选择定时释放,
释放完成后云服务器实例列表便没有对应的服务器了