
571
第 19 章
大规模训练和部署 TensorFlow 模型
一旦有了一个可以做出惊人预测的漂亮模型,你将如何处理?好吧,你需要将其投入生
产环境!这可能很简单,例如对一批数据运行模型,然后编写每晚运行该模型的脚本。
但是它通常涉及很多事情。基础架构的各个部分可能需要在实时数据上使用此模型,在
这种情况下,你可能希望将模型包装在 Web 服务中:这样基础架构的任何部分都可以使
用简单的 REST API(或某些其他协议)随时查询模型,如我们在第 2 章中讨论的。但是
随着时间的流逝,你需要定期对模型进行新数据的重新训练并将更新后的版本推向生产
环境。你必须处理模型的版本控制,从一个模型平稳过渡到下一个模型,以防万一出现
问题时可能回滚到前一个模型,并可能并行运行多个不同的模型以进行 A/B 实验
注 1
。如
果产品成功了,你的服务可能开始每秒获得大量查询(QPS),必须扩展它以支持负载。
正如我们将在本章中看到的那样,扩展服务的一个很好的解决方案是在你自己的硬件基
础结构上使用 TF Serving 或通过云服务(例如 Google Cloud AI Platform)。它会负责有
效地为你的模型提供服务,处理平滑的模型转换等。如果使用云平台,你还将获得许多
额外的功能,例如强大的监视工具。
1
此外,如果有大量的训练数据和计算密集型模型,那么训练时间可能会很长。如果产品
需要快速适应变化,那么很长的训练时间可能会成为一个障碍(想想新闻推荐系统宣传
上周的新闻)。可能更重要的是,很长的训练时间将妨碍你尝试新的想法。在机器学习 ...