昨天看到了AWS MLOps Framework的两个方案的架构图,以及解决方案简介之後,今天想讨论的是成本(该解决方案的费用)、哪些工具可以用来估算费用、费用注意事项、设计架构注意事项等等。
假设在US East (N. Virginia) Region发布这个服务的方案一,也就是单帐号部署版本,预估每个月会花费60.93美元在上面。计算的费用假设一个小时进行一次即时的ML推理服务(model serving),则每个月花费约48.24 美元。(根据2021/09/12的资料。)
且假设每天维护 100 个pipeline运行,每秒运行一个推理请求,模型大小使用了 100 MB 的存储,并且该解决方案总共使用 100 GB 的存储大小。
在这个解决方案当中可以看到:
AWS 服务名称 | 分类 | 费用 |
---|---|---|
Amazon API Gateway | 基础架构 | $4.55 |
AWS Lambda | 基础架构 | $0.80 |
Amazon SageMaker | ML | $48.24 |
Amazon S3 | 资料储存 | $2.30 |
AWS CodePipeline | 基础架构 | $2.00 |
Amazon ECR | 基础架构 | $1.44 |
AWS CodeBuild | 基础架构 | $1.60 |
总额 | ~$60.93/月(美金) |
一般来说当列出第一版本计算的价格表之後,可以拿这个估算版本,和一起维护ML专案的同事们,从技术面和商业面讨论:这些对於资料量的假设是否合理,对於使用者呼叫服务的使用量是否跟我们的使用者行为一致,需要往上增或是往下降这个估计使用额度。以及在ML的专案上面,这些假设是否足够,有没有漏掉没有预估的地方。
有时候一个专案的估算很依靠经验值,每间公司的商业模式也不尽相同。透过和同事的讨论,让大家对於专案的成本和透明度了解更多,也让这些假设更贴近公司的案例。或者,参考网路上其他的解决方案,和其估算成本的方式,这也是为什麽在这边跟大家分享这个案例。
可以使用AWS calculater来计算,所有的计算币值都以美金为单位。在费用的计算页面,不需要AWS帐号登入,直接点进去就可以计算。通常在讨论费用估算的时候,会用每月成本估算。大部分的计算会根据业务的所在地的区域(region)计算,同时也会看要使用的服务有没有在该区域支援,如果没有的话是不是要跨区域使用某些服务等等。
如果对於每一个服务的价钱计算细节想要有更深入的了解,通常到该服务的价钱页面,就可以看到定价细节,甚至包含几个计算范例让你参考可以怎麽计算。这样就已经足够完成大约的估算了。
还有一些魔鬼的细节,也建议大家有空可以点定价假设和变化或是FAQ页面看一看。里面谈到几个关於价钱估算的常见问题,或是大家在估算的时候常常会没有注意到的细节。像是:使用的地区、价格变动、税务、计算的时间区间、折扣与促销、计费周期、分服务层级定价、以秒计费或分钟小时计费、是否有使用到第三方费用、汇率等等。或是计算范例看一下常见的AWS或是混合云的计算范例。
预设的pipeline包含了部署和共享模型,若需要增加训练模型的逻辑,需要从中修改。在Pipeline的开发上,会需要两个关键字:
值得注意的是:须将适当的 IAM 权限传递给 mlopscloudformationrole,当 AWS CloudFormation 使用这个角色来启用管道时,它有权配置必要的资源。例如,如果您的自定义管道创建 Lambda 函数,则 mlopscloudformationrole 必须具有 lambda:CreateFunction 权限才能预置 Lambda 函数。
开发的过程,呼叫/pipelinestatus则可以取得pipeline的现况。帮助追踪目前的事件状态。
假若要部署在预设的区域之外,先到AWS 区域服务列表确认该服务在你想部署的区域是有支援的。
Reference
[1]. AWS 价格计算机用户指南
[2]. AWS MLOps Framework
>>: 每个人都该学的30个Python技巧|技巧 13:什麽都能装的百宝袋—串列(List)(上)(字幕、衬乐、练习)
前言: 昨天我们成功建立了php网页和mysql资料库的连线,让我们顺利的把一些使用者填写的资料送...
我能同意职员上班不能看股票,因为起起伏伏的线图,也会跟随着心情曲线起伏,让当天无法专注於工作上,毕竟...
coroutine神奇又好用,那我要怎麽开始呢? 官方提供了两种方法,launch和 async l...
External Authorization这功能主要拿来做request的验证,可以在reques...
上一篇:Day 01-引言:Terraform 是个好东西 课程内容与代码会放在 Github 上:...