如何停止Amazon SageMaker端点以省费且保留模型复用能力?
问题描述
- 跟着GitHub上的Amazon SageMaker示例训练了一个图像生成模型,操作步骤:
- 创建
ml.t2.medium规格的SageMaker Notebook实例 - 打开运行中的Jupyter notebook,进入
SageMaker Examples选了个示例点Use - 上传图片、训练模型,完成图像生成操作
- 创建
- 示例里用的训练实例是
ml.g4dn.2xlarge,推理实例也是ml.g4dn.2xlarge,我把笔记本末尾两行删资源的代码注释掉了:#finetuned_predictor.delete_model() #finetuned_predictor.delete_endpoint() - 学习完后我在
Amazon SageMaker > Notebook instances里选Actions>Stop停了笔记本,但看账单发现推理实例跑了19小时还在扣费 - 查控制台发现:
Models页面能看到模型,但只有删除选项,没法启停Endpoints页面显示端点是“InService”状态,也只有删除选项,没有启停功能
- 想问:不用模型的时候怎么避免扣费,需要用的时候又能快速恢复?是不是只要删了产生费用的endpoint,留着model就能复用?
解决方案
核心结论
没错,完全可以删除处于InService状态的端点(Endpoint),保留模型(Model),这样既可以立刻停止推理实例的计费,又能在需要演示或使用时快速恢复服务。
详细说明
计费关键点:
- SageMaker的
Model只是模型的元数据和存储引用,本身不会产生费用(模型文件存在S3里,存储成本很低,完全可以长期保留) - 一直扣费的是Endpoint,因为Endpoint绑定了运行中的推理实例(比如你用的
ml.g4dn.2xlarge),只要Endpoint是InService状态,实例就会持续运行并产生费用
- SageMaker的
恢复服务的操作:
下次需要用模型时,直接用已保存的Model重新创建Endpoint就行:- 进入
Amazon SageMaker > Endpoints页面,点击Create endpoint - 选择
Use an existing model,选中你保留的那个模型 - 配置好原来的推理实例类型(
ml.g4dn.2xlarge)和其他参数,创建完成后就能正常使用了
- 进入
小技巧:
- 如果只是偶尔用一下,建议用的时候再创建Endpoint,用完马上删掉,彻底避免不必要的扣费
- 可以把创建Endpoint的步骤写成简单的Python脚本,下次需要时一键运行,比在控制台点来点去更方便
内容的提问来源于stack exchange,提问作者antun
相关产品推荐
相关产品推荐

