SageMaker Tutorial

SageMaker 教程

什么是 Amazon SageMaker?

Amazon SageMaker 是一款完全托管的 机器学习 (ML) 服务,可帮助数据科学家和开发人员快速构建、训练和部署 ML 模型到可用于生产的环境中。它简化了机器学习生命周期的每个步骤,从数据准备到模型训练和部署。

SageMaker 提供了一个直观的用户界面 (UI) 用于运行 ML 工作流,使其工具可用于各种集成开发环境 (IDE)。这减少了管理基础设施所需的时间、成本和精力。

要开始使用 Amazon SageMaker,您需要设置 SageMaker 笔记本实例或使用 SageMaker Studio。然后,您可以上传数据、选择 ML 算法、训练模型并部署它。

谁应该学习 SageMaker?

本 Amazon SageMaker 教程可以使包括以下人员在内的各种受众受益:−

  • 数据科学家 − 有兴趣构建、训练和部署机器学习模型而无需管理基础设施的专业人士。
  • 机器学习工程师 − 希望简化在云上进行模型开发和部署过程的开发人员和工程师。
  • 人工智能研究人员 − 专注于实施复杂 AI 模型和试验新算法的个人。
  • 商业分析师 − 那些没有深入的技术知识但希望利用 AI/ML 模型获得商业洞察力的专业人士。
  • 开发人员/软件工程师 − 那些希望使用 Amazon SageMaker 的 API 和 SDK 将机器学习模型集成到应用程序或服务中的开发人员。
  • 教育工作者和培训师 − 教授机器学习或 云计算 的个人,他们需要全面了解 SageMaker 才能为学生提供实践操作培训。

学习 SageMaker 的先决条件

要使用和理解 Amazon SageMaker,读者应该具备:−

  • 机器学习概念的基本理解 − 熟悉监督学习和无监督学习。他还/她应该有一些使用常见 ML 算法(如线性回归、决策树和 神经网络)的经验。
  • Python 知识 − Amazon SageMaker 广泛使用 Python,因此 Python 编程语言的知识对于编写脚本、使用 Jupyter 笔记本和实现机器学习模型至关重要。
  • AWS 服务经验 − 熟悉核心 AWS 服务,如用于数据存储的 S3、用于计算资源的 EC2 和用于管理访问和安全的 IAM 将是有益的。
  • 数据准备的理解 − 构建高效 ML 模型需要具备数据预处理技术、特征工程和处理大型数据集的经验。
  • Jupyter Notebook 的熟悉程度 − Amazon SageMaker 提供了一个基于 Jupyter 的环境用于编码和训练模型,因此熟悉和使用 Jupyter Notebook 将非常有用。
  • 基本的云计算知识 − 了解云计算的工作原理,尤其是在可扩展的分布式环境中。在配置 Amazon SageMaker 资源时,这将有所帮助。

SageMaker 常见问题解答

在本节中,我们收集了一组关于 SageMaker 的常见问题及其答案:−

1. 如何开始使用 Amazon SageMaker?

要开始使用 Amazon SageMaker,您需要设置 SageMaker 笔记本实例或使用 SageMaker Studio。然后,您可以上传数据、选择 ML 算法、训练模型并部署它。SageMaker 为我们提供了一系列内置算法,这使得快速开始机器学习变得容易。

2. 如何将 Amazon SageMaker 与 Jupyter 笔记本一起使用?

Amazon SageMaker 提供完全托管的 Jupyter 笔记本,您可以使用它们来交互式地开发和试验机器学习模型。这些笔记本在 EC2 实例上运行,并提供预安装的库,如 TensorFlowPyTorchScikit-learn (Sklearn)。

您可以轻松连接到 AWS 服务(如 S3)以进行数据存储。您还可以直接从笔记本部署模型。

3. SageMaker 如何确保数据隐私和安全?

Amazon SageMaker 通过以下方式确保数据隐私和安全:−

  • 加密(静态和传输中)
  • 基于角色的访问控制 (RBAC)
  • 与 AWS Identity and Access Management (IAM) 集成。

除此之外,SageMaker 还支持私有 VPC 端点,用于在您的 SageMaker 实例与其他 AWS 资源之间进行安全通信,从而提供与外部网络的完全隔离。

4. Amazon SageMaker 的定价是多少?

您可以免费试用 Amazon SageMaker。在 AWS 免费套餐下,您可以免费开始使用 SageMaker。

下表提供了 Amazon SageMaker 免费套餐的详细信息:−

