Press "Enter" to skip to content

SageMakerDistribution 现在可以在Amazon SageMaker Studio上使用

SageMaker Distribution是一个预构建的Docker镜像,包含许多流行的机器学习(ML)、数据科学和数据可视化的软件包。其中包括PyTorch、TensorFlow和Keras等深度学习框架;NumPy、scikit-learn和pandas等常用Python软件包;以及JupyterLab等集成开发环境。除此之外,SageMaker Distribution还支持conda、micromamba和pip作为Python包管理器。

2023年5月,我们在JupyterCon上启动了SageMaker Distribution作为一个开源项目。这个启动使您能够在本地环境中使用SageMaker Distribution来运行实验。现在,我们将这个镜像原生地提供在Amazon SageMaker Studio中,以便您获得在Amazon SageMaker上运行实验的高性能、计算和安全性的好处。

与之前的开源启动相比,您还有以下额外的功能:

  • 开源镜像现在作为SageMaker Studio的第一方镜像可用。现在,您可以在选择图像和内核以用于您的笔记本时,直接从列表中选择开源的SageMaker Distribution,而无需创建自定义镜像。
  • SageMaker Python SDK包现在与镜像内置。

在本文中,我们将展示使用SageMaker Distribution镜像的特点和优势。

在SageMaker Studio中使用SageMaker Distribution

如果您可以访问现有的Studio域,您可以启动SageMaker Studio。要创建一个Studio域,请按照Onboard to Amazon SageMaker Domain中的说明进行操作。

  1. 在SageMaker Studio的用户界面中,选择菜单栏中的文件,选择新建,然后选择笔记本
  2. 在提示选择图像和实例时,选择SageMaker Distribution v0 CPUSageMaker Distribution v0 GPU图像。
  3. 选择您的内核,然后选择选择

SageMakerDistribution 现在可以在Amazon SageMaker Studio上使用 四海 第1张

现在,您可以开始运行命令,而无需安装常用的ML软件包和框架!您还可以运行在支持的框架(如PyTorch和TensorFlow)上运行的笔记本,而无需切换活动内核。

使用SageMaker Distribution远程运行代码

在公测的公告中,我们讨论了将笔记本从本地计算环境升级到SageMaker Studio,并使用笔记本作业将笔记本运行。

此外,您只需将@remote装饰器添加到您的函数中,即可将本地笔记本代码直接作为SageMaker训练作业运行。

让我们试一个例子。将以下代码添加到在SageMaker Distribution镜像上运行的Studio笔记本中:

from sagemaker.remote_function import remote

@remote(instance_type="ml.m5.xlarge", dependencies='./requirements.txt')
def divide(x, y):
    return x / y

divide(2, 3.0)

当您运行该单元格时,该函数将作为远程SageMaker训练作业在ml.m5.xlarge笔记本上运行,SDK会自动选择SageMaker Distribution镜像作为Amazon Elastic Container Registry(Amazon ECR)中的训练镜像。对于深度学习工作负载,您还可以在多个并行实例上运行脚本。

在其他地方重现SageMaker Distribution的Conda环境

SageMaker Distribution作为一个公共Docker镜像可用。然而,对于更熟悉Conda环境而不是Docker的数据科学家,GitHub存储库还提供了每个镜像构建的环境文件,以便您可以为CPU和GPU版本构建Conda环境。

每个版本的构建文件存储在sagemaker-distribution/build_artifacts目录下。要创建与任何可用的SageMaker Distribution版本相同的环境,请运行以下命令,将--file参数替换为正确的环境文件:

conda create --name conda-sagemaker-distribution \
  --file sagemaker-distribution/build_artifacts/v0/v0.2/v0.2.1/cpu.env.out
# 激活环境
conda activate conda-sagemaker-distribution

自定义开源SageMaker Distribution镜像

开源SageMaker Distribution镜像包含了数据科学和机器学习中最常用的软件包。然而,数据科学家可能需要访问额外的软件包,企业客户可能拥有提供额外功能的专有软件包。在这种情况下,有多种选项可以创建一个包含所需软件包的运行时环境。按照复杂程度的递增顺序,它们列举如下:

  • 您可以直接在笔记本上安装软件包。我们推荐使用Conda和micromamba,但pip也可以使用。
  • 熟悉Conda软件包管理的数据科学家可以在其他地方复制SageMaker Distribution的Conda环境,并在该环境中安装和管理额外的软件包。
  • 如果管理员想要为用户创建可重复和受控的运行时环境,他们可以扩展SageMaker Distribution的Docker镜像并维护自己的镜像。请参阅“自定义SageMaker镜像”以获取有关在Studio中创建和使用自定义镜像的详细说明。

清理

如果您在SageMaker Studio中进行了实验,请关闭所有Studio应用程序以避免支付未使用的计算资源。请参阅“关闭和更新Studio应用程序”获取说明。

结论

今天,我们宣布在SageMaker Studio中推出了开源SageMaker Distribution镜像。我们向您展示了如何在SageMaker Studio中使用该镜像作为可用的第一方镜像,如何使用SageMaker Python SDK的@remote装饰器将脚本运行操作化,如何在SageMaker Distribution之外的地方复制Conda环境,并如何自定义镜像。我们鼓励您尝试使用SageMaker Distribution,并通过GitHub分享您的反馈!

附加参考资料

  • SageMaker-distribution文档
  • AWS在2023年JupyterCon上的贡献
  • 在SageMaker Studio上入门
Leave a Reply

Your email address will not be published. Required fields are marked *