当前位置: 首页 > news >正文

使用托管竞价实例在Amazon SageMaker上运行机器学习训练

这是本系列文章的第二篇,旨在通过动手实践,帮助大家学习亚马逊云科技的生成式AI相关技能。通过这些文章,大家将掌握如何利用亚马逊云科技的各类服务来应用AI技术。

那么让我们开始今天的内容吧!

介绍

什么是Amazon SageMaker

  • 它是一项完全托管的机器学习服务。
  • Amazon SageMaker帮助开发者和数据科学家构建和训练机器学习(ML)模型,以便快速部署在具备生产准备的托管环境中。
  • 它消除了机器学习过程中的繁重工作,使开发高质量模型变得更加容易。
  • 由于它是完全托管的服务,因此没有维护窗口或计划停机时间。
  • 它将代码存储在由安全组保护并且静态加密的机器学习存储卷中。
  • 它不会使用或与其他客户共享客户的模型、训练数据和算法。

什么是EC2竞价实例

  • 竞价实例是Amazon EC2中的未使用部分,通过使用竞价实例,您可以与按需实例相比节省高达90%的成本,但如果当前价格高于您指定的最高价格,AWS可能会中断您的竞价实例。
  • 竞价实例使用与按需实例和预留实例相同的EC2实例(AMI和实例类型)。它最适合用于数据可复现且能够承受随时中断的使用场景。
  • 您可以将竞价实例作为按需或预留实例的附加计算容量,前提是容错是可接受的。
  • EC2竞价实例可以通过与启动EC2实例相同的方式启动,比如使用竞价队列、自动伸缩组或AWS管理控制台。
  • 如果AWS在一小时内终止或停止您的Amazon EC2竞价实例,则不会收取费用。
  • 但是,如果您选择自行停止或终止新启动的竞价实例,您将需要支付已使用的总秒数的费用。

架构图

任务详情

  1. 创建一个Amazon SageMaker笔记本实例
  2. 打开JupyterLab并将内核环境设置为EC2实例
  3. 在Apache服务器上执行单元格

任务 1: 创建一个Amazon SageMaker笔记本实例

确保您处于美国东部(弗吉尼亚北部)us-east-1区域,在控制台顶部的服务菜单中点击Amazon SageMaker,然后展开左侧面板中的笔记本选项并点击笔记本实例。

点击“创建笔记本实例”按钮。在“笔记本实例设置”部分,输入笔记本实例名称为 whiz,选择实例类型为 ml.t2.medium,保持其他选项为默认值。在“权限和加密”部分,从下拉菜单中选择 创建新角色,在弹出窗口中确保S3存储桶选项为“任何S3存储桶”,然后点击“创建角色”按钮。

 IAM 角色已创建。

 保持所有选项为默认值,点击“创建笔记本实例”按钮,笔记本实例将在大约5分钟内启动并运行。

 等待状态变为“已服务中”(InService)

任务2:打开JupyterLab并设置内核环境

点击“打开JupyterLab”按钮。

您将被重定向到运行环境,选择左侧面板中的Amazon SageMaker示例笔记本图标。

通过向右拖动主窗口展开左侧面板,滚动并双击左侧面板中的xgboost_managed_spot_training.ipynb文件。

复制创建后会提示选择内核,从下拉菜单中选择conda_python3并点击“选择”。

任务4:执行

第一段代码介绍了变量设置和函数定义,逐个选择单元格并点击“运行选定的单元格并前进”图标。

 

 运行完成后将打印输出,单元格会显示一个编号。

向下滚动并执行名为“Fetching the dataset”的单元格,点击“运行选定的单元格并前进”图标。

单元格运行完成后,将显示输出结果。

执行下一个单元格,点击“运行选定的单元格并前进”图标。

现在继续执行下一个单元格,点击“运行选定的单元格并前进”图标。

执行下一个单元格,点击“运行选定的单元格并前进”图标,训练任务将开始,等待执行完成。

 

跳过自动模型调优训练,执行倒数第二个单元格,点击“运行选定的单元格并前进”图标,输出将包含检查点的路径。

实例启动并完成训练任务大约需要5分钟,执行完成后将以百分比形式显示使用竞价实例的节省情况。

结尾语

完成训练任务后,您可以查看输出结果,其中将以百分比形式显示使用竞价实例所节省的成本。通过这一流程,您可以体验到Amazon SageMaker结合EC2竞价实例所带来的高效与成本优势。无论是在模型训练还是资源优化方面,这种结合都能为您的机器学习工作流带来更大的灵活性与可控性。

lab内容参考自whizlabs平台的lab实验,如需想要完整练习上面内容推荐去相关平台进行学习。

http://www.lryc.cn/news/427968.html

相关文章:

  • AIoT智能物联网平台定义
  • 微服务设计原则——高性能:存储设计
  • hbase-manager图形化界面的安装与配置
  • STM32之继电器与震动传感器的使用,实现震动灯
  • RS232(旧协议)与RS485(新协议)
  • android13顶部状态栏里面调节背光,不隐藏状态栏面板
  • Webrtc之SDP协议
  • mfc140u.dll丢失错误解决方法的基本思路——四种修复mfc140u.dll的方法
  • Python Django 后端架构开发: 中间件架构设计
  • HTTP的认证方式
  • 10分钟学会LVM逻辑卷
  • 【gitlab】gitlab-ce:17.3.0-ce.0 之2:配置
  • 第七十四:前端实现点击页面某个菜单跳转到对应的锚点功能
  • PyTorch分布式训练全攻略:DistributedDataParallel精解与实战
  • Python(TensorFlow)多模光纤光束算法和GPU并行模拟
  • 实战Kubernetes之快速部署 K8s 集群 v1.28.0
  • YOLO知识点总结:
  • 合宙LuatOS AIR700 IPV6 TCP 客户端向NodeRed发送数据
  • git 如何生成sshkey公钥
  • python从入门到精通:函数
  • 【Android性能篇】如何分析 dumpsys meminfo 信息
  • c++进阶——继承的定义,复杂的菱形继承及菱形虚拟继承
  • 计算机网络:DNS、子网掩码、网关
  • 程序员如何学习开源项目
  • 探索数据结构:红黑树的分析与实现
  • 【设计模式】装饰器模式和适配模式
  • Visual Studio VS 插件之 ReSharper
  • 【二分查找】--- 进阶题目赏析
  • CSS 对齐
  • 暑假算法刷题日记 Day 10