机器学习 (ML) 是 Uber 运营战略不可或缺的一部分,影响着一系列业务关键决策。这包括预测乘客需求、识别欺诈活动、增强 Uber Eats 的食品发现和推荐以及优化预计到达时间 (ETA)。尽管 ML 在各个组织中的普及度和影响力日益增强,但评估模型“质量”仍然是一个多方面的挑战。在线和离线模型评估之间存在显着区别。许多团队主要关注离线评估,偶尔会辅以短期在线分析。然而,随着模型在生产环境中变得更加集成和自动化,持续监控和测量往往会被忽视。
通常,团队专注于 AUC 和 RMSE 等性能指标,而忽略了其他重要因素,例如训练数据的时效性、模型可重复性和自动再训练。缺乏全面的质量评估导致 ML 工程师和数据科学家对模型生命周期不同阶段的各种质量维度的了解有限。此外,这种差距阻碍了组织领导者就 ML 项目的质量和影响做出充分知情的决策。
为了弥补这一差距,我们建议为模型生命周期的每个阶段定义不同的维度,包括原型设计、训练、部署和预测(见图 1)。通过整合服务水平协议 (SLA) 概念,我们旨在建立衡量和确保 ML 模型质量的标准。此外,我们正在开发一个统一的系统来跟踪和可视化模型的合规性和质量,从而为整个组织的 ML 计划提供更清晰、更全面的视图。请注意,模型卓越分数 (MES) 涵盖了 Uber 整体 ML 治理不可或缺的某些技术方面。
图 1:典型 ML 系统中的 ML 质量维度示例(黄色)。
模型卓越分数 (MES)开发和维护一个可用于生产的 ML 系统非常复杂,涉及模型生命周期中的多个阶段和复杂的支持基础设施。通常,ML 模型会经历特征工程、训练、评估和服务等阶段。维持这一过程的基础设施包括数据管道、特征存储、模型注册表、分布式训练框架、模型部署、预测服务等。
为了全面评估这些阶段的模型质量,我们创建并引入了模型卓越分数 (MES) 框架。MES 旨在衡量、监控和执行机器学习生命周期每个阶段的质量。该框架符合站点可靠性工程师 (SRE) 和 DevOps 专业人员中常见的原则和术语,尤其是用于管理生产环境中的微服务可靠性的原则和术语。
MES 围绕与服务水平目标 (SLO) 相关的三个基本概念:指标、目标和协议。指标是反映 ML 系统质量某些方面的精确定量指标。目标为这些指标设定目标范围,协议将所有指标结合到 ML 用例级别,根据指标结果决定总体 PASS/FAIL 状态。
MES 中的每个指标都有明确的定义,其指标值都有一个设定的目标范围,并且值更新的频率是指定的。如果指标在给定的时间范围内未达到其目标,则将其标记为失败。协议封装了这些指标,代表了服务的承诺水平并提供了对其性能的洞察。图 2 说明了协议、指标和目标之间的相互联系,以及它们与特定用例和模型的关系。
图2:协议、指标、目标、用例和模型之间的关系。
不同的指标可能需要不同的解决时间框架和不同的缓解策略。有些指标可能需要立即关注并采取更高优先级的处理,尤其是在未达到性能基准时。
还要注意的是,与建模相关的角色和职责在不同的组织中可能存在很大差异。在某些情况下,一个团队可能负责整个流程,而在其他情况下,职责可能分布在多个团队或部门中。
在 Uber,每个模型的责任都分配给一个指定的主要团队。该团队会收到与其模型相关的任何差异或问题的警报,如协议中所述。团队可以根据其 ML 用例的重要性和紧迫性灵活地定制这些警报。值得注意的是,一个模型的质量会直接或间接地影响另一个模型。例如,一个模型的输出可能作为另一个模型的输入或触发进一步的模型评估。为了解决这种相互关联性,我们实施了一个通知系统,该系统会将相关 ML 模型中的任何质量违规行为通知服务和模型所有者。
图 3 描述了模型卓越分数 (MES) 框架与 Uber 其他 ML 系统之间的交互。MES 框架及其指标、目标和协议建立在以下几个关键原则之上:
自动可测量性:MES 中的每个指标都采用可量化和自动化的指标设计,确保仪器仪表的强大基础设施。可操作性:指标不仅可衡量,而且可操作。这意味着用户或平台可以采取明确的步骤,随着时间的推移根据其设定的目标改进这些指标。可聚合性:每个指标的指标都能够被聚合。这对于有效的报告和监控至关重要,允许根据组织的目标和关键结果 (OKR) 和关键绩效指标 (KPI) 进行有凝聚力的指标汇总。可重复性:每个指标的度量都是幂等的,这意味着它们的测量值在回填时保持一致。责任:每项协议都有明确的所有权。指定的所有者负责定义目标并确保实现这些目标。图 3:MES 框架与各种 ML 系统之间交互的高级视图。
我们在表 1 中重点介绍了一些相关文献中未广泛涉及的指标。MES 能够衡量公平性和隐私性等方面,这些主题超出了本文的讨论范围。我们在下表中概述了每个指标如何遵循这些设计原则,并提供了可衡量指标的示例、可操作的改进步骤以及应用的规范化方案,以确保指标在不同用例中可聚合且一致。这些指标要么被规范化为 [0,1] 比例,要么转换为百分比,要么在各种应用程序中保持一致的比例。
指标
描述
可能采取的行动
度量规范化
数据质量
衡量用于训练模型的输入数据集的质量。这是针对以下方面的综合得分:– 特征无效– 跨区域一致性– 缺失分区– 重复
– 补填缺失的分区– 跨不同区域和实例同步数据分区– 对数据中的行进行重复数据删除
综合得分中的每个部分都按百分比进行标准化
数据集新鲜度
测量用于训练模型的输入数据集的新鲜度
– 使用新的输入数据集重新训练– 如果有更新的数据,则填充输入数据集
尺度一致
特征和概念漂移
生产模型中目标和协变量分布的变化以及两者之间的关系随时间的变化
– 应用加权训练或使用新数据重新训练模型– 验证上游特征 ETL 管道的正确性
使用归一化距离度量和重要性权重归一化到 [0,1]
模型可解释性
测量模型生成的每个预测的稳健特征解释的存在和置信度
– 启用解释
归一化为 [0,1]
预测准确率
模型对生产流量的预测准确率(例如AUC、归一化RMSE)
– 更新训练数据集以解决训练-服务偏差– 检查特征或概念漂移
通过对准确率指标进行归一化,归一化到 [0,1]
表格:指标样本。
结果Uber 实施 MES 框架显著提高了组织内 ML 质量的可见性。透明度的提高有助于培养一种优先考虑质量的文化,进而影响业务决策和工程战略。随着时间的推移,我们观察到在各个方面遵守 SLA 方面取得了重大进展。值得注意的是,我们模型的整体预测性能显著提高了 60%。
此外,从 MES 指标中收集到的见解对于确定平台增强领域至关重要。从这些见解中产生的一个关键发展是引入用于超参数调整的高级平台工具。这项创新可以自动定期重新调整所有模型,简化优化过程并确保模型性能的一致性。这些改进凸显了 MES 框架在推动运营效率和技术进步方面的切实好处
经验教训在 Uber 所有机器学习团队实施和监控关键指标的过程中,我们获得了一些重要见解。
激励 ML 从业者:既定框架允许对质量改进的影响和努力进行切实的衡量。通过采用标准且透明的报告系统,我们创造了一种环境,激励 ML 从业者提高质量,因为他们知道他们的努力在整个组织中是可见的和认可的。
协调与高管支持:最初,质量措施可能会被视为额外的负担,除非它们从一开始就无缝地融入日常实践中。实施质量跟踪框架可以揭示现有的差距,需要在教育和意识方面付出额外的努力来解决这些问题。与高管领导层协调一致至关重要,使团队能够优先考虑以质量为中心的任务。这种协调逐渐导致全面转向更积极主动、以质量为中心的文化。
平衡标准化与定制化:在设计框架时,我们的目标是实现一定程度的标准化,以便能够长期持续跟踪和做出明智的决策。然而,考虑到 Uber 的 ML 应用程序多种多样,允许对特定指标进行定制以准确反映每个用例的细微差别也至关重要。例如,在 ETA 预测模型中,我们采用平均误差作为比 RMSE 更具情境性的指标。该框架适应了此类定制,同时保持了标准化的报告方法以确保一致性。
确定渐进式改进的优先级:在多种用例中管理框架对确定优先级提出了重大挑战。我们开发了一个简单的优先级矩阵来确定哪些领域需要立即关注。我们认识到少数几个模型对影响最大,因此我们首先将重点放在提高高影响用例的质量上。
自动化的作用:维护 ML 质量需要大量资源,而手动管理生产中的模型可能会分散创新精力。事实证明,自动化生产生命周期(包括使用新数据重新训练、重新验证和重新部署模型)非常有价值。这种自动化不仅提高了模型的新鲜度(模型平均年龄的降低表明了这一点),还使团队能够更多地专注于创新,而不是维护。
结论我们开发了一个全面的框架,概述了高质量机器学习 (ML) 模型在其生命周期不同阶段的关键维度。该框架受到服务水平协议 (SLA) 原则的启发,旨在监控和确保 ML 模型的质量。重要的是,它的结构可以容纳额外的质量维度,适应新兴用例和该领域不断发展的最佳实践。
我们的讨论还涵盖了该框架在组织各个层面生成有见地的质量报告的应用。这些报告会定期审查,以促进问责制并为战略规划提供宝贵见解。至关重要的是,通过将机器学习质量嵌入相关软件系统的整体服务质量中,我们促进了共享责任模型。应用科学家、机器学习工程师和系统工程师现在共同拥有机器学习质量。这种协作方法大大缩小了这些职能之间的差距,在组织内培养了积极主动、注重质量的文化。
致谢如果没有 Uber 工程师和应用科学家团队的帮助,我们不可能完成本文概述的技术工作。我们还要感谢各位技术项目经理——Gaurav Khillon、Nayan Jain 和 Ian Kelley——他们在推动 Uber 不同组织采用和遵守 MES 框架方面发挥了关键作用。
作者:
Min Cai
Min Cai is a Distinguished Engineer at Uber working on the AI/ML platform, Michelangelo. He received his Ph.D. degree in Computer Science from Univ. of Southern California. He has published over 20 journal and conference papers and holds 6 US patents.
Joseph Wang
Joseph Wang serves as a Principal Software Engineer on the AI Platform team at Uber, based in San Francisco. His notable achievements encompass designing the Feature Store, expanding the capacity of the real-time prediction service, developing a robust model platform, and improving the performance of key models. Presently, Wang is focusing his expertise on advancing the domain of generative AI.
Anupriya Mouleesha
Anupriya has been a thought partner and executor for multiple engineering initiatives within Uber spanning software networking, Data, ML platform, UberAI and product development. She currently leads Technical Program Management for Uber's Mobility and Product Platforms.
Sally Mihyoung Lee
Sally is a Senior Staff Tech Lead Manager who leads ML Quality and ML Ops for the Uber AI/ML platform, Michelangelo. With over 15 years of experience, she is passionate about applying machine learning solutions to large scale business problems.
出处:https://www.uber.com/en-JP/blog/enhancing-the-quality-of-machine-learning-systems-at-scale/