SD 云端环境大比拼,10美元的 Google Colab Pro 超给力

大家好,我是元峰,13 颗 AI 之心持有者。今天想与大家分享一种更为灵活方便的 SD 云端使用方案。
由于我的电脑配置是英特尔显卡,无法本地直接运行 SD,因此我一直依赖于云端服务器。在尝试了几种不同的云端 SD 环境后,我发现虽然每个平台都有其独到之处,但是都不尽人意。在此,我将主要从价格、下载模型和使用中遇到的问题等方面,对 AutoDL、揽睿星舟和青椒云三个平台进行一番比较,并为大家推荐一个性价比相对较高的选择:Google Colab Pro。
一、云端SD 环境对比:AutoDL,揽睿星舟,青椒云
一)价格比较
AutoDL:主要提供了两种不同的配置选项,分别是 3090 配置,每小时 1.66 元,和 A5000 配置,每小时 1.24 元。

揽睿星舟:提供了 3090-24G 配置,每小时 1.9 元,以及双核配置,每小时 4.2 元。

青椒云:统一价格为每小时2.5元。

若以重度用户每天6小时的使用时长来计算,AutoDL、揽睿星舟和青椒云的日消费分别是8元、12元和15元,月消费则是240元、360元和450元。
二)下载模型
AutoDL:用户可以直接关联百度云或阿里云进行模型的下载和上传,但系统盘容量只有50G,容易满载,需付费扩容。

揽睿星舟:用户需要通过第三方软件来上传模型,过程较为繁琐,且速度时常很慢。每个用户拥有10GB的免费网盘空间,超过部分则需按实际使用量计费(0.15元/GB/月)。

青椒云:用户可通过自家客户端上传模型至云服务器,提供100GB的免费网盘空间。但是经常遇到无法关联的问题。

三)使用中的问题
AutoDL:经常出现无法获取实例的情况严重。虽然偶尔运气好时会有充足的GPU资源,但大多数时候都面临实例短缺的问题。

像下面这样,已经创建了好多实例,真正要用的时候连一台都没有,猝。。。

揽睿星舟:上传模型过程繁琐,需要从 C 站或哩布哩布下载到本地再上传。平台本身限制较多,安装其他软件会被锁定。
青椒云:由于是远程控制电脑,网络不佳时会出现严重的卡顿现象,平时用流畅度也不是很高。

总体来讲,每个平台都有其利弊,但都不算完美。而 SD 软件本身是免费的,但云端使用却需付费,为了追求更为经济的方案,我终于找到了 Google Colab Pro,每月 10 美金,就能比较灵活的使用 SD,是一种非常划算的选择。
二、Google Colab 运行 SD
下面是使用 Google Colab 笔记本运行 SD AUTOMATIC1111 的详细步骤。是使用 AUTOMATIC1111 最简单的方法之一,因为我们不需要处理复杂的安装程序。

更新记录
- 2023 年 9 月 8 日:现在我们可以使用 v1.6.0 版本的 Stable Diffusion WebUI!
- 2023 年 7 月 21 日:这款 Colab 笔记本现已支持 SDXL 1.0。
- 2023 年 4 月 21 日:Google 已阻止免费帐户使用 Stable Diffusion。我们需要付费计划才能使用此笔记本。
三、什么是 AUTOMATIC 1111

