亚马逊SageMaker JumpStart 是 SageMaker 的机器学习 (ML) 中心,为各种问题类型提供预训练的公开可用模型,以帮助您开始机器学习。
JumpStart 还提供了使用 亚马逊SageMaker 在各种模型类型和用例上进行现场实例训练和实验等功能。 这些示例笔记本包含的代码展示了如何使用 SageMaker 和 JumpStart 应用 ML 解决方案。 它们可以根据您自己的需要进行调整,从而加快应用程序开发。
最近,我们在 JumpStart 中添加了 10 个新笔记本 亚马逊SageMaker Studio. 这篇文章重点介绍这些新笔记本。 在撰写本文时,JumpStart 提供了 56 个笔记本,范围从使用最先进的自然语言处理 (NLP) 模型到在训练模型时修复数据集中的偏差。
这 10 个新笔记本可以通过以下方式帮助您:
- 他们提供了示例代码,供您从 Studio 的 JumpStart UI 中按原样运行并查看代码的工作原理
- 它们展示了各种 SageMaker 和 JumpStart API 的用法
- 他们提供了一种技术解决方案,您可以根据自己的需要进一步定制
随着更多笔记本的添加,通过 JumpStart 提供的笔记本数量会定期增加。 这些笔记本也可以在 github上.
笔记本概览
10款新笔记本如下:
- 使用 AlexaTM 20B 进行情境学习 – 演示如何使用 AlexaTM 20B 通过零样本和少样本学习在五个示例任务中进行上下文学习:文本摘要、自然语言生成、机器翻译、提取式问答以及自然语言推理和分类。
- SageMaker 中的公平线性学习器 – 由于模仿现有的人类偏见,最近有人担心 ML 算法存在偏见。 该笔记本应用公平概念来适当调整模型预测。
- 使用 SageMaker Search 管理 ML 实验 – Amazon SageMaker Search 让您可以从可能成百上千的 SageMaker 模型训练作业中快速查找和评估最相关的模型训练运行。
- SageMaker 神经主题模型 – SageMaker 神经主题模型 (NTM) 是一种无监督学习算法,它试图将一组观察结果描述为不同类别的混合体。
- 预测违规驾驶速度 - SageMaker DeepAR 算法可用于同时为多条街道训练模型,并预测多条街道摄像头的违规行为。
- 乳腺癌预测—— 该笔记本使用 UCI 的乳腺癌诊断数据集来构建乳房肿块图像是否指示良性或恶性肿瘤的预测模型。
- 来自多个模型的集合预测 - 通过组合或平均来自多个来源和模型的预测,我们通常会得到改进的预测。 本笔记本说明了这个概念。
- SageMaker 异步推理 – 异步推理是一种新的推理选项,可满足近实时推理需求。 处理请求最多可能需要 15 分钟,负载大小最多为 1 GB。
- TensorFlow 自带模型—— 了解如何使用此笔记本在本地训练 TensorFlow 模型并在 SageMaker 上部署。
- Scikit-learn 自带模型—— 此笔记本展示了如何将预训练的 Scikit-learn 模型与 SageMaker Scikit-learn 容器结合使用,以快速为该模型创建托管端点。
先决条件
要使用这些笔记本,请确保您有权访问具有允许您运行 SageMaker 功能的执行角色的 Studio。 下面的简短视频将帮助您导航到 JumpStart 笔记本。
在接下来的部分中,我们逐一介绍 10 个新解决方案,并讨论其中一些有趣的细节。
使用 AlexaTM 20B 进行情境学习
AlexaTM 20B 是一种多任务、多语言、大规模序列到序列 (seq2seq) 模型,使用去噪和因果语言建模 (CLM) 任务,在 4 种语言的 Common Crawl (mC12) 和维基百科数据的混合体上进行训练。 它在常见的上下文语言任务(例如一次性摘要和一次性机器翻译)上实现了最先进的性能,优于仅解码器模型,例如 Open AI 的 GPT3 和谷歌的 PaLM,后者的性能是后者的八倍多。
情境学习,也称为 提示,指的是在新任务上使用 NLP 模型而无需对其进行微调的方法。 一些任务示例仅作为推理输入的一部分提供给模型,这种范例称为 小样本情境学习. 在某些情况下,模型可以在根本没有任何训练数据的情况下表现良好,仅给出应该预测的内容的解释。 这就是所谓的 零样本上下文学习.
本笔记本演示了如何通过 JumpStart API 部署 AlexaTM 20B 并运行推理。 它还通过五个示例任务演示了如何将 AlexaTM 20B 用于上下文学习:文本摘要、自然语言生成、机器翻译、提取式问答以及自然语言推理和分类。
该笔记本演示了以下内容:
- 一次性文本摘要、自然语言生成和机器翻译,对这些任务中的每一个使用单个训练示例
- 零样本问答和自然语言推理以及按原样使用模型进行分类,无需提供任何训练示例。
尝试针对此模型运行您自己的文本,看看它如何总结文本、提取问答或将一种语言翻译成另一种语言。
SageMaker 中的公平性线性学习器
由于模仿现有的人类偏见,最近有人担心 ML 算法存在偏见。 如今,几种 ML 方法具有很强的社会影响,例如它们用于预测银行贷款、保险费率或广告。 不幸的是,从历史数据中学习的算法自然会继承过去的偏见。 本笔记本介绍了如何在线性学习器的上下文中使用 SageMaker 和公平算法来解决这个问题。
它首先介绍公平背后的一些概念和数学,然后下载数据、训练模型,最后应用公平概念适当调整模型预测。
该笔记本演示了以下内容:
- 在 UCI 的成人数据集上运行标准线性模型。
- 在模型预测中显示不公平
- 修复数据以消除偏见
- 重新训练模型
尝试使用此示例代码运行您自己的数据并检测是否存在偏差。 之后,尝试使用本示例笔记本中提供的函数消除数据集中的偏差(如果有)。
使用 SageMaker 搜索管理机器学习实验
SageMaker Search 让您可以从可能成百上千的 SageMaker 模型训练作业中快速查找和评估最相关的模型训练运行。 开发 ML 模型需要不断的实验、尝试新的学习算法和调整超参数,同时观察这些变化对模型性能和准确性的影响。 这种迭代练习通常会导致数百个模型训练实验和模型版本的激增,从而减缓获胜模型的收敛和发现。 此外,信息爆炸使得很难追溯模型版本的沿袭——最初构建该模型的数据集、算法和参数的独特组合。
此笔记本展示了如何使用 SageMaker Search 快速轻松地组织、跟踪和评估您在 SageMaker 上的模型训练作业。 您可以搜索所用学习算法的所有定义属性、超参数设置、所用训练数据集,甚至是您在模型训练作业中添加的标签。 您还可以根据性能指标(例如训练损失和验证准确性)快速比较训练运行并对其进行排名,从而创建排行榜以识别可以部署到生产环境中的获胜模型。 SageMaker Search 可以快速追溯部署在实时环境中的模型版本的完整沿袭,一直到用于训练和验证模型的数据集。
该笔记本演示了以下内容:
- 训练线性模型三次
- 使用 SageMaker Search 组织和评估这些实验
- 在排行榜中可视化结果
- 将模型部署到端点
- 从端点开始跟踪模型的沿袭
在您自己开发预测模型时,您可能会运行多个实验。 尝试在此类实验中使用 SageMaker Search 并体验它如何以多种方式帮助您。
SageMaker 神经主题模型
SageMaker 神经主题模型 (NTM) 是一种无监督学习算法,它试图将一组观察结果描述为不同类别的混合体。 NTM 最常用于发现文本语料库中文档共享的用户指定数量的主题。 这里每个观察都是一个文档,特征是每个单词的存在(或出现次数),类别是主题。 因为该方法是无监督的,所以主题没有预先指定,也不能保证与人类自然分类文档的方式保持一致。 主题被学习为每个文档中出现的单词的概率分布。 反过来,每个文档都被描述为主题的混合体。
此笔记本使用 SageMaker NTM 算法在 20NewsGroups 数据集上训练模型。 该数据集已被广泛用作主题建模基准。
该笔记本演示了以下内容:
- 在数据集上创建 SageMaker 训练作业以生成 NTM 模型
- 使用模型通过 SageMaker 端点执行推理
- 探索经过训练的模型并可视化学习到的主题
您可以轻松修改此笔记本以在您的文本文档上运行并将它们分成不同的主题。
预测违规驾驶速度
该笔记本通过分析芝加哥市的超速摄像头违规数据集,演示了使用 SageMaker DeepAR 算法进行的时间序列预测。 该数据集由 Data.gov 托管,并由美国总务管理局技术转型服务处管理。
这些违规行为被摄像头系统捕捉到,并可通过芝加哥市数据门户网站改善公众的生活。 Speed Camera Violation 数据集可用于识别数据中的模式并获得有意义的见解。
该数据集包含多个摄像头位置和每日违规计数。 摄像机的每个每日违规计数都可以视为一个单独的时间序列。 您可以使用 SageMaker DeepAR 算法同时为多条街道训练模型,并预测多条街道摄像头的违规行为。
该笔记本演示了以下内容:
- 使用 Spot 实例在时间序列数据集上训练 SageMaker DeepAR 算法
- 对训练有素的模型进行推理以进行交通违规预测
通过此笔记本,您可以了解如何使用 SageMaker 中的 DeepAR 算法解决时间序列问题,并尝试将其应用于您自己的时间序列数据集。
乳腺癌预测
本笔记本以使用 UCI 的乳腺癌诊断数据集进行乳腺癌预测为例。 它使用此数据集来构建乳房肿块图像是否指示良性或恶性肿瘤的预测模型。
该笔记本演示了以下内容:
- 使用 SageMaker 的基本设置
- 将数据集转换为 SageMaker 算法使用的 Protobuf 格式并上传到 亚马逊简单存储服务 (亚马逊 S3)
- 在数据集上训练 SageMaker 线性学习器模型
- 托管经过训练的模型
- 使用训练好的模型评分
您可以浏览此笔记本以了解如何使用 SageMaker 解决业务问题,并了解训练和托管模型所涉及的步骤。
来自多个模型的集成预测
在机器学习在预测任务上的实际应用中,一个模型通常是不够的。 大多数预测竞赛通常需要结合来自多个来源的预测以获得改进的预测。 通过组合或平均来自多个来源或模型的预测,我们通常会得到改进的预测。 出现这种情况是因为模型的选择存在相当大的不确定性,并且在许多实际应用中没有一个真实的模型。 因此,结合来自不同模型的预测是有益的。 在贝叶斯文献中,这个想法被称为贝叶斯模型平均,并且已被证明比只选择一个模型要好得多。
此笔记本提供了一个说明性示例,根据有关教育、工作经验、性别等的信息预测一个人的年收入是否超过 50,000 美元。
该笔记本演示了以下内容:
- 准备您的 SageMaker 笔记本
- 使用 SageMaker 从 Amazon S3 加载数据集
- 调查和转换数据,以便将其提供给 SageMaker 算法
- 使用 SageMaker XGBoost(极端梯度提升)算法估计模型
- 在 SageMaker 上托管模型以进行持续预测
- 使用 SageMaker 线性学习器方法估计第二个模型
- 结合两个模型的预测并评估组合预测
- 在测试数据集上生成最终预测
尝试在您的数据集上运行此笔记本并使用多种算法。 尝试使用 SageMaker 和 JumpStart 提供的各种模型组合进行试验,看看哪种模型组合组合可以为您自己的数据提供最佳结果。
SageMaker 异步推理
SageMaker 异步推理是 SageMaker 中的一项新功能,可以对传入请求进行排队并异步处理它们。 SageMaker 目前为客户提供两个推理选项来部署 ML 模型:一个是用于低延迟工作负载的实时选项,另一个是批处理转换,一个用于处理对预先可用的批量数据的推理请求的离线选项。 实时推理适用于负载大小小于 6 MB 且需要在 60 秒内处理推理请求的工作负载。 批量变换适用于对批量数据进行离线推理。
异步推理是一种新的推理选项,可满足近实时推理需求。 处理请求最多可能需要 15 分钟,负载大小最多为 1 GB。 异步推理适用于没有亚秒级延迟要求且延迟要求宽松的工作负载。 例如,您可能需要在 5 分钟内对几 MB 的大图像进行推理。 此外,异步推理端点允许您通过在端点空闲时将端点实例计数缩减为零来控制成本,因此您只需在端点处理请求时付费。
该笔记本演示了以下内容:
- 创建 SageMaker 模型
- 使用此模型和异步推理配置创建端点
- 针对此异步端点进行预测
此笔记本向您展示了一个为 SageMaker 模型组合异步端点的工作示例。
TensorFlow 自带模型
TensorFlow 模型在运行此笔记本的分类任务上进行本地训练。 然后将其部署在 SageMaker 端点上。
该笔记本演示了以下内容:
- 在 IRIS 数据集上本地训练 TensorFlow 模型
- 将该模型导入 SageMaker
- 将其托管在端点上
如果您有自己开发的 TensorFlow 模型,此示例笔记本可以帮助您在 SageMaker 托管端点上托管您的模型。
Scikit-learn自带模型
SageMaker 包括支持托管笔记本环境、分布式、无服务器培训和实时托管的功能。 当所有这三种服务一起使用时效果最好,但它们也可以单独使用。 一些用例可能只需要托管。 也许模型是在 SageMaker 存在之前在不同的服务中训练的。
该笔记本演示了以下内容:
- 将预训练的 Scikit-learn 模型与 SageMaker Scikit-learn 容器结合使用,为该模型快速创建托管端点
如果您有自己开发的 Scikit-learn 模型,此示例笔记本可以帮助您在 SageMaker 托管端点上托管您的模型。
清理资源
在 JumpStart 中完成运行笔记本后,请确保 删除所有资源 这样您在此过程中创建的所有资源都将被删除,并且您的计费将停止。 这些笔记本中的最后一个单元格通常会删除创建的端点。
总结
这篇文章向您介绍了最近添加到 JumpStart 的 10 个新示例笔记本。 虽然这篇文章主要关注这 10 个新笔记本,但截至撰写本文时共有 56 个可用笔记本。 我们鼓励您登录 Studio 并自行探索 JumpStart 笔记本,并开始从中获取直接价值。 有关详细信息,请参阅 亚马逊SageMaker Studio 和 SageMaker 快速启动.
关于作者
Raju Penmatcha 博士 是 AWS AI 平台的 AI/ML 专家解决方案架构师。 他在斯坦福大学获得博士学位。 他与 SageMaker 中的低代码/无代码套件服务密切合作,帮助客户轻松构建和部署机器学习模型和解决方案。