❶ Colab Pro+每月50刀的会员值不值有人做了个开箱测评
机器之心报道
编辑:陈萍、小舟
对于没有 GPU 的小伙伴们来说,谷歌 Colab 是一个公认的“真香”神器,穷苦学生党也能免费薅羊毛。
不过,使用的人多了,难免会出现不如意的情况,几个小时就掉一次线、分配的 RAM 不足等问题随之而来。然后 Colab 开启了会员机制。
就在前几天 Colab 搞了个会员 Colab Pro+,每月 50 刀、训练 24 小时不掉线。除了这种堪称至尊会员 Pro + 外,还有每月差不多 10 美元的 Colab Pro 超级会员。
据了解,Pro + 最大的特点是“后台执行”,关了浏览器还能运行那种。此外,Pro + 版的 GPU、内存和运行时长也将全面升级。
Pro + 究竟升级了什么,谷歌在“常见问题解答”里写得非常清楚。总结一下就是:
50 刀的价格属实不菲,入手之前不如先看看别人怎么说。一位名叫 Martin Henze 的开发者最近充了 Colab Pro + 会员,我们来看看 ta 的“开箱测评”。
事情是这样的,Martin Henze 参加了 Kaggle 的比赛,用的是自己的笔记本电脑,对于小模型和小图像来说自己的电脑也够用,但要想在排行榜上打榜升级,就必须扩大模型和数据规模,这样一来,电脑完全 hold 不住了。在 GPU 不够用的情况下,Henze 决定使用 Google Colab 付费选项来解决。
Henze 表示自己以前只使用过免费版的 Colab,现在发现还有 2 个付费版:Colab Pro 和 Colab Pro+。与 Pro 相比,Pro+ 版本宣传“优先访问更快的 GPU”。这么看来 Pro + 多了一个优先级,Pro 用户接下来的使用体验可能就没那么丝滑了。因此 Henze 萌生了测试 Pro + 的想法。
Henze 写了一篇博客来介绍自己在 Colab Pro+ 中发现的功能,以及在 Kaggle 比赛中使用 Colab 的最佳方法。此外,文章最后还介绍了 Colab 的可替代方案。
Colab Pro + 的特性
至于 Colab 的 TPU 运行时以及并发 CPU 会话的数量,Henze 还没进行测试。
一方面有优势,与免费的 Colab 和 Kaggle 资源相比,Pro + 用户能享受更高的连接稳定性,即使关闭计算机或浏览器标签页后,程序也能继续执行,上限是 24 小时。另一方面也有一些限制,例如在时间紧迫的情裂中况下,一次只能进行 1 个会话,或者使用较慢的 P100 进行 2 个会话。
另外请注意,Colab FAQ 指出:为了防止有限的资源被少数用户垄断,Colab Pro 和 Pro + 中的资源优先考虑最近使用资源较少的用户。因此,用户似乎不太可能在一个月的时间里全天候使用 V100 GPU。对于这一点,作者也打算进行更多的实验,也许会遇到这个限制。
将 Kaggle Notebook 移到 Colab 上
如果你在一周内已经超出了可以使用的(相当多的)Kaggle 资源,或者在短时间内需要更多的资源,将 Kaggle Notebook 移到 Colab 将是一个很好的选择,在 Colab 上可以继续训练和实验。但这一过程并不容易,需要面临两个挑战:获取数据、设置 notebook 环境。此外,Colab 放弃了许唤胡多标准的 Jupyter 快捷键,这种做法会增加用户的工作量。
在 数据导入 Colab 方面:目前最好和最快的方法是通过 GCS_DS_PATH 复制数据,即谷歌云存储路径。自 2017 年 Kaggle 被谷歌收购以来,其框架已被大量集成到谷歌的云环境中。Kaggle 数据集和比赛数据都有云存储地址,可以从那里将数据转移到 Colab 上。
你可以通过在 Kaggle Notebook 中运行以下代和源拦码来获得 GCS_DS_PATH。将 seti-breakthrough-listen 替换为你自己的比赛(competition)或数据集的名称:
在 Colab 中,你可以使用 gsutil 工具复制数据集,甚至是单个文件夹,就像这样:
这比从 Google Drive 复制或通过 Kaggle API 下载来检索数据的速度要快得多。当然,获取数据也受到 24 小时运行时的限制。需要注意的是,会话断开后数据就丢失了,需要在新的会话中重新设置。
在会话中创建的文件(例如经过训练的模型权重或提交文件)或用户安装的自定义库,也要受到类似的限制。Colab 安装了常用的 Python 和深度学习工具,但都是旧版本。用户可以通过 pip 进行更新:
需要注意两件事:安装后需要重新启动才能导入新库。不用担心,重启后数据仍然存在,但你需要确保留出足够的磁盘空间来安装。
将输出保存在 Drive 上:最后要确保将实验结果(经过训练的权重、提交文件等)复制到 Google Drive 账户,以确保在运行时断开连接却不会丢失它们。当然你也可以手动下载,但自动复制相对更可靠。
可以像这样在 Colab notebook 中使用 Drive:
然后复制文件,例如通过 Python 中的 os.system。
可供选择的其他云 GPU
除了 Colab 及其付费版以外,还有其他的云 GPU 替代方案,或许它们可以提供更多的性能(也许能用上 A100),或许是更便宜、使用更灵活。除了大家所熟知的 GCP 和 AWS,还包括以下:
Paperspace Gradient :G1 使用费用为每月 8 美元,并提供 GPU 和 6 小时运行时限制的免费版。除此之外,每小时花费 2.30 美元可以运行 V100。此外,G1 还能提供 200GB 的存储空间和 5 个并行运行的 notebook。
JarvisCloud :每小时 2.4 美元可使用 A100 GPU 。此外,JarvisCloud 还提供最新的 Pytorch、FastAI、Tensorflow 作为预安装框架。存储高达 500GB,每小时最高 7 美分。
Vast.ai :是一个出租 GPU 的平台。你可以在此访问 GCP、AWS 和 Paperspace 资源。不过价格差异很大,但有些看起来比具有相似可靠性的大公司便宜得多。
OracleCloud :每小时支付约 3 美元可运行 V100,与 AWS 相当。此外, A100 也即将投入使用。
OHVcloud :一家以价格优惠而闻名的法国供应商。每小时支付 1.7 美元就可以使用 1 块 V100,并提供 400GB 的存储空间。
当前市面上有很多云 GPU 选择,也许在这种良性竞争下,我们会看到价格的合理调整。
参考链接:https://heads0rtai1s.github.io/2021/08/24/colab-plus-kaggle-cloud-gpu/
❷ Google Colab平台使用
Colab全称Colaboratory,是Google提供的一个Jupyter Notebook式的交互环境,在云端运行,提供 免费 的GPU资源,用户可以直接使用。并且创建的Notebook存滑仔明储在云端硬盘中,可以方便与他人共享。
Colab使用教程
有个小tip需要注意,当使用命令 !cd mydir 切换当前目录时,具有一定的时效性,仅对戚察当前行信告起作用;而采用命令 %cd mydir 切换目录才具有持久性,即停留在 mydir 目录下。