新入坑的SageMaker Studio Lab和Colab、Kaggle相比,性能如何?

简介: 新入坑的SageMaker Studio Lab和Colab、Kaggle相比,性能如何?

选自benjaminwarner.dev

机器之心编译

编辑:小舟、陈萍

SageMaker Studio Lab 将是免费计算资源领域一个强有力的竞争对手。



一周前,亚马逊启动了 SageMaker Studio 的免费简化版 SageMaker Studio Lab,提供了一个时限为12小时的 CPU 实例和一个时限为 4 小时的 GPU 实例。SageMaker Studio Lab 成为继 Google Colab、Kaggle 和 Paperspace 之后的又一个免费深度学习计算空间。

Studio Lab 为用户提供了所有入门 AI 所需的基础能力,包括 JupyterLab IDE、CPU 和 GPU 模型训练算力以及 15 GB 的永久存储。

那么,SageMaker Studio Lab 如何与竞争对手抗衡?它是否值得使用?

现在一位名为 Benjamin Warner 的博主已经申请使用了 SageMaker Studio Lab,并为大家撰写了一篇博客「开箱测评」。以下是博客原文。


本文我使用图像和 NLP 分类任务,比较了在 SageMaker Studio Lab 和 Colab、Colab Pro 以及 Kaggle 上训练神经网络的效果。


与 Colab 和 Kaggle 的比较

与 Colab 和 Kaggle 一样,Studio Lab 提供 CPU 和 GPU 实例:运行时间为 12 小时的 T3.xlarge CPU 实例和运行时间为 4 小时的 G4dn.xlarge GPU 实例。比较结果如下表所示:



在测试比较中我发现:

  • SageMaker 只有持久存储,但与 Google Drive 不同的是,它的速度足以训练;
  • Colab 暂存盘因实例而异;
  • Colab 的持久存储是 Google Drive 免费分配的;
  • Colab Pro 可以分配 Tesla T4 或 Tesla K80;
  • 免费版 Colab 也可以分配 Tesla T4 或 Tesla P100;
  • Kaggle 的持久存储为每个笔记本 20GB;
  • Kaggle 有一个每周 GPU 运行时间上限,它根据总使用量而变化,每周大约 40 小时。



启动 SageMaker Studio Lab 后将获得稍有修改的 JupyterLab 实例,其中安装了一些扩展,例如 Git。

SageMaker JupyterLab 环境。


在我的测试中,SageMaker Studio Lab 的 JupyterLab 的行为与在自己系统上正常安装 JupyterLab 完全相同。甚至之前对 JupyterLab 做的修改和已安装的 python 包都还在。


例如,我能够从 Jupyterlab Awesome List 中安装 python 语言服务器和 markdown 拼写检查器。但这也带来了一个问题,即亚马逊是否会更新像 PyTorch 这样的预安装包,或者维护更新的环境是否完全依赖于用户。

亚马逊后续可能会销毁我的实例,或者将来会升级底层映像,删除自定义安装的包和扩展。但就目前而言,相比于 Colab 和 Kaggle,Studio Lab 是三者中可定制程度最高的服务。

基准


数据集和模型

我选择了两个小数据集来对 SageMaker 和 Colab 进行基准测试:Imagenette 以及 IMDB。Imagenette 数据集用于计算机视觉,Hugging Face 的 IMDB 用于 NLP。为了减少训练时间,在训练 IMDB 时,我随机抽取了 20% 的测试集。

对于计算机视觉,模型选择 XResNet 和 XSE-ResNet,即 ResNet 的 fast.ai 版本;对于 NLP,我选择 Hugging Face 实现的 RoBERTa。



训练设置

训练 Imagenette 采用 fast.ai ,其在进行数据扩充时,可以对图像进行随机调整 crop 和随机水平翻转。

训练 IMDB 采用 blurr 库,该库将 fast.ai 和 Hugging Face Transformers 集成在一起。除了向 fast.ai 添加 Transformers 训练和推理支持外,blurr 还集成了每 batch token 化和 fast.ai 文本数据加载器,后者根据序列长度对数据集进行随机排序,以最大限度地减少训练时的填充(padding)。

