英文原标题:Fleet-wide computer vision lifecycle at the edge with SageMaker SDK v3
本文为英文原文的机器翻译摘要,原文见:AWS Machine Learning Blog ↗
- 文章针对产线多摄像头场景,指出单一模型难以适应各摄像头视角、反光和环境光差异,需为每个摄像头单独微调模型,核心挑战转为规模化训练、评估、版本化和部署数千个模型。
- 方案基于 Amazon SageMaker Python SDK v3 重构,用 SageMaker Neo 替代已弃用的 Edge Manager 进行边缘优化,通过双分支 SageMaker Pipeline 为每个摄像头训练异常检测器和缺陷分类器,并设置质量门禁拦截不达标模型。
- 训练流水线每次执行包含 13 个步骤,三个入口步骤并行:预处理、获取最新异常模型、获取最新分类器;两个分支分别训练卷积自编码器和微调的 ResNet18,导出 ONNX 并评估后经质量门禁,再经 Neo 编译注册到 Model Registry。
- 编排层使用 SQS FIFO 队列接收重训练请求,Lambda 触发 Step Functions 执行,通过 DynamoDB 信号量限制并发(默认最多 5 个流水线同时运行),完成事件发布到 SNS,失败通过 EventBridge 规则传递并保留原始错误。
- 部署使用 AWS CDK,需 Python 3.10-3.12、Docker 和 CDK CLI 2.1131.0 以上;合成数据上完整流水线运行计算成本约 0.07 美元,示例代码已在 aws-samples GitHub 仓库提供。
关键数据
- 每个摄像头训练流水线每次执行运行 13 个步骤
- 编排层默认最多允许 5 个流水线执行同时运行
- 合成数据上完整流水线运行计算成本约 0.07 美元
- 需要 AWS CDK CLI 版本 2.1131.0 或更高
- 支持 Python 3.10、3.11 或 3.12
引语
- 每个摄像头最终都有自己的微调模型
- 每个获批包都有设备就绪的编译产物
为什么值得看:文章给出了用 SageMaker SDK v3 和 Neo 管理大规模边缘视觉模型生命周期的可部署参考架构,并附有低成本示例代码。