用过 SD 的应该知道 AUTOMATIC1111 Stable Diffusion WebUI 是什么。就算你没用过,但你绝对见过。
AUTOMATIC1111 是一个基于Gradio 库构建的浏览器界面,专为 Stable Diffusion 而设计,该界面简化了与 Stable Diffusion 的交互,使用户更容易使用 AI 生成图像。
AUTOMATIC1111 功能丰富:我们可以在该 GUI 中使用文本到图像、图像到图像、放大、定制图像以及运行和训练自定义模型。现在许多教程都是使用此 GUI 进行演示的。
AUTOMATIC1111 充当了一个桥梁,通过提供更直观和用户友好的界面,降低了用户与 Stable Diffusion 交互的障碍,从而有助于 AI 在图像生成领域的更广泛的可访问性和可用性。
四、什么是 Google Colab?
Google Colab(谷歌合作实验室)是谷歌提供的一项交互式计算服务。它是一个 Jupyter Notebook 环境,允许我们执行 Python 代码。 Google Colab 常用于数据科学,例如探索深度学习模型。它是运行 Stable Diffusion WebUI 的完美设置。
他们提供三种付费计划——Pay As You Go、Colab Pro 和 Colab Pro+。我建议使用 Colab Pro 套餐。每月9.99 美元,为我们提供 100 个计算单元,这在标准 GPU 上大约需要 50 小时。 我们还可以获得高 RAM 机器,这对于使用 V2 模型和一些扩展非常有用。

通过付费计划,我们可以选择使用高级 GPU。它是A100处理器。当我们需要快速训练 Dreambooth 模型时,这会派上用场。


支付时我用的是 Onekey 虚拟信用卡。很顺利就付款成功了。
当我们将 Colab 用于 AUTOMATIC1111 时,请务必在完成后断开连接并关闭笔记本电脑。当笔记本电脑保持打开状态时,它将消耗计算单元。
五、运行 Colab 笔记本的步骤说明

步骤1:进入 Colab 笔记本
打开上面的 Colab 笔记本链接。我们应该看到第二个单元格的笔记本,如下所示。

步骤 2. 检查用户名和密码
启动 AUTOMATIC11111 后我们将需要输入此信息。
步骤 3. 查看 Save_In_Google_Drive 选项(选择将哪些内容保存在 Google 云盘中)
有三个选项可供选择。
-
Everything:将整个 AUTOMATIC1111 Stable Diffusion webui 保存在我们的 Google Drive 中。此选项维护会更复杂,仅建议高级用户使用。
-
小模型、图像和设置:保存 Lora 模型、嵌入、GUI 设置和 Google 云端硬盘中的所有图像。
它将从我们的 Google 云端硬盘加载以下内容。
- Model 模型(来自 output_path /models 文件夹)
- Upscalers 升级算法(来自 output_path /ESRGAN 文件夹)
- Lora 模型(来自 output_path /Lora 文件夹)
- Embeddings 嵌入(来自 output_path /embeddings 文件夹)
- Nothing:不会使用我们的 Google 云端硬盘。断开连接后,所有数据和图像都将被删除。
如果我们选择第一个或第二个选项,我们必须授予访问 Google 云端硬盘的权限。

步骤4. 检查要加载的模型
目前这个笔记本提供了 v1.4、v1.5、v1.5 inpainting、F222、anything v3、inkpunk diffusion、Mo Di diffusion、v2.1-512、v2.1-768 和 v2 深度模型。
如果我们是首次使用,可以选择 v1.5 型号。这里,我也同时勾选了 SDXL 1.0 模型。

运行时会下载我们勾选的 V1.5,SDXL 基础和精炼模型。

步骤 5. 选择要安装的插件

如果我们选择将所有内容保存在 Google 云端硬盘中,模型将下载到我们的 Google 云端硬盘中。
步骤 6. 启动应在几分钟内完成
如果我们没有订阅 Pro 版,它可能会警告我们需要高内存。如果我们不使用 v2.1 768 px 模型,则忽略警告是可以的。
需要多长时间取决于我们包含的模型数量。完成后,我们应该会看到下面的消息。

步骤 7. 点击 gradio.live 链接,输入用户名和密码
启动 AUTOMATIC1111,输入我们在笔记本中指定的用户名和密码。

步骤 8. 登录后我们应该会看到 AUTOMATIC1111 GUI
在提示文本框中输入“beautifulwoman,medium_shot,wallpaper,”然后按“生成”,我们应该会看到它生成了 4 张美女的图像。

