跳转到主要内容

category

什么是MLOps?


机器学习操作(MLOps)可以被视为软件开发操作(DevOps)中的一个子集挑战,后者包括用于简化公司软件交付流程的软件工程最佳实践和原则。


MLOps专注于ML驱动的项目和产品开发带来的独特挑战,特别是由于ML的新生状态、工件管理和再现性问题、独特的基础设施要求、对实验和监控的永久需求以及对数据域不稳定性的控制。


MLOps工程师通常致力于提高团队内部和跨团队的ML模型部署以及价值创造效率和影响力,重点关注在涉及开发人员和运营团队之间的反馈回路时通常会遇到紧张的流程。从本质上讲,MLOps旨在最大限度地减少这些团队之间在项目生命周期中的摩擦,以减少价值实现的时间,并最大限度地提高团队工作的影响。


机器学习工程师的工作流程,从最初的开发到最终的部署和集成到价值链,通常由4个核心任务组成:


图1:ML工程师工作流程。图改编自Shankar等人(2020)


当今解决方案生态系统中的一个悬而未决的问题是此工作流的标准化。不同的问题域、数据模式和行业应用程序可能需要偏离、添加或对这些任务进行不同的强调。


大型语言模型范式转变对MLOps的影响


LLMOps与MLOps位于同一领域,但为类似的任务带来了新的维度。在某种程度上,LLMOps只是图1中工作流的另一种风格,但由于与任务约定(包括培训、部署和维护)存在重大偏差,LLM需要不同的概念化和讨论。


在从MLOps到LLMOps的过渡过程中,对任务级别差异的分析强调了对传统ML任务进行改编和扩展的必要性。这些调整对于在企业领域内有效运作LLM至关重要。


任务MLOps(来自Shankar等人2020)LLMOps

 

Task MLOps (from Shankar et al. 2020) LLMOps
数据收集和标记 寻源新数据、争论数据、清理数据和数据标签(外包或内部)。 需要更大规模的数据收集,并强调数据的多样性和代表性。可能需要自动化或半自动化的标记技术,例如用于数据注释的预训练模型、主动学习或弱监督方法
特征工程与模型实验 通过数据驱动或模型驱动的实验提高ML性能,例如创建新功能或更改模型架构。 由于LLM能够从原始数据中学习有效的特征表示,在不久的将来转向快速设计和微调,因此特征工程变得不那么重要。模型实验继续发挥着至关重要的作用,但在短期内将回到数据科学发展的早期阶段,围绕着为特定用例获得一致执行的模型,需要快速迭代速度来创造价值。长期来看,由于LLM能力的快速进步和转变,我们在这一领域的发展方向尚不明确。
模型评估和部署 在验证数据集上计算度量(例如准确性)。部署包括暂存、A/B测试和保留回滚记录。 评估和部署更加微妙,需要一套更广泛的指标和技术来评估公平性、稳健性和可解释性,而不仅仅是准确性。其中可能包括“黄金测试集”,这是对狭窄问题/任务的人工验证反馈。部署需要强大的工具来管理训练数据、训练过程、模型的版本控制,并可能根据用例在不同的模型之间切换。漂移检测系统和处理对抗性攻击或错位输入的措施也是至关重要的。这些任务的复杂性可能需要新的角色或专业技能。
ML管道监测和响应 跟踪实时指标,调查预测质量,用非ML启发式方法修补模型,并将失败添加到评估集中。 涉及使用“观察者模型”等工具在多个任务、语言和域中跟踪模型性能,“观察者模式”是自动评估输出以进行实时监控的其他LLM或ML模型。监控潜在的偏见、道德问题或意外后果。对问题的响应可能包括调整提示、根据新的示例或边缘案例微调模型,甚至重新训练模型

This table will change significantly in the near future as our knowledge and capabilities in LLMOps become more refined.

标签