数据的生命周期由数据使用过程中的一系列阶段组成,每个阶段的操作都由一组策略控制,这些策略可以在每个阶段实现特征价值最大化。这种从数据输入到数据销毁的整个生命周期管理的方法被称为数据生命周期管理。高质量的数据生命周期管理流程可以为MLOps中的数据系统提供优秀的结构与组织,还可以实现流程中的关键目标,比如数据安全性与数据可用性。
MLOps中的数据生命周期管理可分为如下几个阶段。
阶段一:数据收集
数据生命周期始于数据收集。在此阶段,数据来源非常丰富,包括Web与移动应用等。如何聚合多样数据源及数据形式就成为MLOps中针对数据系统必须要考虑的问题。收集所有可用数据并不是成功系统的必要条件。实际上,一个成功的系统应当始终依据数据质量及其与业务功能的关联程度来评估新数据的整合。
阶段二:数据存储
数据的组织方式多种多样,影响着MLOps系统的数据存储类型。结构化数据倾向存储于关系数据库,非结构化数据倾向存储于NoSQL或非关系数据库。在此过程中,我们需要应对复杂多变的数据处理流程及数据版本。对于数据安全性,我们可通过数据加密和数据转换等方式免受恶意行为者的侵害,确保敏感数据符合GDPR等政策对隐私数据的保护要求。
在数据存储阶段,我们还应关注数据冗余。存储数据副本可以在数据删除或数据损坏的情况下作为备份,防止恶意软件攻击或意外的数据修改带来的损失。
阶段三:数据共享与使用
在此阶段,数据会提供给MLOps系统。数据的接入与处理面临众多挑战。首先,数据来源、数据类型众多,若不能统一管理,我们将面临巨大的数据接入压力。其次,从原始数据到特征数据之间存在着巨大差异,往往需要经过清洗、加工、特征构造等多个处理流程,这增加了数据使用成本。
阶段四:数据归档
MLOps系统对数据的时效性要求很高,一段时间后,不再使用的数据则需要归档保存,但维护归档数据仍然非常重要。必要时,我们可以将归档数据恢复到生产环境。
阶段五:数据销毁
这是数据生命周期的最后阶段——数据将从记录中被清除并安全销毁。