约束和注意事项 - Amazon SageMaker

约束和注意事项

请查看以下约束,确保您的笔记本作业成功完成。Studio 使用 Papermill 来运行笔记本。您可能需要更新 Jupyter 笔记本以符合 Papermill 的要求。LCC 脚本内容以及需要了解的有关 VPC 配置的重要细节也存在限制。

JupyterLab 版本

支持 JupyterLab 3.0 及以上版本。

安装需要重启内核的软件包

Papermill 不支持调用 pip install 来安装需要重启内核的软件包。在这种情况下,请在初始化脚本中使用 pip install。对于不需要重启内核的软件包安装,您仍可在笔记本中包含 pip install

在 Jupyter 中注册的内核和语言名称

Papermill 为特定内核和语言注册了一个转换器。如果您自带实例 (BYOI),请使用标准内核名称,如以下代码片段所示:

papermill_translators.register("python", PythonTranslator) papermill_translators.register("R", RTranslator) papermill_translators.register("scala", ScalaTranslator) papermill_translators.register("julia", JuliaTranslator) papermill_translators.register("matlab", MatlabTranslator) papermill_translators.register(".net-csharp", CSharpTranslator) papermill_translators.register(".net-fsharp", FSharpTranslator) papermill_translators.register(".net-powershell", PowershellTranslator) papermill_translators.register("pysparkkernel", PythonTranslator) papermill_translators.register("sparkkernel", ScalaTranslator) papermill_translators.register("sparkrkernel", RTranslator) papermill_translators.register("bash", BashTranslator)

参数和环境变量限制

参数和环境变量限制。当您创建笔记本作业时,它会收到您指定的参数和环境变量。最多可以传递 100 个参数。每个参数名称的长度最多为 256 个字符,关联值的长度最多为 2500 个字符。如果传递环境变量,则最多可以传递 28 个变量。变量名称和关联值长度最多为 512 个字符。如果需要超过 28 个环境变量,请在初始化脚本中使用其他环境变量,该脚本对于可以使用的环境变量数量没有限制。

查看作业和作业定义

查看作业和作业定义。如果您在 JupyterLab Notebook 的 Studio UI 中安排了笔记本作业,您就可以在 Studio UI 中查看笔记本作业笔记本作业定义。如果使用 SageMaker Python SDK 计划了笔记本作业,则只能查看作业--SageMaker Python SDK 笔记本作业步骤不会创建作业定义。要查看作业,还需要为笔记本作业步骤实例提供附加标记。有关详细信息,请参阅在 Studio UI 面板上查看笔记本作业

图像

您需要管理映像约束,这取决于您是在 Studio 中运行笔记本作业,还是在管道中运行 SageMaker Python SDK 笔记本作业步骤。

SageMaker 笔记本作业 (Studio) 的映像限制

映像和内核支持。启动笔记本作业的驱动程序假设以下条件:

  • 基本 Python 运行时环境安装在 Studio 或自带 (BYO) 映像中,是 Shell 中的默认运行环境。

  • 基本 Python 运行时环境包含正确配置了内核规格的 Jupyter 客户端。

  • 基本 Python 运行时环境包含 pip 函数,因此笔记本作业可以安装系统依赖项。

  • 对于具有多个环境的映像,在安装笔记本专用软件包之前,您的初始化脚本应切换到适当的内核专用环境。配置完内核 Python 运行时环境后,如果与内核运行时环境不同,应切换回默认 Python 运行时环境。

启动笔记本作业的驱动程序是一个 bash 脚本,Bash v4 必须位于 /bin/bash 下。

自带映像 (BYOI) 的根权限。您必须对自己的 Studio 映像拥有根权限,无论作为根用户还是通过 sudo 访问。如果您不是根用户,但通过 sudo 访问根权限,请使用 1000/100 作为 UID/GID

SageMaker Python SDK 笔记本作业的映像限制

笔记本作业步骤支持以下映像:

  • SageMaker Distribution Images 列于 Amazon SageMaker 映像可与 Studio Classic 一起使用

  • 基于上一列表中 SageMaker Distribution 映像的自定义映像。使用 SageMaker Distribution 映像作为基础。

  • 预装了笔记本作业依赖项的自定义映像 (BYOI)(即 sagemaker-headless-execution-driver。您的映像必须符合以下要求:

    • 该映像已预装了笔记本作业依赖项。

    • 已安装基本 Python 运行时环境,并默认为 shell 环境。

    • 基本 Python 运行时环境包含正确配置了内核规格的 Jupyter 客户端。

    • 您拥有根用户权限或 sudo 访问权限。如果您不是根用户,但通过 sudo 访问根权限,请使用 1000/100 作为 UID/GID

作业创建期间使用的 VPC 子网

如果您使用 VPC,Studio 会使用您的私有子网来创建作业。指定 1 至 5 个私有子网(以及 1 至 15 个安全组)。

如果您使用带有私有子网的 VPC,则必须选择以下选项之一,以确保笔记本作业可以连接到从属服务或资源:

服务限制

由于笔记本作业调度程序是由 Pipelines、SageMaker Training 和 Amazon EventBridge 服务构建而成的,因此您的笔记本作业会受到其特定服务配额的限制。如果超过这些配额,则可能会看到与这些服务相关的错误消息。例如,一次可以运行的管道数量以及可以为单个事件总线设置的规则数量都有限制。有关 SageMaker 配额的更多信息,请参阅 Amazon SageMaker 端点和配额。有关 EventBridge 配额的更多信息,请参阅 Amazon EventBridge 配额