在Amazon SageMaker中使用TensorFlow Serving进行批量推理(2026-09-13)

为什么批量推理依然重要?

实时推理很酷,但很多业务场景其实更适合批量推理:每天凌晨处理百万级用户画像、每周跑一次商品推荐、每月做一次风险评分。这些任务不需要毫秒级响应,却要求高吞吐、低成本、可重复。

Amazon SageMaker 结合 TensorFlow Serving,正好能帮你优雅地完成这类工作。

核心思路:把模型交给 TensorFlow Serving

TensorFlow Serving 是 Google 专为生产环境设计的模型服务系统。在 SageMaker 中,你可以直接使用预置的 TensorFlow Serving 容器,无需自己搭建 HTTP 服务。

关键步骤

  1. 训练并保存模型:使用 tf.keras 训练后,用 model.save('model/1') 保存为 SavedModel 格式(注意版本号目录)。
  2. 上传模型到 S3:tar.gz 打包后上传。
  3. 创建 SageMaker 模型:指定 sagemaker-tensorflow-serving 镜像。
  4. 创建批量转换任务:调用 transformer.transform(),指定输入 S3 路径、输出路径、实例类型和数量。

一个真实案例

某电商团队要对 200 万用户做流失预测。模型是 3 层 DNN,输入 128 维特征。他们使用 ml.m5.4xlarge 实例(4 个),批量转换任务耗时 18 分钟,成本约 0.72 美元。如果改用实时端点,同样数据量需要持续运行 4 小时,成本超过 8 美元。

实用建议

常见坑

行动起来

现在就打开你的 SageMaker 控制台,找一个已训练好的 TensorFlow 模型,试着跑一次批量转换。你会惊讶于它的简洁和高效。

小任务:用 1000 条样本数据,在 10 分钟内完成一次批量推理,并对比实时端点的成本。


免责声明:本文内容基于公开文档和常见实践,不构成任何商业或技术决策的唯一依据。实际使用前请参考 AWS 官方最新文档,并测试验证。