
308
|
第
6
章
题
。而且,虽然一个特征仓库本身并不执行特征变换,但它提供了一种将上游特征
工程的步骤从模型服务中分离并提供时间点正确性的方式。
本章中讨论的变换设计模式还提供了一种保持特征变换的独立性和可复现性的方法。
例如,
tf.transform
可以通过在生产中使用完全相同的代码训练模型和提供预测来
对数据实施预处理,从而消除训练-服务偏斜。这确保了训练和服务的特征工程管
道是一致的。
然而,特征仓库提供了特征可重用性的额外优势,而
tf.transform
并不具备。尽管
tf.transform
管道确保了可复现性,但它所创建的特征只是为该模型而创建和开发
的,并不容易被其他模型和管道共享或重用。
另一方面,
tf.transform
特别注意确保在服务期间的特征创建是在加速的硬件上执
行的,因为它是服务图的一部分。目前特征仓库通常不提供这种功能。
设计模式
27
:模型版本控制
在模型版本控制设计模式中,通过将更改后的模型部署为具有不同
REST
端点的微
服务来实现向后兼容性。这是本章中讨论的许多其他模式的必要前提。
问题
正如我们看到的数据漂移(在第
1
章中介绍的),随着时间的推移模型可能会变得陈旧,
需要定期更新以确保它们反映出组织的不断变化的目标以及与它们的训练数据相关
的环境。将模型更新部署到生产环境将不可避免地影响模型在新数据上的行为方式,
这就提出了一个挑战——我们需要一种方法来保持产品模型与时俱进,同时仍然确
保对现有模型用户的向后兼容性。
对现有模型的更新可能包括更改模型的架构以提高准确率,或者根据最近的数据重 ...