ngrok(可选)
如果我们遇到 GUI 的显示问题,我们可以尝试使用 ngrok 而不是 Gradio 来建立公共连接。它是默认 gradio 连接的更稳定的替代方案。
我们需要设置一个免费帐户并获取一个authoken。
- 前往 https://ngrok.com/
- 创建一个帐户
- 验证邮件
- 从 https://dashboard.ngrok.com/get-started/your-authtoken 复制 authoken 并将其粘贴到笔记本中的 ngrok 字段中。
输入 ngrok authtoken 后,笔记本中的 SD 单元应如下所示。

单击左侧的播放按钮开始运行。加载完成后,我们将在单元格下的输出中看到指向 ngrok.io 的链接。单击 ngrok.io 链接启动 AUTOMATIC1111。下面示例输出中的第一个链接是 ngrok.io 链接。

当我们访问 ngrok 链接时,它应该显示如下消息

单击“访问站点”以启动 AUOTMATIC1111 GUI。有时,我们会看到一条警告消息,指出该网站访问不安全。这可能是因为有人使用相同的 ngrok 链接来发布恶意内容。由于我们是创建此链接的人,因此我们可以忽略安全警告并继续。
笔记本使用结束
使用完笔记本后,不要忘记单击右上角下拉菜单中的“断开连接并删除运行时”。否则,我们将继续消耗计算单元。

支持的运行时类型
我们可以通过单击顶部菜单中的 运行时 -> 更改运行时类型。

GPU 和 TPU
此笔记本支持以下运行时类型。
- T4 GPU(推荐)
- A100 GPU
- V100 GPU
不要使用 CPU 或 TPU。 TPU 与 SD WebUI 不兼容。
RAM
应使用高 RAM。
资源和计算单元

要查看计算资源和极短单元,请单击右上角运行时类型(例如 T4、高 RAM)旁边的向下三角符号。我们将看到剩余的计算单元和资源使用率。
六、保存在 Google Drive
小模型、图像和设置
我推荐使用这个。这是为了将小数据文件保存到 Google Drive 但下载大文件而设计的。所以我们的 Google Drive 存储空间不会被 SD 耗尽。

我们选择 Small models, images and settings 选项。以下内容会保存在我们的 Google 云端硬盘中。
- 所有生成的图像
- 图形用户界面设置
- 最后生成的图像中使用的提示和参数
- Embeddings 嵌入(路径:AI_PICS/embeddings)
- Lora 模型(路径:AI_PICS/Lora)
- Upscalers 升级器(路径:AI_PICS/ESRGAN)
- Hypernetworks 超网络(路径:AI_PICS/hypernetworks)

下次运行笔记本时,以上所有内容都将可用。
此选项不会在我们的 Google 云端硬盘中保存任何模型。但它会加载我们放入 AI_PICS/models 中的所有模型。
我们只需将我们经常使用但不在 Notebook 的型号列表中的型号放入 AI_PICS/models 中即可。由于模型文件很大(2 到 7 GB),因此我们不希望在 Google 云端硬盘中放入太多模型文件。 (Google Drive的免费存储空间只有15 GB)
安装 LoRA
LoRA 模型是可应用于模型检查点的小补丁。它们的大小很小,通常在 3-200 MB 之间,因此方便存储,它们是模型的替代品。
要安装 LoRA 模型,请将模型拖放到文件资源管理器面板中的目录 stable-diffusion-webui > models > Lora 中。

Lora 模型文件夹
如果选择 Use_Google_Drive,LoRA 模型将保存到我们的 Google Drive 下的 AI_PICS > Lora 下。如果我们选择相同的选项,下次可以重复使用该模型。
或者,如果我们使用 Google Drive 选项,则可以将 Lora 模型放入 Google Drive 的 AI_PICS > Lora 中。这样上传速度更快。
安装 Embeddings
Embeddings 嵌入是用于修改样式或注入对象的轻量级文件。要安装嵌入,请将文件拖放到 stable-diffusion-webui > embeddings 。

