Agent Skills
返回列表
🔒

SageMaker 生产部署默认配置

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/hf-cloud-sagemaker-production-defaults。

技能介绍

要解决什么问题

在 AWS SageMaker 上把 Hugging Face 模型挂成「能用的端点」不难,难的是把它当成生产推理:流量上来要能扩、异常要能告警、出问题要能查日志和配置。很多部署脚本只做到 CreateEndpoint 和 InService,自动扩缩、CloudWatch 告警和数据捕获往往被当成事后补丁。

本技能把「规划器已经选好的镜像、IAM 角色、实例类型」落成一套默认带运维能力的资源栈,而不是演示型单实例端点。

核心能力与部署流程

对每个端点,技能按顺序创建并串联:

  • SageMaker 模型:容器镜像、环境变量、执行角色、可选 S3 工件
  • 端点配置与实时端点(deploy.py)或异步推理端点(deploy_async.py,支持 MinCapacity=0)
  • Application Auto Scaling:默认按每实例约 20 次调用/分钟做目标跟踪;异步场景额外注册步骤扩缩,避免「缩到零后无法唤醒」
  • CloudWatch 告警:延迟、错误、平台开销(异步还有队列堆积等)

脚本会等待 InService(最长约 30 分钟)、注册扩缩与告警,并在 stdout 输出含端点/配置/模型名的 JSON,便于下游自动化。附带 invoke_endpoint.py 做跨平台、无 BOM 的冒烟调用;拆解用 teardown.py 按告警 → 扩缩 → 端点 → 配置 → 模型顺序删除。

数据捕获默认关闭(避免未授权的持续 S3 成本),需显式 --enable-data-capture。

适用边界与注意点

  • InService ≠ 部署成功:MMS 类容器可能 /ping 正常但 Python 工作进程已崩溃。必须做一次真实调用,并在 /aws/sagemaker/Endpoints/ 日志里扫描 Traceback、Worker died 等标记。
  • 冷启动:从 HF Hub 在容器内拉权重时,5–15 分钟以上 InService 很常见;可用 --model-s3-uri 预置权重。vLLM 镜像若标签含 cu130+,必须传 --inference-ami-version,否则可能出现 CannotStartContainerError 且无日志。
  • TEI 与 vLLM 环境变量不同(如 HF_MODEL_ID vs SM_VLLM_*);生成式重排序器需用补全 API + 特定 prompt 后缀,不要用聊天模板。
  • Windows 手写 JSON 负载时注意 UTF-8 BOM 会导致 400;优先用附带脚本。数据捕获桶若与模型桶分离,需确认 IAM 对捕获路径有写权限。

使用场景

  • 规划器已确定 vLLM 容器 URI 与执行角色后,要把同一配置落成带目标跟踪扩缩和三组 CloudWatch 告警的实时推理端点。
  • TEI 嵌入模型在 CPU 实例上上线,需用 `HF_MODEL_ID` 部署且避免误传仅 vLLM 使用的 `--inference-ami-version`。
  • 长耗时或大 payload 推理需在批次之间缩到零实例,要用异步端点、指定 `--output-s3-uri` 并通过 S3 触发调用。
  • 端点状态已是 InService,仍要用 `invoke_endpoint.py` 打一次真实请求并扫描端点日志里的 Traceback/Worker died 再对外宣告可用。

适合人员

  • 负责 Hugging Face 模型在 SageMaker 生产环境上线,并需默认扩缩、告警与可拆解资源栈的平台/MLOps 工程师。
  • 维护 Agent 部署链路(镜像选择、IAM 预检、区域上下文)并在 stdout 消费部署 JSON 的自动化集成开发者。
  • 在 SageMaker vLLM 容器上部署 Qwen3-Reranker 等生成式重排序器、需补全 prompt 与 logprobs 评分的检索算法工程师。
  • PoC 或压测结束后必须执行 `teardown.py` 清理端点与扩缩策略,避免实时实例长期计费的项目技术负责人。