Jupyter notebook 因其交互处理数据、构建 ML 模型以及通过对数据进行推理来测试这些模型的能力而受到数据科学家的高度青睐。 但是,在某些情况下,数据科学家可能更愿意从笔记本上的交互式开发过渡到批处理作业。 此类用例的示例包括扩展先前在小型笔记本实例上的小型样本数据集上测试过的特征工程作业、运行夜间报告以深入了解业务指标,以及在新数据可用时按计划重新训练 ML 模型。
从笔记本上的交互式开发迁移到批处理作业需要您将代码片段从笔记本复制到脚本中,将脚本及其所有依赖项打包到容器中,并安排容器运行。 要按计划重复运行此作业,您必须设置、配置和监督云基础设施以实现部署自动化,从而导致宝贵的时间从核心数据科学开发活动中分流。
为了帮助简化从交互式笔记本转移到批处理作业的过程,2022 年 XNUMX 月, 亚马逊SageMaker Studio 和 工作室实验室 引入了使用基于笔记本的工作流将笔记本作为计划作业运行的功能。 您现在可以使用相同的功能从任何 JupyterLab 环境运行您的 Jupyter 笔记本,例如 亚马逊SageMaker 在本地计算机上运行的笔记本实例和 JupyterLab。 SageMaker 提供了一个开源扩展,可以安装在任何 JupyterLab 环境中,并用于将笔记本作为临时作业按计划运行。
在本文中,我们将向您展示如何从本地 JupyterLab 环境运行笔记本作为 SageMaker 上的计划笔记本作业。
解决方案概述
下图显示了从任何 JupyterLab 环境安排笔记本作业的解决方案架构。 SageMaker 扩展期望 JupyterLab 环境具有有效的 AWS 凭证和权限来安排笔记本作业。 我们讨论设置凭据的步骤和 AWS身份和访问管理 (IAM) 权限在本文后面。 除了 IAM 用户和代入角色会话调度作业外,您还需要为笔记本作业实例提供角色以代入以访问您的数据 亚马逊简单存储服务 (Amazon S3) 或连接到 亚马逊电子病历 根据需要集群。
在以下部分中,我们将展示如何设置架构和安装开源扩展、使用默认配置运行笔记本,以及使用高级参数运行具有自定义设置的笔记本。
先决条件
对于这篇文章,我们假设一个本地托管的 JupyterLab 环境。 对于云中托管的环境,您也可以遵循相同的安装步骤。
以下步骤假定您已经拥有有效的 Python 3 和 JupyterLab 环境(此扩展适用于 JupyterLab v3.0 或更高版本)。
安装 AWS命令行界面 (AWS CLI) 如果您尚未安装它。 看 安装或更新最新版本的 AWS CLI 作为指示。
设置 IAM 凭证
您需要 IAM 用户或活动的 IAM 角色会话才能提交 SageMaker notebook 作业。 要设置您的 IAM 凭证,您可以使用您的 IAM 用户的 AWS 凭证配置 AWS CLI,或承担一个 IAM 角色。 有关设置凭据的说明,请参阅 配置AWS CLI. IAM 委托人(用户或代入角色)需要以下权限才能安排笔记本作业。 要将策略添加到您的委托人,请参阅 添加 IAM 身份权限.
如果您的笔记本作业需要使用客户管理的方式进行加密 AWS密钥管理服务 (AWS KMS) 密钥,添加允许 AWS KMS 访问的策略语句。 有关示例策略,请参阅 为本地 Jupyter 环境安装策略和权限.
为笔记本作业实例设置 IAM 角色
SageMaker 需要一个 IAM 角色来代表用户运行作业,例如运行笔记本作业。 此角色应有权访问笔记本完成作业所需的资源,例如访问 Amazon S3 中的数据。
调度程序扩展自动查找 AWS 账户中的 IAM 角色,前缀为 SagemakerJupyterScheduler
运行笔记本作业。
要创建 IAM 角色, 创建执行角色 对于 Amazon SageMaker 与 AmazonSageMakerFullAccess
政策。 为角色命名 SagemakerJupyterSchedulerDemo
,或提供带有预期前缀的名称。
创建角色后,在 信任关系 标签,选择 编辑信任策略. 用以下内容替换现有的信任策略:
AmazonSageMakerFullAccess
政策相当宽松,通常是实验和开始使用 SageMaker 的首选。 我们强烈建议您根据 IAM 中的安全最佳实践为任何未来的工作负载创建最小范围的策略。 有关笔记本作业所需的最低权限集,请参阅 为本地 Jupyter 环境安装策略和权限。
安装扩展
在本地计算机上打开终端并通过运行以下命令安装扩展:
此命令运行后,您可以通过运行 jupyter lab 来启动 JupyterLab。
如果您从 JupyterLab 终端内安装扩展,请重新启动 Jupyter 服务器以加载扩展。 您可以通过选择重新启动 Jupyter 服务器 关闭 在 文件 JupyterLab 的菜单,并通过运行从命令行启动 JupyterLab jupyter lab
.
提交笔记本作业
在您的环境中安装扩展后,您可以将任何独立的笔记本作为临时作业运行。 让我们提交一个简单的“Hello world”笔记本作为计划作业运行。
- 点击 文件 菜单中选择 全新 和 笔记本.
- 输入以下内容:
扩展安装成功后,您将在笔记本上看到笔记本调度图标。
- 选择图标以创建笔记本作业。
或者,您可以在文件资源管理器中右键单击笔记本并选择 创建笔记本作业.
- 提供作业名称、输入文件、计算类型和其他参数。
- 将其余设置保留为默认值并选择 创建。
安排作业后,您将被重定向到 笔记本工作 选项卡,您可以在其中查看笔记本作业列表及其状态,并在作业完成后查看笔记本输出和日志。 您还可以从启动器访问此笔记本作业窗口,如以下屏幕截图所示。
高级配置
从您的本地计算,笔记本自动在 SageMaker Base Python 映像上运行,这是来自 Docker Hub 的官方 Python 3.8 映像,包含 Boto3 和 AWS CLI。 在实际情况下,数据科学家需要为他们的笔记本安装特定的包或框架。 可通过三种方式实现可重现的环境:
- 在最简单的选项中,您可以直接在笔记本的第一个单元格上安装包和框架。
- 您还可以在 其他选项 部分,指向笔记本启动时笔记本作业运行的本地存储上的 bash 脚本。 在下一节中,我们将展示一个使用初始化脚本安装包的示例。
- 最后,如果你想在配置运行环境时获得最大的灵活性,你可以使用 Python3 内核构建自己的自定义镜像,将镜像推送到 Amazon Elastic Container注册 (Amazon ECR),并将 ECR 图像 URI 提供给您的笔记本作业 其他选项. ECR 映像应遵循 SageMaker 映像的要求,如中所列 自定义 SageMaker 图像规范.
此外,您的企业可能会设置护栏,例如在 Amazon VPC 中以无互联网模式运行作业、为作业使用自定义的最低权限角色以及强制加密。 您可以在 其他选项 部分也是如此。 有关高级配置的详细列表,请参阅 其他选项.
添加初始化脚本
为了展示初始化脚本,我们现在运行用于 Studio notebook 作业的示例 notebook GitHub上. 要运行此笔记本,您需要通过初始化脚本安装所需的包。 完成以下步骤:
- 从您的 JupyterLab 终端运行以下命令来下载文件:
- 点击 文件 菜单中选择 全新 和 文本文件.
- 在你的文件中输入以下内容,并以该文件名保存文件
init-script.sh
: -
scheduled-example.ipynb
从您的文件资源管理器打开笔记本。 - 选择笔记本作业图标以安排笔记本,并展开 其他选项 部分。
- 针对 初始化脚本位置,输入脚本的完整路径。
您还可以选择为笔记本作业自定义输入和输出 S3 文件夹。 SageMaker 在指定的 S3 位置创建一个输入文件夹以存储输入文件,并创建一个输出 S3 文件夹以存储笔记本输出。 您可以在此处指定加密、IAM 角色和 VPC 配置。 看 限制和注意事项 用于自定义图像和 VPC 规范。
- 现在,只需更新初始化脚本,选择 现在跑步 对于日程安排,然后选择 创建.
作业完成后,您可以在下面查看带有输出的笔记本和输出日志 输出文件, 如以下屏幕截图所示。 在输出日志中,您应该能够看到在运行笔记本之前正在运行的初始化脚本。
要进一步自定义您的笔记本作业环境,您可以通过指定自定义图像的 ECR URI 来使用您自己的图像。 如果您要使用自己的映像,请确保在构建映像时安装了 Python3 内核。 有关可以使用 TensorFlow 运行笔记本的示例 Dockerfile,请参见以下代码:
结论
在本文中,我们向您展示了如何使用 SageMaker Jupyter 调度程序扩展从本地托管的任何 JupyterLab 环境运行笔记本作为 SageMaker 训练作业。 能够按计划以无头方式运行笔记本,大大减少了数据科学家的无差别繁重工作,例如将笔记本重构为 Python 脚本,设置 亚马逊EventBridge 事件触发器,并创建 AWS Lambda 函数或 SageMaker 管道来启动训练作业。 SageMaker 笔记本作业按需运行,因此您只需为笔记本运行的时间付费,并且您可以使用笔记本作业扩展随时从 JupyterLab 环境中查看笔记本输出。 我们鼓励您尝试预定的笔记本作业,并与 re:Post 上的机器学习和人工智能社区 征求意见!
关于作者
巴德里纳特帕尼 是 Amazon Web Services 的一名软件开发工程师,从事 Amazon SageMaker 交互式 ML 产品方面的工作,在汽车、IoT、AR/VR 和计算机视觉等领域的软件开发方面拥有超过 12 年的经验。 目前,他的主要工作重点是开发旨在简化数据科学家体验的机器学习工具。 在空闲时间,他喜欢与家人共度时光,探索太平洋西北部的美景。
杜尔加苏里 是 Amazon SageMaker Service SA 团队的 ML 解决方案架构师。 她热衷于让每个人都能接触到机器学习。 在 AWS 的 4 年中,她帮助为企业客户建立了 AI/ML 平台。 工作之余,她喜欢骑摩托车、看悬疑小说,以及带着她 5 岁的哈士奇犬长距离散步。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- 柏拉图爱流。 Web3 数据智能。 知识放大。 访问这里。
- 与 Adryenn Ashley 一起铸造未来。 访问这里。
- 使用 PREIPO® 买卖 PRE-IPO 公司的股票。 访问这里。
- Sumber: https://aws.amazon.com/blogs/machine-learning/schedule-your-notebooks-from-any-jupyterlab-environment-using-the-amazon-sagemaker-jupyterlab-extension/
- :具有
- :是
- :在哪里
- $UP
- 100
- 12
- 202
- 2022
- 7
- 77
- 8
- a
- 对,能力--
- Able
- 关于
- ACCESS
- 访问数据
- 无障碍
- 按照
- 账号管理
- 横过
- 操作
- 要积极。
- 活动
- 加
- 增加
- 额外
- 高级
- 后
- AI
- AI / ML
- 针对
- 所有类型
- 让
- 允许
- 已经
- 还
- Amazon
- 亚马逊SageMaker
- 亚马逊网络服务
- an
- 和
- 任何
- AR / VR
- 架构
- 保健
- AS
- 假定
- At
- 自动化
- 自动
- 汽车
- 可使用
- 远离
- AWS
- 基地
- 打坏
- BE
- 美容
- 成为
- before
- 作为
- 最佳
- 最佳实践
- 阻止
- 瞻
- 建立
- 建筑物
- 商业
- by
- CAN
- 例
- 选择
- 云端技术
- 云基础设施
- 码
- COM的
- 社体的一部分
- 完成
- 计算
- 一台
- 计算机视觉
- 流程条件
- 配置
- 分享链接
- 容器
- Contents
- 核心
- 创建信息图
- 创建
- 创建
- 创造
- 资历
- 目前
- 习俗
- 顾客
- 合作伙伴
- 定制
- data
- 数据科学
- 十二月
- 默认
- 需求
- 部署
- 详细
- 发展
- 研发支持
- 直接
- 讨论
- 屏 显:
- 导流
- 码头工人
- 域名
- 别
- 向下
- 下载
- 效果
- 鼓励
- 加密
- 加密
- 强制执行
- 工程师
- 工程师
- 确保
- 输入
- 企业
- 企业客户
- 环境
- 环境中
- 醚(ETH)
- 活动
- 事件
- 每个人
- 例子
- 例子
- 执行
- 现有
- 扩大
- 预期
- 预计
- 体验
- 探险家
- 探索
- 延期
- 相当
- 家庭
- 专栏
- 文件
- 档
- 姓氏:
- 高度灵活
- 专注焦点
- 遵循
- 以下
- 针对
- 框架
- Free
- 止
- ,
- 功能
- 进一步
- 未来
- Gain增益
- 通常
- 越来越
- 非常
- 民政事务总署
- 有
- he
- 重
- 举重
- 帮助
- 帮助
- 这里
- 此处
- 更高
- 高度
- 他的
- 托管
- 创新中心
- How To
- 但是
- HTML
- HTTP
- HTTPS
- 中心
- IAM
- ICON
- 身分
- if
- 图片
- 图片
- 进口
- in
- 包括
- 包括
- 基础设施
- 输入
- 可行的洞见
- 安装
- 安装
- 安装
- 安装
- 例
- 说明
- 互动
- 成
- 介绍
- 物联网
- IT
- 它的
- 工作
- 工作机会
- 键
- 键
- 实验室
- 后来
- 最新
- 学习
- 翻新
- 喜欢
- Line
- 清单
- 已发布
- 加载
- 本地
- 当地
- 圖書分館的位置
- 日志
- 长
- LOOKS
- 爱
- 机
- 机器学习
- 主要
- 制作
- 管理
- 颠覆性技术
- 方式
- matplotlib
- 最多
- 可能..
- 菜单
- 指标
- 可能
- 最低限度
- ML
- 时尚
- 模型
- 摩托车
- 移动
- 神秘
- 姓名
- 需求
- 打印车票
- 需要
- 全新
- 笔记本
- 笔记本电脑
- 现在
- 麻木
- of
- 官方
- on
- 仅由
- 打开
- 开放源码
- 附加选项
- or
- 产量
- 超过
- 监视
- 己
- 太平洋
- 包
- 包
- 大熊猫
- 参数
- 多情
- 径
- 权限
- 平台
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 政策
- 政策
- 帖子
- 做法
- 比较喜欢
- 首选
- 先前
- 校长
- 过程
- 热销产品
- 提供
- 提供
- 推
- 蟒蛇
- RE
- 真实的世界
- 减少
- 关系
- 其余
- 反复
- 更换
- 业务报告
- 必须
- 岗位要求
- 需要
- 资源
- 资源
- 导致
- 再培训
- 右键单击
- 角色
- 角色
- 运行
- 运行
- 运行
- SA
- sagemaker
- SageMaker管道
- 同
- 样本数据集
- 保存
- 缩放
- 情景
- 始你
- 预定
- 预定作业
- 调度
- 科学
- 科学家
- 脚本
- 搜索
- 部分
- 部分
- 保安
- 看到
- 服务
- 特色服务
- 会议
- 集
- 设置
- 设置
- 她
- 应该
- 显示
- 展示
- 显示
- 如图
- 简易
- 简化
- 简化
- 只是
- 小
- So
- 软件
- 软件开发
- 方案,
- 解决方案
- 具体的
- 规格
- 指定
- 花费
- 开始
- 开始
- 开始
- 启动
- 个人陈述
- Status
- 步骤
- 存储
- 商店
- 存储
- 非常
- 工作室
- 提交
- 顺利
- 这样
- 团队
- tensorflow
- 终端
- test
- 这
- 其
- 那里。
- 博曼
- Free Introduction
- 三
- 通过
- 次
- 至
- 工具
- 产品培训
- 过渡
- true
- 信任
- 尝试
- 类型
- 下
- 更新
- 更新
- 的URI
- 使用
- 用过的
- 用户
- 运用
- 有价值
- 版本
- 查看
- 愿景
- 想
- 是
- 方法
- we
- 卷筒纸
- Web服务
- 井
- ,尤其是
- 这
- 中
- 工作流程
- 加工
- 合作
- 年
- 您
- 您一站式解决方案
- 和风网