每当我们切换模型时,嵌入都会重新加载。我们将在 Colab 的日志消息中收到确认信息。

安装 Upscalers
我们可以在 Google 云端硬盘中使用升级程序。只需将它们放入 Google 云端硬盘的 AI_PICS > ESRGAN 文件夹中即可。下次当我们使用 Use_Google_Drive 选项启动笔记本时可以直接使用。
AI_PICS > ESRGAN
使用 Google 云端硬盘中的模型
我们可以使用 Google 云端硬盘中的模型。我们必须将模型放置在以下默认位置。
AI_PICS/models
该文件夹中的所有模型都将在启动期间加载。
安装 hypernetworks
要安装超网络,请将它们放在以下位置
AI_PICS/hypernetworks
保存在 Google 云端硬盘 – Everything

此选项将整个 Stable Diffusion Webui 文件夹保存在我们的 Google 云端硬盘中。默认位置是 AI_PIC > stable-diffusion-webui。安装模型和其他的方式没有什么不同。下面是文件夹路径:
- 模型:AI_PICS/stable-diffusion-webui/models/Stable-diffusion
- Embeddings 嵌入(路径:AI_PICS/embeddings)
- Lora 模型(路径:AI_PICS/Lora)
- Upscalers 升级器(路径:AI_PICS/ESRGAN)
- Hypernetworks 超网络(路径:AI_PICS/hypernetworks)
七、从 URL 安装模型
我们可以使用 Model_from_URL 字段从 URL 安装模型。目前,我们只能安装 V1 模型。

在 Google 云端硬盘中保存副本

我们可以选择使用 Save_a_copy_in_Google_Drive 在 Google 云端硬盘中保存模型的副本。它们将保存在模型加载位置。 AI_PICS/models 。
下次启动笔记本时,我们在 Google Drive 中保存的模型将自动加载。
仅当我们使用推荐的设置时才使用此选项:在 Google 云端硬盘中保存小模型和图像。
从 HuggingFace 安装模型
下面是从 HuggingFace 安装 DreamShaper 的示例输入
https://huggingface.co/Lykon/DreamShaper/resolve/main/Dreamshaper_3.32_baked_vae_clip_fix_half.ckpt
(此模型更新频繁,链接可能不正确)
从 Civita 安装模型
我们需要复制用于下载模型的 URL 链接。不要使用模型页面的 URL。
要复制下载链接,请右键单击“下载”按钮,然后选择“复制链接地址”。

SD 模型下载器
一般来讲我们下载模型时非常复杂的,需要先从模型网站下载到本地再上传云盘,那为什么不一次性到位呢?于是乎,我根据前面下载模型的代码改写了一个 SD 模型下载器。任何时候都可以下载模型。

# 使用apt命令安装aria2下载工具
!apt install aria2
# 导入google.colab库的drive模块,用于在Google Colab环境中挂载Google Drive
from google.colab import drive
# 挂载Google Drive到'/content/drive'路径
drive.mount('/content/drive')
# 定义一个名为downloadModel的函数,该函数接受一个名为url的参数
def downloadModel(url):
# 检查url中是否包含'huggingface.co'
if 'huggingface.co' in url:
# 从url中获取文件名
filename = url.split('/')[-1]
# 使用aria2c工具下载文件,指定参数并设置输出文件名
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M {url} -o {filename}
else:
# 如果url中不包含'huggingface.co',则假定为civitai的链接,并使用aria2c工具下载文件
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M {url}
# 定义一个名为download_models的函数,该函数接受两个参数:url和types,其中types的默认值为"models"
def download_models(url, types="models"):
# 检查types参数是否为'lora'
if types == 'lora':
# 如果是'lora',则切换当前目录到'/content/drive/MyDrive/AI_PICS/Lora'
%cd /content/drive/MyDrive/AI_PICS/Lora
else:
# 如果不是'lora',则切换当前目录到'/content/drive/MyDrive/AI_PICS/models'
%cd /content/drive/MyDrive/AI_PICS/models
# 输出下载模型的进度提示
print('⏳ Downloading models ...')
# 调用downloadModel函数,传入url参数,开始下载模型
downloadModel(url)
url = 'https://civitai.com/api/download/models/171904'
download_models(url,'lora')
从 C 站获取到下载链接,替换掉单元格中的链接,直接就会下载到我们的谷歌云端硬盘中。
根据我们的选择,Lora 模型会下载到对应的 /AI_PICS/Lora 文件夹,Checkpoint 模型则会下载到 /AI_PICS/models 文件夹。

