如何为机器学习工程设计Python接口( 二 )


但是 , 因为每个API都有一个predict()方法 , 所以每个API都有相同数量的路由—1 。假设这允许Cortex在基础设施层面做更多的事情 , 而不限制工程师 。
3.服务模型只是一个微服务对于在生产中使用机器学习的人来说 , 规模是一个主要的问题 。型号可能会很大(GPT-2大约是6 GB) , 计算成本高 , 并且可能有很高的延迟 。特别是对于实时推断 , 扩大规模来处理流量是一项挑战——如果你的预算有限 , 情况更是如此 。
为了解决这个问题 , Cortex把预测器当作微型服务 , 可以水平伸缩 。更具体地说 , 当开发人员进行Cortex部署时 , Cortex将包含API , 旋转为推理准备的集群 , 并进行部署 。然后 , 它将API公开为负载平衡器背后的web服务 , 并配置自动缩放、更新和监视:

如何为机器学习工程设计Python接口

文章插图
 
预测器接口是此过程的基础 , 尽管它“只是”一个Python接口 。
预测器接口所做的是强制打包代码 , 使其成为推理的单个原子单元 。单个API所需的所有请求处理代码都包含在一个预测器中 。这使得大脑皮层能够很容易地衡量预测因素 。
通过这种方式 , 工程师不必做任何额外的工作——当然 , 除非他们想做一些调整——准备一个用于生产的API 。一个皮层的部署是默认的生产准备就绪 。
英文原文:
https://towardsdatascience.com/designing-a-python-interface-for-machine-learning-engineering-ae308adc4412




推荐阅读