SageMaker 功能 免费套餐
Studio 笔记本和笔记本实例 在 Studio 笔记本上使用 ml.t3.medium 实例 250 小时,或者在笔记本实例上使用 ml.t2 medium 实例或 ml.t3.medium 实例 250 小时。
SageMaker 上的 RStudio 在 RSession 应用上使用 ml.t3.medium 实例 250 小时,以及 RStudioServerPro 应用的免费 ml.t3.medium 实例。
数据整理器 ml.m5.4xlarge 实例 25 小时。
特征存储 1000 万个写入单元、1000 万个读取单元、25 GB 存储空间。
训练 m4.xlarge 或 m5.xlarge 实例 50 小时。
带有 TensorBoard 的 Amazon SageMaker ml.r5.large 实例 300 小时。
实时推理 m4.xlarge 或 m5.xlarge 实例 125 小时。
无服务器推理 150,000 秒的按需推理时长。
画布 每月会话时间 160 小时。
超立方体 m5.xlarge 实例 50 小时。

5. Amazon SageMaker 提供哪些付款选项?

免费套餐从您创建第一个 Amazon SageMaker 资源的第一个月开始。之后,您只需为使用的资源付费。

SageMaker 提供以下两种付款方式:−

  • 按需定价 − 无最低费用和预付承诺。
  • SageMaker 储蓄计划 − 一种灵活的、基于用量的定价模型。

6. Amazon SageMaker 中有哪些节省成本的选项?

Amazon SageMaker 提供各种节省成本的选项,如Spot 实例批量转换

例如,Spot 实例用于训练作业,与按需定价相比,可节省高达 90% 的费用。另一方面,SageMaker 批量转换支持大规模推理作业,而无需维护持久性端点。当您不需要实时预测时,它还可以降低成本。

7. Amazon SageMaker 如何支持自动模型调整?

Amazon SageMaker 支持自动模型调整,也称为超参数优化。它通过进行多次训练运行并根据定义的目标指标评估性能来自动调整模型参数。此功能有助于在无需手动调整模型的情况下获得更高的准确性。

8. Amazon SageMaker 是否包含预构建算法?

是的,Amazon SageMaker 提供了一系列预构建的机器学习算法。它包括线性回归、XGBoost、图像分类等算法,以及 TensorFlow 和 PyTorch 等深度学习框架。这些内置算法针对大规模训练进行了优化,并且可以轻松部署以进行实时推理。

9. 我可以在 Amazon SageMaker 中使用自己的算法吗?

是的,Amazon SageMaker 允许您自带算法和自定义模型。您可以将代码打包到 Docker 容器中并将其部署到 SageMaker。

SageMaker 支持自定义容器和 TensorFlow、PyTorch 和 Scikit-learn 等预构建环境,以实现灵活的开发。

10. 如何在 Amazon SageMaker 中监控和优化模型?

为了跟踪调用延迟、错误率和资源利用率等性能指标,Amazon SageMaker 与Amazon CloudWatch集成。

除此之外,SageMaker 模型监控器还可以自动检测数据漂移和其他异常情况,以便您可以根据需要设置警报并采取纠正措施。

11. 我可以使用 SageMaker 自动化 ML 工作流吗?

是的,您可以使用 Amazon SageMaker 自动化机器学习工作流。它提供了SageMaker Pipelines,这是一种完全托管的服务,可自动化端到端的机器学习生命周期。它使您能够定义、自动化和管理机器学习工作流,从数据准备到模型部署。它还确保了机器学习管道的可重复性、可扩展性和有效管理。

12. 如何在 Amazon SageMaker 中调试 ML 模型?

Amazon SageMaker 包括调试器,这是一个允许用户在训练期间监控和调试机器学习模型的工具。调试器工具捕获实时指标(如梯度值和损失),这有助于您识别瓶颈或性能问题。它提供可视化效果来排除模型训练过程的故障并提高其准确性。

13. 我可以将 SageMaker 用于强化学习吗?

是的,Amazon SageMaker 为强化学习 (RL)提供了内置环境。它支持Ray RLlibCoach等流行的 RL 库,使您能够使用 SageMaker 的基础设施训练 RL 模型。您还可以模拟用于训练 RL 代理的环境,然后将训练后的模型部署到生产端点。

14. Amazon SageMaker 的局限性是什么?

虽然 Amazon SageMaker 是一个强大的机器学习平台,但对于小型项目来说,它可能过于高级。随着使用量的增加,成本可能会增加,尤其是在大型训练或实时任务中。用户应该具备一些 AWS 服务的知识才能最大限度地利用它。

广告