MLflow 旨在应对交付生产就绪的 GenAI 应用的基本挑战:很难创建以最佳成本和延迟 可靠地 交付高质量(准确)响应的应用。
GenAI 应用的表现方式(或出故障的方式)与常规软件不同。 他们可以在数据变化时幻觉、偏移,更糟的是,真实用户以无限的新方式表达相同的意图,因此输入空间非常庞大,并且总是在变化中。 为已知一组固定输入/输出和已知用户作设计的传统软件和 ML 测试方法无法可靠地测量 GenAI 自由格式和不断变化的语言输入和输出的质量。
为了解决这些基本挑战,MLflow 将能够可靠地衡量生成性人工智能(GenAI)质量的指标与操作可观测性中的延迟和成本相结合,并通过工作流轻松收集人类专家的反馈。
用户输入是自由格式的纯语言
面临的挑战
单个意向可以用几十种方式来表达 — 你的应用必须识别所有这些意向。
考虑聊天机器人来帮助回答用户支持查询。 尽管这些字词不同,但以下意向是相同的:
- “我的 Wi-Fi 一直在下降,请修复这个问题。”
- “你能帮忙吗? 这里的互联网已经死了。
MLflow 如何提供帮助
MLflow 的 LLM 法官 根据意图、语气和事实性而不是确切的字符串来评分,因此会根据请求的含义来评估不同的措辞。 此语义评估可确保你的应用处理用户表达自己的各种方式。
跟踪 捕获完整的对话,包括所有输入方式的变化,可以让你了解用户实际表达请求的方式。 这种全面的可观测性可帮助你了解应用遇到的各种用户输入。
用户输入随着时间推移而发展
面临的挑战
即使代码未更改,热门意向也会随时间而变化。
你设计了你的应用来协助处理“互联网中断”意向,但没有预见用户还会问:“我是否会获得账单减免?”
MLflow 如何提供帮助
MLflow 的 评估数据集 使得可以将生产轨迹捕获到离线测试集,从而新的意图(如账单信用问题)会自动成为测试和回归案例。 这可确保应用继续处理新兴用户需求。
生产监视 持续跟踪查询模式并标识新类型的请求。 通过分析实际流量,可以在质量下降之前主动将应用适应不断变化的用户行为。
GenAI 输出是自由格式的纯语言
面临的挑战
两个不同的措辞答案可能都是正确的,因此质量检查必须比较含义,而不是字符串。
尽管这些字词完全不同,但以下答案是相同的:
- 请将调制解调器的电源拔掉30秒,然后重新启动。
- “请尝试关闭路由器半分钟,然后将其插入。
MLflow 如何提供帮助
MLflow 的 LLM 评委 评估含义,而不是确切的文本匹配。 在评估响应时,法官们明白,“半分钟”等于“30秒”,“电源周期”和“关闭和打开”是等效的说明。
相同的质量检查可在 开发、CI/CD 和生产之间无缝工作。 这种一致性意味着可以信任在开发阶段验证的响应,在生产过程中将保持其质量,而不受措辞变体的影响。
需要域专业知识才能评估质量
面临的挑战
开发人员往往缺乏判断正确性的主题深度:需要专家评审。
若要确定答案是否正确,需要专家来验证是否告诉用户按重置引脚对于他们的调制解调器模型是安全的。 技术正确性需要工程团队可能不具备的域知识。
MLflow 如何提供帮助
MLflow 的 “审阅应用 ”会显示完整的对话,以便域专家可以快速发现问题。 直观的界面允许非技术专家查看应用输出,而无需了解代码或复杂的工具。
可以通过使用来自少数跟踪的专家标签创建自定义 LLM 判定系统,以扩展域专家反馈。 这些评委从专家评估中学习,使你能够自动评估迭代的质量和生产流量,而无需对每个响应进行人工评审。
管理质量、延迟和成本之间的权衡
面临的挑战
更快、更便宜的模型可以节省时间和金钱,但可以降低答案质量 - 每个调整都必须平衡这三个。
从 GPT-4o 切换到 GPT-4o-mini 可大幅降低时间和成本,但较小的模型可能会错过账单信用问题中的细微差别,降低答案质量。
MLflow 如何提供帮助
使用 MLflow 可以快速 运行许多评估 ,以大规模探索变体。 并排试验在推出前曝光质量、延迟和成本变化,帮助你做出有关模型选择的明智决策。
跟踪 提供应用性能的端到端可观测性、捕获延迟和成本指标以及质量评估。 此统一视图可确保同时针对所有三个维度进行优化,使数据驱动的权衡与业务需求保持一致。
使用 评估 UI 可以并行比较不同的应用版本,直观显示模型、提示或代码中的更改如何影响质量分数、响应时间和运营成本。 此全面比较可确保为用例部署最佳配置。
后续步骤
- MLflow 入门 - 按照快速入门指南构建您的第一个应用程序并运行性能评估
- 了解关键概念 - 了解 跟踪、评分器、评估数据集及其协同工作方式
- 探索评估指南 - 深入了解评估和监视功能