云 GPU 服务器,怎样免费薅羊毛最舒畅? 怎样花钱租用最划算? 怎样让 GPU 夜以继日,为模型贡献所有? 在这篇文章中,我们将共同探讨云 GPU 型号如何选最合适,云 GPU 如何使用最能避免采坑。TLDR:文末了解「显卡 0 元租活动」,面向学生党发放 20 张千元代金券。
我们认为,云 GPU 服务器的使用,可以分为几个层级:
第一,Colab、Kaggle Kernel、SageMaker 这一类提供免费算力的平台,它们一般能满足简单的模型实验。
第二,在云服务商租用单独的服务器,一般单机多卡也就能满足绝大多数中型模型的训练要求了。
第三,在云服务商租用多台服务器,使用数据并行、模型并行、PipeLine 并行等方式做大规模的训练,基本超大预训练语言模型都是这种。这种训练方式不仅对 DL 框架、模型代码有要求,同时对服务器的组网、通信也有很高的要求。
本文主要讨论前两种使用情况,算法工程师接触的最多的就是它们。我们认为,要获得自己的 GPU 算力开发模型,可以先在 Colab 这类平台跑个小实验,验证模型在小数据集上能跑的通,能正常过拟合。没问题之后,再在个人云租台服务器真正将模型训练跑起来。
当然,本文除了介绍云服务器的使用经验外,还会介绍作者如何以最低的价格选择最合适的云 GPU,甚至做了张表格对比各种 GPU 在不同云服务提供商上的价格。
如何薅得一手好羊毛
老牌 Colab、Kaggle Kernel,最新上线的 SageMaker Studio Lab,还有国内 AI Studio,这些免费 GPU 计算资源用起来确实很香。尽管会有一些限制,但是跑个实验,训练个小模型还是足够的。但是,薅羊毛也是有技巧的,这一部分我们就先从它们的 GPU 资源获取难度、使用便捷性、模型训练三方面讨论它们的长与短。
1. 计算资源获取难度
Colab、SageMaker Studio Lab 和 kaggle kernel 能获取的 GPU 额度各不相同,优点是都能申请得到,缺点是只能用于做实验,别太期待能完整训练模型。
Colab(免费版):有额度上限,达到上限后需要过 24 小时可再次运行;最可能分配 K80,多试几次也能分配到 P100 和 T4;
Kaggle Kernel:每周约 30 到 40 小时额度;可以分配到 P100;
SageMaker:连续运行 4 小时,4 小时候可再次连接运行;可以分配到 T4;
这三者基本都会禁止长时间占用 GPU,kaggle 会有硬性的额度,到达额度就不能再使用了。最新的 SageMaker 不知道是否有额度上限,但是只能连续调用 T4 GPU 4 小时。Colab 最为「灵活」,虽然其单次运行不能超过 12 小时,且页面无响应超过几十分钟就自动断开,但也有一些方法规避。
比方我们可多申请几个 Gmail,每个账号都能启动 Colab,如果我们同步各个账号的 Google Drive 及保存的模型,相当于总额度就变大了。针对显卡类型,colab 可以多次重启运行时并查看 GPU,等分配到 P100 再跑模型。针对页面无响应,Chrome 等浏览器也能在 console 执行命令以定时与页面交互:
function ConnectButton(){
console.log("Connect pushed");
document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click()
}
setInterval(ConnectButton,60000);
所以,这三者的优点在于都有免费额度,但如果需要更好的体验就需要自己「折腾」。
2. 使用便捷性
这三者在使用中的体验,主要体现在模型保存是否方便,IDE 是否好用、运行环境是否完整。三者都有持久储存,要是断开,从这些存储中恢复模型即可继续训练。
Colab(免费版):15GB Google Drive,需要手动挂载
Kaggle Kernel:每个 Notebook 20GB
SageMaker:15GB 持久储存
我们感觉 IDE 和运行环境这三者差别都不大,都是 Notebook 式的编辑界面。但 SageMaker 比较有优势的地方在于当计算实例到期需要终止时,它会对当前的运行环境建立快照,下次就能直接从停下的地方继续训练。反观 Colab,其缺点在于每次计算实例停止时,所有运行环境都会丢失,下次需要重新安装环境。
此外,这三者都有额外的优势,它们正好针对不同的使用场景。所有有不同的需求,就可以使用不同的平台。
Colab(免费版):论文代码解读、快速体验、试用论文新提出的模型
Kaggle Kernel:Kaggle 挑战赛开源方案解读、通过挑战赛学 ML、建模 Kaggle 简单数据集
SageMaker:「动手学深度学习」随书范例、实验
3. 模型训练
GPU 计算力、显存这两者基本是决定模型训练体验的大头。这三个平台就提供 K80、T4 和 P100,K80 计算力当然是最差的;T4 更适合混合精度运算,尤其是模型推理;P100 应该是三者中全精度计算力最强的。
K80(11GB 显存):只能小模型,训练时间约是 P100 的三倍
P100(16GB 显存): 全精度比 T4 快 80% 左右
T4(15GB 显存):混合精度比 P100 快 20% 左右
如果要排个序,免费算力可以优先申请试用 SageMaker Studio Lab,通过验证后,模型训练体验会比免费版的 Colab 好不少。Kaggle Kernel 也可以直接用,但 GPU 额度没了,那就是真不能用了。最后,Colab 看起来是最灵活的,通过各种操作能充分利用它的免费算力,只不过麻烦了一些。
此外,总的来说,这三者都有一些共通的缺点,难以通过 VScode 之类的 IDE 远程连接、难以 Debug、难以保证模型训练的连续性、难以训练更大的模型等等。如果读者们也有类似的想法,在薅羊毛的时候感觉如鲠在喉,甚至为 Colab 付费升级账号还经常被恶心到,欢迎了解一种站着薅羊毛的新姿势。
一张表格,租最便宜的服务器
现在,该聊一聊怎样租 GPU 服务器最便宜了。当然,本文都是针对个人的,如果是企业的话,在阿里云等大厂上长租是比较稳定与划算的。但是对个人,尤其是学生来说,在大厂上租会比较贵,远不如个人云服务提供商便宜。
本文找了 8 家个人云服务提供商,分析了它们的价格以及各种优惠策略,最后做出了一张简单的 GPU 服务器租用价格表。其中表中数值为每小时 GPU 的花费,按量计费方式,计算实例启动即计费,关闭即停止计费。表中标红表示同类型 GPU 费用最贵,标绿表示同类型 GPU 费用最低。
部分厂商有充值返券机制,详询各官网及客服。学生优惠政策信息统计于2021年12月29日,价格信息统计于2021年12月30日,校对于2021年12月30日 上午11:00。美元-人民币汇率换算为1:6.368"
以上只列出了按量付费的 GPU,如果是按月租用,平均下来,每小时的费用还能便打个 5 到 7 折。不过按月租用也有问题,如果 GPU 空在那,那也是要费用的。
看起来,AutoDL 应该是最便宜的了,各种显卡都有,且价格低。从网站上看,好像还有很多优惠活动,我们注册账号后就发了张 10 元抵用券,可以先用它试试租 GPU。本着不用白不用的心态,我们准备先租一台试试效果。过程和其它云服务商的租用流程差不多:选择计算实例、开机、远程连接。
我们试用的时候简单选了 Titan Xp,毕竟十块钱够使用接近 20 个小时了。在启动计算实例的时候,我们发现一些有意思的点,它似乎专门为深度学习训练定制了一些功能。例如默认安装了 conda、PyTorch GPU 训练环境等,提供了额外的网盘,可以不开实例的情况上传数据,等传完数据再启动实例,就能直接看到上传的数据,直接启动训练了。
要是启动计算实例了,这里介绍几个省钱小 Trick:
无卡模式。在调试代码或者上传下载数据时,使用无卡模式(仅在主机上开启一个含 1 个 CPU 线程和 1GB 内存的容器,不申请 GPU,但是数据不受影响)
合理使用升降配置功能。在小规模测试代码前先使用单卡 GPU,在需要加速训练速度时升配 GPU 数量,在测试模型时降配 GPU 数量
合理利用实例迁移功能。先使用便宜的 GPU 型号调试(比如 0.52 / 小时的 TITAN Xp),然后迁移到更高性能的 GPU 上进行加速训练。
及时关机。不确定自己的代码需要训练多久可以关机,则可以通过 os.system(“shutdown”)命令来自动关机,及时结束计费。
训练速度不及预期时,可以查看帮助文档,诊断性能瓶颈在内存、CPU、还是固态。AutoDL 中的主机有从 E5 2620v4 到 AMD EPYC 7763 的丰富可选 CPU 型号,多核心和高主频需求都可以被满足。
针对数据和带宽焦虑,AutoDL 在南京新手区提供了移动硬盘邮寄服务,只要用户认为有必要,可以直接将训练数据存储在移动硬盘里邮寄到机房,运维同学会物理挂载,而且该服务免费;此外内蒙 A 区还将在 2022 年第一季度率先升级五线 BGP,接入 ipv6 教育专网,数据上传 100MB/s 不是梦。
如上启动实例后,可以用我们习惯的 IDE 远程连接服务器,自带的 PyTorch 环境也能直接跑起来。我们用起来确实挺好用的,主要是特别便宜,因此如果你在找个人云,对比其它个人云服务提供方的价格和体验后,我们推荐 AutoDL。
此外,AutoDL 针对学生会有更多的优化,如果认证学生身份,那么就能更简单的获取会员资格。简单而言,会员主要分为炼丹会员 1、2、3 级,分别打 9、7,6.5 折,学生的话充 100 就能获得炼丹会员三级,Titan Xp 都能用近 200 个小时了。
AutoDL 逢年过节也会做优惠活动,在元旦期间会有「显卡 0 元租活动」,活动期间所有 GPU 都能免费使用(点击阅读原文 AutoDL 官网,了解活动详情)。此外还有每月 15 号的 bilibili 定制版 RTX 3060 抽奖活动、发论文送代金券活动、以及不定期的充值返券活动。
最后是给机器之心读者的福利!
我们向 AutoDL 申请到了总金额 20 万元代金券,其中 2 万元代金券将于近期送出,每张 1000 元,剩余金额会陆续在 2022 年不定期送出。在校读者可以直接用它充当现金,在 AutoDL 上租用 GPU 服务器。
参与方式:扫码填写表单领取 1000 元代金券,代金券共 20 张,先到先得。
代金券通过邮箱发送,本次活动是面向学生党的福利,为防止挖矿黑产,请填写学校邮箱,非学校邮箱无效。
© THE END
转载请联系本公众号获得授权
投稿或寻求报道:content@jiqizhixin.com