
SageMaker 教程
什么是 Amazon SageMaker?
Amazon SageMaker 是一种完全托管的机器学习 (ML) 服务,可帮助数据科学家和开发人员快速构建、训练和部署 ML 模型到可用于生产的托管环境中。它简化了机器学习生命周期的每个步骤,从数据准备到模型训练和部署。
SageMaker 提供了一个直观的用户界面 (UI) 来运行 ML 工作流,使其工具可用于各种集成开发环境 (IDE)。这减少了管理基础设施所需的时间、成本和精力。
要开始使用 Amazon SageMaker,您需要设置 SageMaker 笔记本实例或使用 SageMaker Studio。然后,您可以上传数据、选择 ML 算法、训练模型并部署它。
谁应该学习 SageMaker?
本 Amazon SageMaker 教程可使各种受众受益,包括 −
- 数据科学家 − 有兴趣构建、训练和部署机器学习模型而无需管理基础设施的专业人士。
- 机器学习工程师 − 希望简化云上模型开发和部署过程的开发人员和工程师。
- AI 研究人员 − 专注于实施复杂 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 Notebooks − Amazon SageMaker 为编码和训练模型提供了基于 Jupyter 的环境,因此熟悉和使用 Jupyter Notebooks 会很有用。
- 基本云计算知识 − 了解云计算的工作原理,尤其是在可扩展的分布式环境中。这将有助于配置 Amazon SageMaker 资源。
SageMaker 常见问题解答
在本节中,我们收集了一组有关 SageMaker 的常见问题及其答案 −
1. 如何开始使用 Amazon SageMaker?
要开始使用 Amazon SageMaker,您需要设置 SageMaker 笔记本实例或使用 SageMaker Studio。然后,您可以上传数据、选择 ML 算法、训练模型并部署它。SageMaker 为我们提供了一系列内置算法,可轻松快速地开始机器学习。
2. 如何将 Amazon SageMaker 与 Jupyter 笔记本一起使用?
Amazon SageMaker 提供完全托管的 Jupyter 笔记本,您可以使用它以交互方式开发和试验机器学习模型。这些笔记本在 EC2 实例上运行,并提供预安装的库,例如 TensorFlow、PyTorch 和 Scikit-learn (Sklearn)。
您可以轻松连接到 S3 等 AWS 服务进行数据存储。您还可以直接从笔记本部署模型。
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 实例。 |
Data Wrangler | 25 小时 ml.m5.4xlarge 实例。 |
功能存储 | 1000 万个写入单元,1000 万个读取单元,25 GB 存储空间。 |
训练 | 50 小时的 m4.xlarge 或 m5.xlarge 实例。 |
带有 TensorBoard 的 Amazon SageMaker | 300 小时的 ml.r5.large 实例。 |
实时推理 | 125 小时的 m4.xlarge 或 m5.xlarge 实例。 |
无服务器推理 | 150,000 秒的按需推理时长。 |
Canvas | 会话时间为每月 160 小时。 |
HyperPod | 50 小时 m5.xlarge 实例。 |
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 Model Monitor 还会实时自动检测数据漂移和其他异常情况,让您可以设置警报并根据需要采取纠正措施。
11. 我可以使用 Amazon SageMaker 自动化 ML 工作流程吗?
是的,您可以使用 Amazon SageMaker 自动化机器学习工作流程。它提供 SageMaker Pipelines,这是一项完全托管的服务,可自动化端到端机器学习生命周期。它使您能够定义、自动化和管理机器学习工作流程,从数据准备到模型部署。它还确保了 ML 管道的可重复性、可扩展性和高效管理。
12.如何在 Amazon SageMaker 中调试 ML 模型?
Amazon SageMaker 包含 Debugger,这是一种允许用户在训练期间监控和调试机器学习模型的工具。Debugger 工具可捕获梯度值和损失等实时指标,帮助您识别瓶颈或性能问题。它提供可视化功能来排除模型训练过程的故障并提高其准确性。
13. 我可以使用 SageMaker 进行强化学习吗?
是的,Amazon SageMaker 为强化学习 (RL)提供内置环境。它支持流行的 RL 库,如 Ray RLlib 和 Coach,可让您使用 SageMaker 的基础设施训练 RL 模型。您还可以模拟用于训练 RL 代理的环境,然后将训练好的模型部署到生产终端节点。
14. Amazon SageMaker 的局限性是什么?
虽然 Amazon SageMaker 是一个强大的机器学习平台,但对于小型项目来说可能过于先进。使用量大时成本可能会增加,尤其是对于大型训练或实时任务。用户应该对 AWS 服务有所了解,以便最大限度地利用它。