将机器学习模型部署到 AWS SageMaker 完整指南 - 第01部分

发布: (2025年12月19日 GMT+8 06:39)
6 min read
原文: Dev.to

Source: Dev.to

在 AWS 上部署自定义机器学习模型

在本指南中,我们将逐步演示如何使用一组核心服务在 AWS 上部署自定义模型(或任何来自 Hugging Face 的模型):

服务功能说明
Amazon SageMaker“贤者制造者”——用于训练、托管和扩展机器学习模型的平台。
Amazon API Gateway将模型公开为 HTTP API,供其他开发者调用。
AWS Lambda轻量级的无服务器函数,用于在请求到达模型前进行路由、校验和格式化。

⚠️ 成本提示 – 为了学习目的,如果在约 6 小时后关闭所有资源,账单可控制在 ≈ $5 左右。请设置 $5 的计费警报,以免产生意外费用。

1️⃣ 打开 SageMaker

  1. 登录 AWS 控制台。
  2. 在左上角搜索框中输入 “SageMaker” 并选择该服务。
    你应该会看到类似下图的仪表盘。

SageMaker 主页

2️⃣ 创建 Notebook 实例

SageMaker notebook 是一个托管的 Jupyter 环境,运行在经过机器学习优化的 EC2 实例上。

  1. 在左侧边栏点击 “Notebook instances”
  2. 点击 “Create notebook instance” 并填写表单:
字段推荐值 / 备注
Notebook instance nametranslation-model-01(或任意你喜欢的名称)
Instance type选择一个适度的实例(例如 ml.t2.medium)。你以后可以更改,但更大的实例每小时费用更高。
IAM role可以选择已有角色,或让 SageMaker 创建一个新角色。默认角色目前足够使用,但请牢记 最小权限原则——除非必要,避免授予完整的 S3 访问权限。
Encryption除非有特定合规要求,否则保持默认设置。

创建 notebook 表单

为什么使用 IAM 角色?
IAM 角色是一种身份,仅授予完成特定任务所需的权限。使用角色可以限制风险范围——如果出现漏洞,攻击者只能获得该角色的权限,而不是完整的账户访问权。

创建角色和 Notebook

创建角色界面

然后点击 Create role。几分钟后会出现绿色成功提示,角色会被自动选中。其余细节保持不变,点击 Create notebook

创建 notebook 界面

现在 notebook 已创建(大约需要 5‑10 分钟),打开它。页面顶部会有两个选项:JupyterJupyterLab。两者都是交互式环境,允许你编写代码、运行代码、保持数据和变量状态,并且可以随时重新编写、重新运行和即时改进代码,这种方式称为 Read‑Eval‑Print‑Loop (REPL)

Jupyter 与 JupyterLab 对比

创建新 notebook 的步骤:

  1. File > New > Notebook
  2. 弹出提示时,选择一个 kernel。默认 kernel 对本案例已经足够。

新 notebook 对话框

Source: //media2.dev.to/dynamic/image/width=800,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3yddpxfv77frdplu96s.png

A kernel is essentially the interpreter that runs your Python (or Markdown) code. Think of it as the same interpreter you’d install locally, but here it comes pre‑configured out of the box.

Kernel selection screen

JupyterLab 主编辑器

JupyterLab 的功能类似 IDE:它提供编辑器、文件资源管理器、终端以及许多其他工具。

在下面的截图中,我们创建了一个名为 Untitled.ipynb 的笔记本文件(稍后可以重命名;.ipynb 代表 iPython Notebook)。在其中,我们将编写与在 Google Colab 中相同的代码。

已经写好了一段简单的 Python 代码;使用 Shift + Enter 运行它。输出会出现在下一个单元格,显示:

Hello World!

3️⃣(可选)审查 IAM 角色权限

笔记本创建完成后,你会看到如下界面:

IAM role configuration

  • 默认策略为笔记本提供对自动创建的 S3 存储桶的读/写访问。
  • 如果需要其他资源(例如其他 S3 存储桶、ECR 仓库),请在了解安全影响后 附加相应的策略。

4️⃣ 后续步骤(概览)

笔记本实例运行后,你可以:

  1. 克隆 Hugging Face 仓库 或上传自己的模型文件。
  2. 创建 SageMaker 端点,用于实时推理的模型托管。
  3. 设置 API Gateway,将 HTTP 请求转发给 Lambda 函数。
  4. 编写 Lambda 处理程序,实现:
    • 验证传入的负载。
    • 调用 SageMaker 端点。
    • 将模型的响应返回给调用者。

教程的其余部分(模型部署、API 创建、Lambda 代码、测试)遵循相同的模式——每一步都有截图和简明指引。

📌 快速回顾

  • SageMaker = 训练与托管环境。
  • API Gateway = 公网 HTTP 入口。
  • Lambda = 请求验证与路由(无服务器)。
  • 成本控制 = 不使用时关闭资源,并在费用达到 $5 时设置计费警报。

祝部署顺利! 🚀

Back to Blog

相关文章

阅读更多 »