执行概要
英特尔 IT 部门下设大型 AI 团队服务整个英特尔公司,助力重要工作转型、流程优化、消除扩展瓶颈并创造重大业务价值(2020 年投资回报超过 15 亿美元)。我们释放数据潜能,使英特尔从产品设计到制造再到销售和定价的业务流程更智能、更快捷、更创新。
为了实现规模化运营,我们开发了 Microraptor:一套在我们所有 AI 平台上均可重复使用的 MLOps 功能集。Microraptor 支持先进的 MLOps 功能,以加速机器学习 (ML) 模型的开发、部署和维护,并实现其自动化。我们的模型产品化方法克服了通常会阻碍企业 AI 项目投入生产的典型后勤障碍。这种方法通过持续集成/持续交付 (CI/CD)、自动化、构建模块的重复使用和业务流程的集成,使我们能够将 AI 模型投入规模化生产。
我们的 MLOps 方法具有多重优势:
- 我们的 AI 平台对部署细节和业务流程集成进行了抽象化处理,因此数据科学家可专注于模型开发。
- 我们可在不到半小时内部署一个新模型。没有 MLOps,这可能要耗费数天或数周。
- 我们系统化的质量衡量指标大幅减少了维护生产中的数百个模型所需的成本和精力。
背景
英特尔 IT 部门的 AI 团队包括 200 余名数据科学家、机器学习 (ML) 工程师和 AI 产品专家。我们的工作系统地贯穿在英特尔的各项核心业务活动中,提供能够优化流程和消除不同扩展瓶颈的 AI 解决方案。我们利用 AI 创造高业务影响,并改造英特尔的内部运营,包括设计、制造、硬件验证、销售、性能以及 Mobileye(见图 1)。我们在过去的十年里部署了 500 多个投入生产的 ML 模型,其中仅去年部署的模型就超过 100 个。
图 1. 我们在 AI 方面的工作支持着英特尔业务的诸多领域。
通过在英特尔的关键业务流程中集成并支持 AI,我们在 2020 年创造的价值超过 15.6 亿美元。以下是一些例子:
- 我们增强了产品验证能力并实现了产品验证的自动化,打造了更多功耗更低、性能更佳、电池续航更长的智能产品。
- 我们提供了数据洞察,使得英特尔的销售团队能够更有针对性地面向客户提供相关且有价值的解决方案,并对产品性能和定价结构做出正确的决策。
- 多款英特尔® 处理器的工厂产量共提高 370 万件(价值 3.72 亿美元)。
当许多公司的 AI 计划尚处于起步阶段,不少仍在进行小范围概念验证的时候,英特尔整个企业已经从 AI 中收获了可观的业务价值。从我们的 AI 实践中,我们得出一个结论,那就是把每一个 AI 项目作为一个独立项目来对待是无法获得长期生产层面的效益的。要真正利用 AI 的优势,我们必须充分了解 AI 生命周期,并解决大规模开发及维护 AI 算法的挑战。
AI 生命周期
如图 2 所示,AI 生命周期包括 3 个步骤。
第 1 步:第一个关键步骤就是开发高质量的 ML 模型。这些模型要能满足特定业务要求,并且经得起检验,能够解决我们试图解决的问题。但是,单纯开发模型是不够的。
第 2 步:模型就绪后,最好要尽快实现模型的 “产品化”,从而让模型能够实现自身价值。所谓 “产品化”,就是将 AI 解决方案投入实际工作,针对具体问题或用例将数据转化为业务洞察。
第 3 步:模型一旦投入生产,理论上就已经产生业务价值了。但我们的工作还没有结束。因为模型会随着时间的过去而退化。如果不主动监测和跟踪模型的健康状况或采取妥善的维护措施(例如再训练),模型可能会退化,导致结果错误甚至产生实际损失。
图 2. AI 生命周期包含三个步骤,为了实现 AI 的业务价值,必须简化所有步骤。
虽然在生产中维护多个模型并不难,但当我们在实际的大规模生产中有数百个模型要维护时,无疑会形成巨大挑战。我们的主要困难在于,AI 专家可能因忙于维护现有的 ML 模型而没有精力用 AI 解决新问题或创造新价值和增长点。因此,我们认为有必要高效地进行模型维护,使大部分 AI 资源能够投入到新项目和新业务问题。我们想要避免不断处理与大量已部署模型相关的问题。
我们 IT 部门的 AI 团队旨在利用全自动化以及软件行业常见的持续集成/持续交付 (CI/CD) 概念所提供的适应能力,在几分钟内实现模型产品化。我们已经调整了我们的 DevOps 基础设施(我们通常将其用于传统软件的全自动发布和部署流程),使其适用于 AI 领域。
一旦投产,我们的目标就是实现模型的主动高效管理和维护。我们设定了远大的目标:将投入的维护资源控制在全部资源的 10% 或以下。过去几年里,虽然运营规模在不断扩大且每年部署的新模型达数百个,我们仍然保持了 10% 的投入水平并在持续降低成本。
AI 产品化的挑战
在实际情形中,将 AI 模型产品化通常需要投入大量时间和精力。很多情况下,模型可能永远无法投产。事实上,ML 产品化是目前 AI 领域最大的挑战之一。约 87% 的 AI 项目在实验室阶段就夭折了1,“投入试点看似简单,但真的要投入生产则困难重重”2。
创建定制化的 ML 应用是 ML 模型产品化的主要障碍。一个简单的方式是使用现代计算平台、工具和开源代码为每个模型构建一个专用的包装器应用。这些为实施任何应用、系统或 AI 解决方案提供了出色的构建模块。利用这种方法,各 AI 解决方案或模型均可构建为小型、独立的应用并投入生产。定制化的包装器应用负责数据提取和数据准备,并通过 Web 服务、文件或报告公开模型得出的结果,供用户使用。开发一个包装器应用可能需要两到三周的时间,另外还需要一周的时间进行测试,因此模型可在几周内实现产品化。
但根据我们的经验,定制化的包装器存在扩展性问题。它很容易导致出现数百个 AI 应用不受管理的混乱局面。以下列举了定制化包装器的主要缺点:
- 既不简单也不迅速:几周的时间会消耗大量资源,远超 “在几分钟内实现模型产品化” 的 CI/CD 目标。
- 受限或不能重复使用:这种方法有利于冗余但不利于重复使用。不同的应用可能在执行类似的任务,而这些任务可能本可以重复使用代码。
- 问题(任务)无法相互分离:开发模型的数据科学家可能还要开发包装器,而包装器要求的代码往往又与数据科学无关。即使软件开发人员编写了包装器代码,开发人员和数据科学家也可能需要投入大量精力进行沟通和返工。
- 维护模型的成本高昂:数百个不受管理的 AI 应用分散在企业各处对模型管理构成了巨大挑战。对如此大量的应用而言,要监测和跟踪其健康状况十分困难;随着时间过去,模型会不可避免地退化,问题还会进一步恶化。
什么是 MLOps?
机器学习运维 (MLOps) 是在生产中高效开发、测试、部署和维护 ML 的实践。MLOps 能够实现整个 ML 生命周期的自动化并监测整个周期,支持跨团队的无缝协作,从而缩短生产时间并实现可再现的结果。
英特尔 IT 部门的 MLOps 解决方案
为了简化项目和软件的交付,英特尔 IT 部门已经采纳 DevOps 多年。为了避免使用定制化包装器推进 AI 产品化时会产生的相关问题,我们利用我们的 DevOps 基础设施以及我们在这方面的经验来支持和改进机器学习运维 (MLOps)。为了实现 MLOps,我们为所涉及的各业务领域(例如销售和制造)建立了 AI 产品化平台(见图 3)。模型和 AI 服务全部基于这些 AI 平台进行交付、部署、管理和维护。
我们的 ML 工程师构建了实现 AI 模型产品化和 MLOps 所必需的 ML 工作流程和基础设施,其主要职责如下:
- 为 ML 大规模地提取和组织数据。
- 为 ML 模型构建推理接口。
- 实现基于 CI/CD 的 MLOps 以及 ML 管道自动化。
- 构建和维持各 AI 平台。
图 3. 各业务领域的 AI 平台有各自的特性。
进一步了解我们的 AI 平台
我们的 AI 平台有四项主要任务:
- 以简单的方式快速将模型投入生产,并实现完全的 CI/CD。
- 获取与特定业务领域中所有模型相关的数据,并同时支持流处理和批处理。平台需能提取多种模型可以使用的数据。
- 实现大规模、及时的反馈闭环。平台应能与业务流程深度集成。集成点应可用于多种模型,模型创建者无需担心如何将模型的结果集成到业务工作流程中。
- 维护模型。平台应具备可管理性,例如,平台应能收集日志、跟踪模型的健康指标,并对模型进行再训练。
我们的 MLOps 方法还可以分离各项任务,数据科学家开发模型时不会受到专业范围外的设计问题的困扰。采用这些 AI 平台后,代码整体减少,更多代码可以重复使用,同时得益于全自动化,可预测性也提高了。此外,AI 平台还囊括了创新的管理功能,可在生产中跟踪和维护模型,并降低其总体拥有成本。这些管理功能包括应用监测、集成的健康状况检查、系统测试和模型再训练。
我们的 AI 平台基于各类开源技术构建,整合了丰富的内部知识产权和资源。在大多数情况下,这些平台基于经过优化的流式微服务架构,可以轻松地在本地或公有云上与 Docker 容器和Kubernetes 一起部署。
我们的 AI 平台显著缩短了上市时间,降低了 AI 解决方案的总体拥有成本,促进了重复使用,使 AI 从业者在工作中能够更加专注,并整体提高了 AI 部署的质量和可靠性。
我们 AI 平台的共性
各业务领域的 AI 平台处理的数据类型、数据提取流程以及融入相关业务工作流程的集成点各不相同。但我们的 AI 平台有利于促进重复使用,因为它们有着以下共同目标:
- 支持试验跟踪、模型注册表和训练可再现性。
- 实现问题分离,最大程度减少数据科学家和 ML 工程师之间的工作交接或返工。
- 支持模型部署的 CI/CD。
- 支持可扩展和灵活的推理系统。
- 支持在生产过程中维护模型并监测模型质量。
为了满足这些共性要求,我们构建了 Microraptor:一套在我们所有 AI 平台上均可重复使用的 MLOps 功能集。开发 Microraptor 是为了实现模型的全自动 CI/CD 过程,并结合系统性的措施最大限度减少生产过程中维护数百个模型所需的成本和工作量。Microraptor 具备众多功能,包括支持在几分钟内将复杂模型投入生产(一键式部署);在生产过程中,大规模运行 AI 模型、利用集成的模型质量指标系统跟踪各个质量指标,并支持先进的再训练功能。
开源 Microraptor 组件概览
如图 4 所示,Microraptor 利用多项开源技术来实现完整的 MLOps 生命周期,并为数据科学家对技术复杂性进行了抽象化处理。数据科学家不必了解 Kubernetes、Helm、Seldon、Jenkins 或 Elasticsearch。他们能够集中精力寻找或开发出色的 ML 模型。
模型准备就绪后,数据科学家只需将模型注册到 MLflow(一个管理端到端 ML 生命周期的开源平台),并遵守一些基本的代码编写标准即可。而其他流程——从构建到测试再到部署——都可自动进行。该模型首先被部署为候选版本,稍后可以在相关业务领域的 AI 平台上再次通过一键式部署来激活。
图 4. Microraptor 架构利用多种开源组件,其中部分为我们的定制化组件。
图 5. Microraptor 支持模型的一键式持续交付。
如图 5 所示,CI/CD 过程是全自动化的。下文将提供有关定制化 AI 平台组件的更多详细信息(其他组件是可在网上直接获得的常见开源工具)。
MLflow
MLflow 平台可简化 ML 开发流程,包括跟踪试验、将代码打包用于再现运行以及模型共享和部署。我们选择 MLflow 是因为它支持多种 ML 框架,具有一定的灵活性。我们将 MLflow 用于试验跟踪和模型注册表。除了这些开箱即用的功能外,MLflow 还支持简单的实例化、完整的模型再现和共享存储(见图 6)。我们的存储方法意味着,Microraptor 会将试验的构件和日志等一切存储到基于 MinIO 的对象存储中,而非本地文件系统,从而提高存储可靠性,实现团队层面的结果和进度共享。
图 6. MLflow 利用共享 MinIO 存储提高可靠性和可共享性。
Seldon
为了基于 Kubernetes 实现可扩展的推理引擎,我们使用了 Seldon,将 TensorFlow 和 PyTorch 等 ML 框架中的 ML 模型或 Python 和 Java 等语言包装器转换为生产 REST 微服务。Seldon 可以扩展到数千个生产 ML 模型,并提供开箱即用的高级 ML 功能,包括请求日志记录、A/B 测试、金丝雀测试等。但是,使用 Seldon 需要具备一些技术技能,而数据科学家往往不具备这类技能。因此,Microraptor 对技术复杂性进行了抽象化处理,并提供了一种简单的方式,仅使用 Python 逻辑和 YAML 配置文件即可定义 Seldon Graph。数据科学家可以通过自动化的 CI/CD 过程完全掌控部署流程,不必依赖 ML 工程师,也无需了解 Kubernetes 或 Helm 图表的技术概念。
跟踪模型质量指标
ML 模型投入生产后,模型的质量和性能会随着时间的推移而下降,预测的准确性也会逐渐降低。这种退化甚至可能对依赖这些预测的相关业务流程造成实际损失。因此,有必要跟踪生产中的模型、监测其健康状况并在出现问题时做出响应。我们在 Microraptor 中建立了一个子系统用于支持模型质量指标的开发、部署和管理。这个子系统可用于警报和触发自动再训练,或在必要时提醒相关人员注意。该子系统(见图 7)只需 Python 相关技能就可以开发指标,如此一来,数据科学家便可独立开发质量指标而无需依赖 ML 工程师提供帮助。
为实现这一目标,Microraptor 提供以下各层:
- Logger 组件,用于记录每个推理请求的输入和输出。这些原始数据会自动收集并发送到 Elasticsearch。
- 根据这些记录数据,系统会根据需要计算准实时聚合,以形成汇总数据。汇总数据包括计数、平均值、标准差等。
- 该系统提供了一种简单的方法来添加聚合计算可能需要的相关数据和资源。这些附加信息包括标签、训练数据的元数据、统计分布等。
- 最后,该子系统可以让数据科学家提供自定义的逻辑/规则来使用 Python 计算指标。他们也可以轻松访问存储在 Elasticsearch 中的前一层生成的数据。
一旦各层数据都处于就绪状态,Elasticsearch 就可用于主动评估模型的健康状况。Kibana 是一个开放的用户界面,可将存储在 Elasticsearch 中的质量指标可视化。ElastAlert 是一个简易的开源框架,可根据 Elasticsearch 中数据的异常、峰值或其他相关情况发出警报。Microraptor 使用 ElastAlert 来定义规则和更复杂的 Python 逻辑,以计算指标并触发所需的执行动作。
图 7. Microraptor 包含一个模型质量指标子系统。
经计算后,质量指标可用于警报,触发模型的再训练、调优或人工干预。除能够创建自己的指标外,我们还在 Microraptor 中包含了一些现成的行业标准模型指标,包括:
- 识别概念漂移:检测生产特征分布变化。
- 检查数值稳定性:分析模型的预测稳定性和分类类别频率稳定性。
- 偏移监测:对于特定模型类型(如集成学习模型、A/B 测试模型和图学习模型等),利用生产输入监测多个 ML 模型并与指标比较,以分析每个模型的稳定性。
- 监测预测和标签的对比:该项也被称为 “离线技术指标”,用于已知真标签的模型。此类指标包括归一化折损累计增益 (nDCG)、对数丢失、平方误差和混淆指标等。
利用 DSraptor 加速模型开发
起初,我们重点讨论 Microraptor 的例子,主要是为了说明它能够如何简化模型部署和模型在生产环境中的维护。但是,加速新 ML 模型创建、缩短上市时间同样重要。为此,近期,我们创建了定制化的 AI 平台组件 DSraptor,以加速新 ML 模型的开发过程,同时提高生产力和质量。DSraptor 以 Kubeflow 管道和适用于 Argo 工作流的 Python 领域特定语言为基础。我们通过添加以下功能增强了这些元素:
- 一种更类似于原生 Python 的语法
- 能够在本地或远程无缝使用该工具
- 全局存储
- 可重复使用的组件
- 一种交互模式
- 广泛的跟踪元数据存储
数据科学家和 ML 工程师均可使用 DSraptor 来加速新模型的开发、创建自动建模流程及实现自动化的模型再训练。除了这些优势,DSraptor 还减少了 ML 管道产品化过程中常见的返工问题。与传统方法相比,数据科学家生成的管道可以更快速更方便地集成到更大的生产管道。此外,DSraptor 可轻松将大量模型再训练作业部署为 DSraptor 管道。这些再训练管道在某种程度上还可以基于数据科学家初始生成的模型。DSraptor 的其他优势包括:代码具备模块化和高质量特性;可在更大的计算集群上轻松进行并行探索工作;通过创建可以无缝导入到新管道中的共享组件或管道来实现广泛的复用。我们计划在未来的 IT@Intel 白皮书中提供 DSraptor 的更多详细资料。
结果
我们的 AI 平台通过 Microraptor 支持的先进、可重复使用的 MLOps 功能,已成功实现将 AI 模型部署到生产环境的自动化和加速。新模型和质量指标的部署目前已完全自动化,跟过去相比,所需时间大大减少。在很多情况下,生产部署可由数据科学家独立完成,避免了返工和不必要的交接。这些新功能目前已广泛应用于功耗和性能、制造、Mobileye、销售等领域的各类 AI 项目。
我们过去部署一个模型需要几天到几周的时间, 而采用 Microraptor 后,我们在 30 天内发布了 200 多个模型(包括新模型和修订版),每次部署的平均时间约为 25 分钟。此外,多数部署的模型现在都可以使用 Microraptor 的指标系统进行主动监测,从而跟踪模型的健康状况并针对模型退化采取主动措施。
结论
数据是一种变革力量,我们正在利用 AI 来推动产品创新并改进英特尔的业务流程执行。我们的 Microraptor MLOps 解决方案使我们能够以较低的成本和精力去开发、部署和维护数百个 ML 模型。我们的 AI 平台可使我们在大约半小时内就部署一个新模型。由于模型维护已实现高度自动化,我们 AI 团队的大部分成员可以专注于开发新的 AI 解决方案,对模型维护的投入仅占全部资源的 10%。
我们将继续改进 Microraptor,持续与英特尔的业务部门和设计团队合作,利用自动化、AI 和数据来支持英特尔的发展。
如欲了解有关英特尔 IT 部门最佳实践的更多信息,请访问 intel.cn/IT。
相关内容
如果您喜欢本白皮书,那您可能也对以下相关内容感兴趣:
- Building an AI Center of Excellence blog(博客:建立卓越的 AI 中心)
- Improving Sales Account Coverage with Artificial Intelligence white paper(白皮书:利用人工智能扩大销售覆盖范围)
- Faster, More Accurate Defect Classification Using Machine Vision white paper(白皮书:利用机器视觉实现更快更精准的缺陷分类)
- Artificial Intelligence Reduces Costs and Accelerates Time to Market white paper(白皮书:人工智能减少上市的成本和时间)
- Streamline Deep-learning Integration into Auto Defect Classification white paper(白皮书:简化深度学习与自动缺陷分类的集成)
- Data Center Strategy Leading Intel’s Business Transformation white paper(白皮书:数据中心战略引领英特尔业务转型)
- IT Collaboration Leads to Unique Product Innovation blog(博客:IT 协作成就独一无二的产品创新)
Microraptor 和 DSraptor 贡献者 Eran Avidan、Amir Chanovsky、Sergei Kom、Vlad Vetshtein
CI/CD 持续集成/持续交付 |
IT@Intel
我们将 IT 专业人员与他们在英特尔内部的 IT 同行连接起来。英特尔 IT 部门解决了一些当前极其复杂棘手的技术难题,我们希望在公开的同行交流论坛上,直接与其他 IT 专业人员分享这些经验教训。
我们的目标非常简单:提升整个组织的效率,提升 IT 投资的业务价值。
请关注我们并加入对话:
• Twitter
• #IntelIT
• LinkedIn
• IT Peer Network
如果您想了解更多信息,请访问 intel.cn/IT,或者联系您当地的英特尔代表。