ML Ops 是 AI 领域中一个相对较新的概念,可解释为「机械进修操作」。如何更好地管理数据科学家和操作人员,以便有效地开发、布局和监视模型?其中数据品质至关重要。
本文将介绍 ML Ops,并强调数据品质在 ML Ops 工作流中的关键作用。
ML Ops 的发展弥补了机械进修与传统软件工程之间的差距,而数据品质是 ML Ops 工作流的关键,可以加快数据团队,并维护对数据的信任。什么是 ML OpsML Ops 这个术语从 DevOps 演变而来。DevOps 是一组过程、方法与系统的统称,用于促进开发(应用程序 / 软件工程)、技术运营和品质保障(QA)部门之间的沟通、协作与整合。DevOps 旨在重视软件开发人员(Dev)和 IT 运维技术人员(Ops)之间沟通合作的文化、运动或惯例。透过自动化软件交付和架构变更的流程,来使得构建、尝试、发布软件能够更加地快捷、频繁和可靠。而 MLOps 基于可提高工作流效率的 DevOps 原理和做法,例如陆续集成、陆续交付和陆续布局。ML Ops 将这些原理应用到机械进修过程,其目标是:
更快地试验和开发模型
更快地将模型布局到消费情况
品质保证
DevOps 的常用示例是使用多种工具对代码从事版本控制,如 git、代码审查、陆续集成(CI,即频繁地将代码合并到共享主线中)、自动尝试和陆续布局(CD,即自动将代码合并到消费情况)。在应用于机械进修时,ML Ops 旨在保证模型输入品质的同时,加快机械进修模型的开发和消费布局。但是,与软件开发不同,ML 需要处理代码和数据:
机械进修始于数据,而数据来源不同,需要用代码对不同来源数据从事清洗、转换和存储。
然后,将处理好的数据提供给数据科学家,数据科学家从事代码编写,完成特征工程、开发、训练和尝试机械进修模型,最终将这些模型布局到消费情况中。
在消费中,ML 模型是以代码的形式存在的,输入数据同样可以从各种来源猎取,并创建用于输入产品和业务流程的输入数据。
虽然上文的描述对该过程从事了简化,但是仍然可以看出代码和数据在 ML 情况中是紧密耦合的,而 ML Ops 需要兼顾两者。具体来说,这意味着 ML Ops 包含以下任务:
对用于数据转换和模型定义的代码从事版本控制;
在投入消费之前,对所猎取的数据和模型代码从事自动尝试;
在稳定且可扩展的情况中将模型布局到消费中;
监控模型性能和输入。
数据尝试和文档记录如何适配 ML Ops?ML Ops 旨在加快机械进修模型的开发和消费布局,同时保证模型输入的品质。当然,对于数据品质人员来说,要实现 ML 工作流中各个阶段的加快和品质,数据尝试和文档纪录是非常重要的:
在利益相关者方面,品质差的数据会影响他们对系统的信任,从而对基于该系统做出决策产生负面影响。甚至更糟的是,未引起注意的数据品质课题可能导致错误的结论,并纠正这些课题又会浪费很多时间。
在工程方面,急于修复下游消费者注意到的数据品质课题,是消耗团队时间并缓慢侵蚀团队消费力和士气的头号课题之一。
此外,数据文档纪录对于所有利益相关者从事数据交流、建立数据合同至关重要。
下文将从非常抽象的角度介绍 ML pipeline 中的各个阶段,并讨论数据尝试和文档纪录如何适应每个阶段。数据猎取阶段即使是在数据集处理的早期阶段,从长远来看,对数据从事品质检查和文档纪录可以极大地加快操作。对于工程师来说,可靠的数据尝试非常重要,可以使他们安全地对数据猎取 pipeline 从事改动,而不会造成不必要的课题。同时,当从内部和外部上游来源猎取数据时,为了保证数据出现未预料的改动,在猎取阶段从事数据验证是非常重要的。
模型开发本文将特征工程、模型训练和模型尝试作为核心模型开发流程的一部分。在这个不断迭代的过程中,围绕数据转换代码和支持数据科学家的模型输入提供支持,因此在一个地方从事改动不会破坏其他地方的内容。在传统的 DevOps 中,通过 CI/CD 工作流从事陆续的尝试,可以快速地找出因代码修改而引入的任何课题。更进一步,大多数软件工程团队要求开发人员不仅要使用现有的尝试来尝试代码,还要在创建新功能时添加新的尝试。同样,运行尝试以及编写新的尝试应该是 ML 模型开发过程的一部分。在消费中运行模型与所有 ML Ops 一样,在消费情况中运行的模型依赖于代码和输入数据,来产生可靠的结果。与数据猎取阶段类似,我们需要保护数据输入,以避免由于代码改动或实际数据改动而引起的不必要课题。同时,我们还应该围绕模型输入从事一些尝试,以保证模型继续满足我们的期望。尤其是在具有黑盒 ML 模型的情况中,建立和维护品质标准对于模型输入至关重要。同样地,在共享区域纪录模型的预期输入可以帮助数据团队和利益相关者定义和传达「数据合同」,从而增加 ML pipeline 的透明度和信任度。
原文链接:https://greatexpectations.io/blog/ml-ops-data-quality/