这个链接是 Lora 文件,我指定类型后自动下载到了 Lora 文件夹里面。

八、从 URL 安装扩展
我们可以使用此字段安装任意数量的扩展。我们将需要扩展的 Github 页面的 URL。
例如,如果要安装 Civita 模型扩展,请输入以下内容。
我们还可以安装多个扩展。 URL 需要用逗号分隔。例如,以下 URL 安装提示词插件,汉化插件和反推插件。

但是反推插件没有起作用,估计是 1.6.0 版本还没兼容。
九、webui 的额外参数
我们可以使用 Extra_arguments 字段向 Web-UI 添加额外的参数。

例如,如果我们使用 lycoris 扩展,则可以方便地使用额外的 webui 参数 --lyco-dir 在 Google 云端硬盘中指定自定义 lycoris 模型目录。
其他有用的参数是
- --api 允许 API 访问。对于某些应用程序很有用,例如 PhotoShop AUTOMATIC1111 插件。
十、此笔记本可供选择安装的插件

ControlNet
ControlNet 插件可以复制输入图像的构图和姿势等。 ControlNet 在 SD 社区中掀起了一场风暴,因为我们可以用它做很多事情。
比如之前做过的光影文字图就主要是用 Controlnet 实现的:


Openpose 编辑器
Openpose 编辑器插件可让我们编辑 openpose 控制图像。它对于使用 ControlNet 操纵图像生成的姿势非常有用。它与 ControlNet 一起使用。
Deforum – 使用 SD 制作视频
我们可以使用 Deforum 插件制作带有文本提示的视频。

Regional_Prompter 区域提示器
区域提示器插件允许我们对图像的不同区域使用不同的提示词。它是一个非常有价值的插件,用于控制对象的构图和放置位置。

a man and a woman, a man with black hair
BREAK
a man and a woman, a woman with blonde hair
一个男人和一个女人,一个有黑色头发的男人
BREAK
一个男人和一个女人,一个有金色头发的女人

After Detailer
After Detailer 插件会在我们生成图像时自动修复脸部和手部。


原始图像脸是崩的

启用 After Detailer 后脸被修复了
AnimateDiff
AnimateDiff 插件允许我们根据文本提示词创建短视频。我们可以使用任何 SD 模型和 LoRA。


text2video 文字转视频
Text2video 允许我们使用名为 Modelscope 的模型根据文本提示创建短视频。


十一、最后的话
总而言之,Google Colab Pro 在我看来是使用 SD 的最佳选择。它只需要 10 美元,就可以获得稳定的 GPU 计算资源,灵活方便地使用 SD 软件和模型,完全不受限制。
Colab 最大的优势在于可以无缝连接谷歌云端硬盘,可以长期保存生成的图片、Lora 模型和其他模型,省去每次运行前等待下载的时间。安装扩展和模型也极为方便,只需复制链接即可高速下载到云盘指定位置。
此外,今天介绍的这个笔记本中安装各种插件也是灵活可控自由选择,每次根据不同选择来添加,文字转视频、细节修复等。我们甚至可以选择不同的 GPU 类型来获得更强大的计算能力。
相比其他云平台,Colab Pro 的可定制性更强,使用更为灵活方便。如果你想高效便捷地进行云端 SD 跑图,我认为 Colab Pro 将是最佳之选。