自2023年以来,AI绘图已经从兴趣娱乐逐渐步入实际应用,在众多的模型中,作为闪耀的一颗明星,Stable diffusion已经成为当前最多人使用且效果最好的开源AI绘图软件之一。Stable Diffusion Web UI 是由AUTOMATIC1111 开发的基于 Stable Diffusion AI 模型的 AI 图片处理工具,支持文生图、图生图。 该Web UI提供了一个图形化的操作界面,用户无需编写任何代码即可使用Stable Diffusion的所有功能。而且用户可以将自己的Stable Diffusion模型部署在个人电脑、工作站或服务器上,无需复杂的配置。
然而尽管可以用纯CPU或低端GPU跑Stable Diffusion WebUI,但是速度非常慢,30秒就能算好的图,配置不够的话往往要算10分钟以上。今天给电脑配置不够和不想安装sd占用太多资源的同学带来一篇解决方案:通过Amazon EC2 快速部署 Stable Diffusion WebUI + chilloutmax 模型。
一、创建 Amazon EC2 实例
Amazon EC2 是亚马逊云科技提供的亚马逊弹性计算云服务器,其提供最广泛、最深入的计算平台,拥有最新的处理器、存储、网络、操作系统和购买模型,以帮助最好地满足工作负载的需求。其具有以下主要特点:
弹性:EC2允许用户根据业务需求快速、灵活地调整计算资源。用户可以根据需要增加或减少服务器的数量,实现无缝的扩展或缩减。
多样化选择:亚马逊云科技提供了多种类型的EC2实例,包括通用型、计算优化型、内存优化型和存储优化型等,以满足不同的计算、内存、存储和网络需求。
安全性:EC2提供了多层次的安全措施,包括网络隔离、数据加密、身份认证等,保护用户的数据和应用程序免受恶意攻击和数据泄露的风险。
可靠性:EC2利用亚马逊全球的数据中心网络,提供高可用性和故障转移能力。
易用性:EC2与亚马逊云科技其他服务深度集成,支持简单的Web界面管理和API调用,方便用户操作和管理。
首先进入亚马逊云科技海外区官网页面:亚马逊云科技,开始创建 Amazon EC2 实例。亚马逊云科技目前提供了Amazon EC2每月750小时试用套餐,该套餐包括了Linux、RHEL、SLES, t2.micro 或 t3.micro实例、 Windows t2.micro 或 t3.micro 以及公网 IPv4 地址使用时间。
进入控制台页面后,搜索Amazon EC2:
点击EC2 Dashboard开始启动实例:
推荐使用 G4dn 机型(NVIDIA T4 GPU,16 GiB 显存)或者 G5 机型(NVIDIA A10G GPU,24 GiB 显存),地区最好选择美国地区,下载安装模型速度快,镜像选择Ubuntu的镜像,并且附带GPU 驱动,例如:Deep Learning OSS Nvidia Driver AMI GPU PyTorch 2.0.1,磁盘选择挂盘100G
然后进入实例控制台,单击网络与安全-安全组,选择创建新的安全组:
并且点击Add Rule(添加规则),开放TCP,并将源设定为0.0.0.0/0,最后 点击右下角的创建安全组。
成功创建好实例并配置好安全组后就可以开始部署了!
二、快速部署 Stable Diffusion WebUI + chilloutmax 模型
回到 Amazon EC2 控制台,登录或者通过使用公网ip+22端口进行SSH 登录,然后在刚刚创建好的实例中打开命令行输入以下指令,首先安装wget、git、python3、libgl1、libglib2.0-0等宝,然后克隆stable-diffusion-webui仓库:
sudo apt install wget git python3 python3-venv libgl1 libglib2.0-0 git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
如果下载比较慢的话,也可以直接在github上下载,Stable Diffusion WebUI的官方仓库为:https://github.com/AUTOMATIC1111/stable-diffusion-webui
下载好stable-diffusion-webui的代码后,然后下载 chilloutmix 模型,cd进入 stable-diffusion-webui/models/stable-diffusion 文件夹,通过如下命令行下载 chilloutmix 模型到该目录下。
cd stable-diffusion-webui/models/Stable-diffusion wget -O chilloutmix_NiPrunedFp32.safetensors https://civitai.com/api/download/models/9475
ChilloutMix 模型是基于 Stable Diffusion模型微调后的模型。它在生成真实东亚女性人像方面表现较强,但对于男性、2.5D、景观、二次元等类型的直出图稍显不足,可能需要结合其他 LoRA 模型进行尝试。此外,ChilloutMix 模型与较多真实人物如名人、明星等的 LoRA 模型适配较好。不过其存在手指畸形、裸露肌肤部分随机黑点等问题。
其次进行LoRA 扩展安装,最新版本的 WebUI 已经内置了 LoRA,只需要单独安装 Additional Network 这个扩展即可,在 WebUI 界面的 Extensions 页面,使用 Install from URL 安装,https://github.com/kohya-ss/sd-webui-additional-networks.git
最后,cd进入stable-diffusion-webui文件夹,输入./webui.sh。通过自动化脚本完成安装。该步骤会自动安装webui所需的各依赖项,如gfpgan,k_diffusion等。实测完成全部安装大概需要10-20min。
运行起来后,会显示并给出地址及端口号,这样就成功使用Amazon EC2 快速部署 Stable Diffusion WebUI + chilloutmax 模型啦!通过在浏览器中导航到进入Webui后,选择 chilloutmax 模型(基于 sd 1.5 fine-tunning),填写样例 ,其中,Prompt表示正向提示词,用于指导AI生成图片的具体内容。Negative Prompt表示反向提示词,用于避免AI生成图片中的某些内容。Sampler表示选择生成图片的采样算法。Sampling Steps表示采样重复次数,影响图片生成质量。Restore Faces是一种人脸修复功能,使真人或二次元人脸更自然。Face Restoration Algorithm可以选择人脸修复算法。Code Former Weight Parameter调整修复算法的权重。
为了让图片生成得更加真实自然,调整的参数如下:Sampler: DPM++ SDE Karras;Sample Steps: 28;CFG scale: 8;Size: 512x768。最后点击Generate就可以生成了!
当然,我们在不使用的时候停止实例的运行,避免产生过多的费用。我们可以在亚马逊云科技控制台中停止实例并在再次需要时重新启动它,而不会丢失任何已安装的应用程序。
重新启动 EC2 实例后,我们可以通过 SSH 登录它并使用以下命令重新启动应用程序:
nohup bash stable-diffusion-webui/webui.sh --listen > log.txt
现在进入亚马逊云科技海外区官网页面:亚马逊云科技
除了免费的云服务器(Amazon EC2),亚马逊云科技还云存储(Amazon S3),负载均衡(Elastic Load Balancing),虚拟服务器VPS(Amazon Lightsail)、视频会议(Amazon Chime )等等100 余种云产品或服务免费试用。