XSE-ResNet50 和 RoBERTa 采用单精度和混合精度训练的方式 。XSE-ResNet50 训练图像大小为 224 像素,混合精度 batch 大小为 64,单精度 batch 大小为为 32。RoBERTa 混合精度 batch 大小为 16,单精度 batch 大小为 8。

为了探索 CPU 使用极限,我还训练了一个 XResNet18 模型,图像大小为 128 像素,batch 大小为 64。

blurr 地址:https://ohmeow.github.io/blurr/


结果

当进行混合精度训练时,SageMaker Studio Lab 的 Tesla T4 优于 Google Colab 的 Tesla P100,但在训练全单精度模型时表现稍差。

XSE-ResNet50


在相似的设置下,Colab Pro High RAM 和 SageMaker 比较,XSE-ResNet50 在 SageMaker 上的总体训练速度提高了 17.4%。仅查看训练循环(training loop)时,SageMaker 比 Colab Pro 快 19.6%。SageMaker 在所有操作中都更快,但有一个明显的例外:在向后传递中,SageMaker 比 Colab Pro 慢 10.4%。

当以单精度训练 XSE-ResNet50 时,结果相反,SageMaker 的执行速度比 Colab Pro High RAM 慢 95.9%, 训练循环比 Colab Pro 慢 93.8%。

XSE-ResNet50 Imagenette 简单分析器结果


RoBERTa

混合精度训练 RoBERTa, SageMaker 进一步领先 Colab Pro,执行速度提高了 29.1%。SageMaker 在训练循环期间比 Colab Pro 快 32.1%,并且在所有操作中 SageMaker 都更快,除了在计算损失时,SageMaker 比 Colab Pro 慢 66.7%。

在单精度下,SageMaker 训练的结果再次翻转,总体上 SageMaker 比 Colab Pro 慢 72.2%。训练循环比 Colab Pro 慢 67.9%。当以单精度训练 XSE-ResNet50 时,由于向后传递和优化器步骤,SageMaker 比 Colab Pro 慢了 83.0%,而 SageMaker 执行所有其他操作的速度快了 27.7%。

奇怪的是,Colab Pro High RAM 实例的训练速度比普通 Colab Pro 实例慢,尽管前者有更多的 CPU 核和 CPU RAM 以及相同的 GPU。然而,它们之间的差异并不大。

表 3:RoBERTa 基准结果

XResNet18

对于 XResNet18 基准测试,了解绘制动作测量内容很关键。XResNet18 基准测试是从数据加载器绘制 batch 之前到开始 batch 操作之间的时间。数据加载器的 prefetch_factor 设置为默认值 2,这意味着研究者尝试在训练循环调用它们之前提前加载两个 batch。其中包括前向和后向传递、损失和优化器 step 和零梯度操作。

绘制动作越低,实例 CPU 就越能满足需求。

这里的结果符合预期,更多的 CPU 核意味着更少的绘制时间,并且在相同的核数下,较新的 CPU 的性能优于较旧的 CPU。

表 4:XResNet18 基准结果

Colab Tesla K80

由于免费 Colab 实例的 Tesla K80 的 RAM 比其他 GPU 少四分之一,因此我将混合精度 batch 大小也减少了四分之一。此外,我没有运行任何单精度测试。

我运行了两个 epoch 的 Imagenette 基准测试,并将 IMDB 数据集从 20% 的样本减少到 10% 的样本,并将训练长度减少到一个 epoch。

Colab K80 在半数 Imagenette epoch 上进行训练花费的时间大约是 Colab Pro 实例的两倍。与 Colab P100 相比,在 Colab K80 上进行等效的 IMDB 训练时间要长 3 倍。如果可能的话,应避免使用 K80 对除小型模型以外的任何其他模型进行训练。

XResNet & RoBERTa Colab K80 基准结果

总的来说,我认为 SageMaker Studio Lab 是免费计算资源领域一个强有力的竞争对手。特别是对于一直在 K80 上使用免费 Colab 和训练模型的用户来说,SageMaker Studio Lab 将给你全面的升级体验。

