- 《架构师》2017年4月
- InfoQ中文站
- 428字
- 2020-06-26 06:05:03
模型训练和服务架构
我们决定将深度学习模型的训练和服务分为两个管道。下图是我们的模型训练和服务架构的概述:
模型训练管道
模型训练步骤:
• 我们的训练特征是从Hadoop中提供的数据生成的。
• 生成的训练特征保存在AWS S3中。
然后使用AWS中的GPU实例和S3中的批量训练样本训练TensorFlow模型。
一旦模型被构建并验证通过,它将被发布到S3中的模型存储库。
模型服务管道
验证的模型在生产中通过将模型从模型库传送到TensorFlow Serving实例来提供。
基础结构
我们在AWS EC2实例上运行TensorFlow Serving。Consul在实例之前设置,用于服务发现和分发流量。客户端连接从DNS查找返回的第一个可用IP。或者弹性负载平衡可用于更高级的负载平衡。由于TensorFlow模型的预测本质上是无状态操作,所以我们可以通过旋转加速更多的EC2实例来实现横向可扩展性。
另一个选择是使用Google Cloud平台提供的Cloud ML,它提供TensorFlow Serving作为完全托管服务。但是,当我们在大概2016年9月推出TensorFlow Serving时,Cloud ML服务处于alpha阶段,缺少生产使用所需的功能。因此,我们选择在我们自己的AWS EC2实例中托管,以实现更精细的粒度控制和可预测的资源容量。