技术债克星MLOp: 发挥机器学习的力量

2022-10-09 12:51 908 阅读 ID:396
将门
将门

    大数据正引入一种新的范式——MLOps。作为一门不断发展的学科,大多数机器学习模型都是探索性的,很容易崩溃。而MLOps作为一种解决方案,旨在提高自动化程度和工业机器学习解决方案的质量,同时兼顾监管需求和业务利益。

    它结合系统开发和运营支持(包括集成、测试、发布、部署、基础设施管理等操作)。目前,MLOps几乎成了安全ML任务的答案

    “在数据或整体有变化的时候,最前沿的机器学习模型将会成为你的噩梦。”

    相信这是不少技术人的直观体验。

    在聊到MLOpss之前,我们有必要先来聊聊【技术债】!

    什么是技术债?技术债又是如何产生的? 

    我们必须马上上线。” 几乎是技术界流传最广的用语,也是导致许多团队陷入技术债怪圈的原因之一。

    技术债是代码实现过程中所作的权宜之计的持续成本。这是由于为早期软件发布和更快的上市时间提供短期利益而采取的快捷方式造成的。然而,技术债累加,推迟工作以偿还债务会导致成本增加、系统脆弱和创新率降低。

    那到底什么是技术债呢?

    • 技术债1992年被沃德·坎宁安提出来。在金融领域通过短期的借贷获得充足的资金加快发展,代价就是除了本金之外还要付出利息。软件领域也是一样,为了尽快上线,暂时不顾代码质量欠下技术债,在今后的开发持续的降低开发效率,就像还利息一样。
    • 经济债务可能很容易衡量,包括具体需要归还多少本金和利息。而技术债更像不规范的高利贷,不仅不容易衡量,而且很容易陷入无限还债的深渊。
    • 我们经常会把代码称之为宝贵的资产,因为技术债在代码层面的普遍存在,所以我们也可以说,代码就是债务。只要你是程序员,可以说你的一生都会被技术债所影响。
    • 所以技术债本身是对项目或者代码质量的重要衡量指标。

    通常解决技术债的方案无外乎两个。

    一是直接宣布整个代码重写,下线老的系统,用新的系统替代;二是新做一个系统兼容老的功能,或者直接在老的系统中直接加入新的流程,将功能随着业务升级一点一点的迁移,慢慢放弃老的系统,完成整个升级。

    现在,可喜的是,情况有了变化。

    MLOps作为一个新的概念正在冉冉升起

     MLOps是什么? 

    MLOps是“机器学习”和“信息技术操作”的组合,是一个比较新的概念,但人们对它的需求却在与日俱增。它涉及数据科学家和IT专业人员之间的合作,目的是将机器学习算法产品化

    MLOps诞生于DevOps、数据工程和机器学习的交汇处,与DevOps类似,但在执行上有所不同。MLOps结合了不同的技能集:算法、数学、模拟和开发工具以及升级、生产部署、资源和数据管理以及安全等任务的操作方面。

    MLOps的一个目标是无间断地推出新的模型和算法,而不会导致停机。由于意外情况会导致生产数据的变化,同时机器学习模型可以很好地响应先前遇到的情况,所以定期重训练或者连续地在线训练将会不断缩小模型预测次优结果与最优结果间的差异。

    一个典型的MLOps软件可能横跨数据源、从它们创建的数据集以及标记了它们的历史和属性的AI模型的存储库。具有MLOps操作的组织可能还拥有自动化pipe来管理数据集、模型、实验和软件容器(通常基于Kubernetes),从而简化工作的运行。

    据Cognilytica称,到2025年,此类解决方案的市场可能会从刚起步的3.5亿美元增长到40亿美元。

    但NewVantage Partners的一项调查发现,只有15%的领先企业能将人工智能投入生产,这也间接成为了MLOps扩大市场的瓶颈。

    尽管如此,MLOps的业务价值仍然不能被忽视。稳健的大数据策略使企业能够对不断变化的市场做出反应,这部分是通过频繁地构建和测试机器学习技术,并将其投入生产来达成的。MLOps的主要目标是捕捉和扩展以前的操作实践,同时扩展这些实践以管理机器学习的独特挑战。

    在英伟达,内部运作的开发人员就必须执行检查以确保他们符合MLOps的运行要求。首先,需要在容器(虚拟机)中运行支撑AI应用的库。其次,jobs任务也需要通过授权机制启动一系列容器并在多个服务器间运行。

    另一家采用MLOps软件初创公司GreenStream,就将代码依赖管理(dependency management)和机器学习模型测试纳入了其开发工作流程。GreenStream将模型训练和评估自动化,并利用一种一致的方法来部署每个模型,同时保证人为的监管和介入

    运行MLOps  

    考虑到MLOps所涉及的所有元素,采用MLOps的公司经常遇到障碍也就不足为奇了。数据科学家必须调整各种功能,比如超参数、参数和模型,同时管理重现性结果的代码库。除了传统的代码测试(包括单元测试和集成测试)之外,他们还需要进行模型验证。

    当规划MLOps时,它有助于从业务增长目标开始构建机器学习目标。这些目标通常以KPI的形式呈现,有特定的性能度量、预算、技术需求等。从那里,公司可以识别输入数据和用于该数据的模型类型。接下来是数据准备和处理,包括清理数据和选择相关特征(即模型用于预测的变量)等任务。

    数据选择和准备的重要性常被夸大。在最近的一项调查中,大多数员工认为数据质量问题是未能成功应用AI和机器学习的原因,87%的专业人士表示,他们在人工智能系统中使用的数据存在固有的偏见,会产生歧视性结果。

    在这个阶段,MLOps扩展到模型训练和实验。像版本控制这样的功能可以在整个测试过程中跟踪数据和模型质量的变化,以及帮助跨分布式架构扩展模型。一旦建立了机器学习管道并实现了自动化,就可以将其部署到生产中,然后对模型进行监控、优化和维护。

    监管模型的一个关键部分是治理机制,这在这里意味着添加控制措施以确保模型履行职责。凯捷公司(Capgemini)的一项研究发现,对于合乎道德使用AI的企业,客户和员工往往会回以更高的忠诚度、更多的业务,但却强烈抵制恶意使用AI的企业。这项研究表明,如果企业在这个问题上处理不当,不仅会带来声誉风险,也会直接影响其利润。

    MLOps的好处  

    总之,MLOps适用于整个机器学习生命周期,包括数据收集、模型创建、编排、部署、运行状况、诊断、治理和业务度量。如果顺利执行,MLOps可以为AI项目带来商业利益,同时允许数据科学家以明确的方向和可衡量的基准进行工作。

    忽视MLOps的企业,往往是有很大几率陷入技术债的公司,将自担风险。国际数据公司(IDC) 2019年的一项调查显示,技能短缺和来自高层不切实际的期望是机器学习失败的首要原因。2018年,Element AI估计,在全球从事人工智能开发和研究的2.2万名博士教育的研究人员中,只有25%“足够精通这项技术,能够与团队合作,将其从研究带到应用中去。”

    另外一个不可忽略的事实是,模型经常偏离它们想要实现的目标。将这些故障风险作为MLOps的一部分进行评估是一个关键步骤,这不仅是出于监管目的,也是为了防止不良业务影响。例如,在YouTube上发布一个不准确的视频推荐的代价要远远低于将一个无辜的人打上欺诈标记、屏蔽某人的账户或拒绝他们的贷款申请等影响。

    MLOps的优势在于,它将运营团队置于组织内实践的最前沿。随着运营和数据团队的专业知识和协作的分工更智能,机器学习算法带来的瓶颈得以突破,而MLOps则加强了这种良性循环。

    From: venturebeat ; 编译:Shelly

    Illustrastion by Sara Maese from Icons8

    免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
    反馈
    to-top--btn