SageMaker Studio Lab 可以作为机器学习工作流程的有用补充和 Kaggle 或 Colab Pro 的增强版。混合精度的训练速度比 Kaggle 或 Colab Pro 快了 17.4% 到 32.1%,这意味着迭代时的等待时间更少。

此外,更快的训练速度和持久存储让 SageMaker Studio Lab 对于深度学习初学者也非常友好,因为这意味着环境只需要设置一次,让学生能够专注于学习而不是持续的包管理。

原文链接:https://benjaminwarner.dev/2021/12/08/testing-amazon-sagemaker-studio-lab


相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
4月前
|
机器学习/深度学习 开发者 异构计算
机器学习入门-Colab环境
Google Colab(Colaboratory)是一个免费的云端环境,旨在帮助开发者和研究人员轻松进行机器学习和数据科学工作。它提供了许多优势,使得编写、执行和共享代码变得更加简单和高效。Colab在云端提供了预配置的环境,可以直接开始编写代码,并且提供了免费的GPU和TPU资源,这对于训练深度学习模型等计算密集型任务非常有帮助,可以加速模型训练过程。
95 0
|
机器学习/深度学习 人工智能 Linux
AI让照片换发型,Barbershop开源项目安装使用 | 机器学习
AI让照片换发型,Barbershop开源项目安装使用 | 机器学习
AI让照片换发型,Barbershop开源项目安装使用 | 机器学习
|
3月前
|
机器学习/深度学习 存储 人工智能
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
72 3
|
5月前
|
机器学习/深度学习 SQL 分布式计算
Azure 机器学习 - Azure机器学习产品和技术介绍全览
Azure 机器学习 - Azure机器学习产品和技术介绍全览
44 0
|
12月前
|
存储 机器学习/深度学习 人工智能
新入坑的SageMaker Studio Lab和Colab、Kaggle相比,性能如何?
新入坑的SageMaker Studio Lab和Colab、Kaggle相比,性能如何?
174 0
|
12月前
|
存储 自然语言处理 物联网
训练个中文版ChatGPT,开源!
训练个中文版ChatGPT,开源!
|
12月前
|
机器学习/深度学习 人工智能 异构计算
云端炼丹,算力白嫖,基于云端GPU(Colab)使用So-vits库制作AI特朗普演唱《国际歌》
人工智能AI技术早已深入到人们生活的每一个角落,君不见AI孙燕姿的歌声此起彼伏,不绝于耳,但并不是每个人都拥有一块N卡,没有GPU的日子总是不好过的,但是没关系,山人有妙计,本次我们基于Google的Colab免费云端服务器来搭建深度学习环境,制作AI特朗普,让他高唱《国际歌》。 Colab(全名Colaboratory ),它是Google公司的一款基于云端的基础免费服务器产品,可以在B端,也就是浏览器里面编写和执行Python代码,非常方便,贴心的是,Colab可以给用户分配免费的GPU进行使用,对于没有N卡的朋友来说,这已经远远超出了业界良心的范畴,简直就是在做慈善事业。
|
12月前
|
Web App开发 机器学习/深度学习 物联网
ChatGPT平替「小羊驼」Mac可跑!2行代码单GPU,UC伯克利再发70亿参数开源模型
ChatGPT平替「小羊驼」Mac可跑!2行代码单GPU,UC伯克利再发70亿参数开源模型
305 0
|
机器学习/深度学习 算法 PyTorch
GitHub趋势榜第一:超强PyTorch目标检测库Detectron2,训练更快,支持更多任务
Detectron2是在PyTorch里从零开始写成的,团队希望这种做法,能让用户享受PyTorch做深度学习的思路。社区更活跃的话,PyTorch也会变得更好。
GitHub趋势榜第一:超强PyTorch目标检测库Detectron2,训练更快,支持更多任务
|
存储 机器学习/深度学习 人工智能
新入坑的SageMaker Studio Lab和Colab、Kaggle相比,性能如何?
新入坑的SageMaker Studio Lab和Colab、Kaggle相比,性能如何?
584 0
新入坑的SageMaker Studio Lab和Colab、Kaggle相比,性能如何?