首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在云中部署N个ML模型作为可伸缩服务的最佳方法是什么?

在云中部署N个ML模型作为可伸缩服务的最佳方法是什么?
EN

Data Science用户
提问于 2023-01-17 15:58:52
回答 1查看 27关注 0票数 1

我有N (~50)个不同语言的情感模型,这些模型都是在HggingFace的变压器模型上精调的。每个型号的大小约为2-3 GB .现在,我如何在像GCP这样的云平台中将所有这些情感模型部署为一个可伸缩的服务,从而优化账单,最大限度地提高服务性能(低推理时间或延迟)。

目前,我们正在将每个模型部署为一个单独的服务。对于每个模型,我们遵循以下步骤。

  1. 使用Flask开发服务:我们为我们的服务编写代码,包括处理请求的路由和逻辑。
  2. 创建一个Dockerfile:创建一个docker文件来构建我们服务的Docker映像。
  3. 建立码头形象:我们建立我们服务的码头形象。
  4. 将Docker映像推送到GCR:我们在GCR中创建一个新的存储库,并将Docker映像推送到它。
  5. 创建一个GKE集群:我们转到Kubernetes引擎控制台并创建一个新集群。选择适当数目的节点并配置所需的资源。
  6. 创建一个GKE部署:我们创建一个新的部署,并将其与GCR存储库中的映像关联起来,并配置所需数量的副本。
  7. 创建一个云负载均衡器:我们转到Google控制台并创建一个新的云负载均衡器。选择我们在步骤6中创建的GKE部署作为负载均衡器的目标。
  8. 更新DNS以指向负载均衡器:然后更新DNS设置以指向在步骤7中创建的负载均衡器的IP地址。
  9. 监视服务:我们使用Stackdriver来监视服务,并确保服务运行顺利,并确保所需数量的副本正在运行。
  10. 扩展服务:必要时,我们使用GKE的自动缩放功能来根据传入流量或其他指标自动缩放运行您的微服务的副本的数量。

我们对每个模型遵循相同的步骤,并将模型部署为一个专用服务。然而,这个方法在月底花费了我们很多钱。

因此,建议我采用一种更好的方法,以可伸缩的方式部署服务这样的多个模型,以便优化云账单,但性能最大化。

EN

回答 1

Data Science用户

发布于 2023-01-18 00:00:30

有几个想法:

  • 减少型号的数量。
  • 通过精馏、量化和剪枝来缩小模型的大小。
  • 缩小集群中计算机类型的大小。
  • 当不使用时,确认系统降至零。
票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/117832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档