对于很多对 AI 技术感兴趣的小伙伴来说,算力资源是挡在面前的第一道门槛。
幸而,我们有了 AutoDL。
AutoDL的目标是为用户提供稳定可靠、价格公道的GPU算力,让GPU不再是您成为数据科学家道路上的拦路石。
数个月的使用当中,AutoDL 使我的的 AI 研究过程相当的愉悦。在提高效率和省钱方面,我也整理了一些心得。
无卡模式 #
”就凭这个模式,AutoDL 已经配享太庙了。“
众所周知,机器学习最耗时的并不是训练过程,而是环境和数据的准备。尤其是国内网络环境下,依赖包、数据集的下载,可谓时间黑洞。让我们昂贵的 GPU ,等着我们的网络龟速搬数据,那我们的钱包可等不起。
后文我们再说下载加速,此处我们单表这个无卡模式。
所谓无卡模式,即在不占用 GPU 资源的状态下开机,此时我们的花费降低至 ¥0.1/小时!!我们可以在该模式下完成环境搭建、依赖安装、数据集下载,而毫无金钱压力。等环境、数据、代码全部都准备好了,我们再以 GPU 模式开机,脚本一跑,训练工作便无缝地开始了。

如图所示,在关机状态下,更多下拉框中,即可看到「无卡模式开机」选项。
定时关机 #
垂死病中惊坐,你的实例没关机!!😱💭
”别开玩笑,我设定了定时关机。“ 🤗

通过控制台,我们可以很方便地设定定时关机。当然,这只是一个保底策略,确保我们不会因为忘了关机,而最终收到一张欠费账单。
另一个常见情况是,我们希望在程序执行完毕后关机。这种情况下我们可以使用 shutdown 命令。
# 假设您的程序原执行命令为
python train.py
# 那么可以在您的程序后跟上shutdown命令
python train.py; /usr/bin/shutdown # 用;拼接意味着前边的指令不管执行成功与否,都会执行shutdown命令
python train.py && /usr/bin/shutdown # 用&&拼接表示前边的命令执行成功后才会执行shutdown。请根据自己的需要选择或者我们可以直接在 python 中调用 shutdown.
import os
if __name__ == "__main__":
# xxxxxx
os.system("/usr/bin/shutdown")小程序控制台 #
垂死病中惊坐,你的实例没关机!!😱💭
“而且你也没有设定时关机!” 😱💬
掏出手机,搞定。 🤗

使用 AutoDL 微信小程序,无需打开电脑,即可完成实例开关机操作。
订阅GPU通知 #
”客官,你的 GPU 来啦!“

如果你想要的 GPU 资源不足,无需盯着屏幕苦苦等待。订阅一下 GPU,可以先去水一下啦。资源到位了,自然会通过微信通知你。
社区镜像 #
”不用装依赖啦,环境我们都已经给你搭好了,啥环境都有啊。“

AutoDL 不仅是一个算力平台,还是一个镜像平台。
在 AutoDL 的镜像社区(https://www.codewithgpu.com/image)里,有上千个深度学习的 docker 镜像,StableDiffusion、Flux、SoVITS、ComfyUI 应有尽有。创建实例时直接选用。甚至已有实例也可以直接切换镜像。真正做到了开箱即用。装依赖、搭环境的整套流程都不需要我们操心啦。
同时,我们也可以创建自己的镜像,以更好地适配特定需求。

保存的过程也很简单,甚至都不需要我们进行 docker 操作。AutoDL 控制台提供了一键保存功能,只需要鼠标一点就行了。
实例克隆 #

有时,我们当前主机没有足够的空闲 GPU 资源,当我们在同地区租用其他主机时,无需在新机器上重新安装环境。我们只需要使用实例克隆功能,即可将原主机的系统盘和数据盘快速克隆到新的主机上。免去了重新安装环境的烦恼,高效又方便。克隆后,原主机上的数据不会被删除,在新主机上的操作也不会对原主机产生影响。有时我们想要在同样环境的多台主机上进行不同参数的对照实验,也可以使用此功能。
跨实例拷贝数据 #

相比于实例克隆,跨实例拷贝数据提供了更灵活的数据拷贝功能。如图所示,我们可以将当前实例下的指定路径拷贝到目标实例当中。
文件存储 #
如果我们的数据非常通用,在多个实例当中都需要用到,那么我们可以将其存放到文件存储当中。文件存储作为一种网络共享存储,可以挂载到同一地区的不同实例当中,实现同一份数据在实例间共享。

在控制台的文件存储界面,选定目标地区后,点击初始化文件存储。初始化完成后,该文件存储将会挂载至该地区实例的 /root/autodl-fs 路径。
huggingface/github 加速 #
针对 huggingface 下载慢的问题,国内的 hf-mirror 镜像(https://hf-mirror.com/)提供的配套方案已经非常成熟。
我一般是通过设置环境变量:
export HF_ENDPOINT=https://hf-mirror.com当然,也可以使用其开发的下载工具 hfd.
github 加速的话,我一般是用这个项目 https://github.com/ineo6/hosts 提供的 hosts, 更新及时,速率稳定。
huggingface 缓存到数据盘 #
默认情况下,huggingface 在下载的时候,会将数据缓存在 ~/.cache/huggingface 也就是主机的系统盘。AI model 一般都很大,这会导致我们的数据盘很快就被占满。
我们可以通过设置 HF_HOME 环境变量将缓存路径设置到数据盘。
export HF_HOME=/root/autodl-tmp/.cache/huggingface或者我们也可以通过 --local-dir 来指定本次下载路径。
huggingface-cli download adept/fuyu-8b --cache-dir ./path/to/cache自定义服务 #

有时我们想要在云主机中启动 ComfyUI 等 web 服务,AutoDL 为我们准备好了 6006 端口作为开放端口。只需要在控制台中启用该实例的自定义服务功能即可。