跳到主要内容

版本追踪数据模型

MLflow 的版本追踪数据模型提供了一种结构化的方法,用于在生成式 AI 应用的整个生命周期中管理和分析其不同版本。通过在 MLflow 的核心实体中组织版本元数据,您可以系统地追踪性能、调试回归并验证跨开发、测试和生产环境的部署。

概述

MLflow 中的版本追踪通过对标签和元数据的策略性使用,与核心数据模型无缝集成。这种方法实现了全面的版本管理,同时保持了灵活性,以适应您特定的部署和开发工作流。

版本追踪的核心实体

🧪 实验:版本容器

一个实验(Experiment)是您生成式 AI 应用所有版本的根容器。在一个实验中,您可以追踪多个应用版本、环境和部署状态,同时保持对应用演进的统一视图。

主要特点

  • 单一命名空间:一个实验包含您应用的所有版本
  • 跨版本分析:在同一容器中比较不同版本的性能
  • 历史连续性:在一个位置维护完整的版本历史
  • 统一元数据:所有版本中一致的标记和组织

📝 追踪记录:版本感知的执行记录

每条追踪记录(Trace)代表您应用的一次单独执行,并通过标签携带版本特定的元数据。这使得能够细粒度地追踪不同版本在各种上下文中如何表现。

追踪记录中捕获的版本元数据

标准 vs 自定义版本标签

标签类型目的示例
自动MLflow 填充的元数据mlflow.source.git.commit, mlflow.source.name
标准保留用于特定含义mlflow.trace.session, mlflow.trace.user
自定义应用特定的上下文app_version, environment, deployment_id

📊 评估:版本特定的质量判断

评估(Assessments)通过将评估结果附加到追踪记录,实现版本特定的质量分析。这为比较不同版本和部署上下文中的质量指标奠定了基础。

版本追踪的评估类型

  • 性能反馈:延迟、吞吐量、资源使用
  • 质量反馈:相关性、准确性、帮助程度评分
  • 用户体验:满意度评分、可用性指标
  • 回归测试:用于版本验证的预期输出

🎯 评分器:自动化版本分析

评分器(Scorers)提供自动化评估功能,可以检测版本特定的性能模式、回归和改进。它们将原始追踪记录数据转化为可操作的版本洞察。

📋 评估数据集:版本测试集合

评估数据集(Evaluation Datasets)通过提供精选的输入和预期输出集合,支持系统性的版本测试。这些数据集使得跨版本的一致比较和部署验证成为可能。

版本管理的数据集组织

  • 回归测试:跨版本的核心功能验证
  • 性能基准测试:标准化性能测量
  • 特性验证:新功能测试和验证
  • 环境测试:特定部署场景验证

🚀 评估运行:版本比较引擎

评估运行(Evaluation Runs)通过针对相同数据集运行不同应用版本并收集评分结果进行分析,来协调系统性的版本比较。

🏷️ 标注会话:人工版本审查

标注会话(Labeling Sessions)组织特定版本的追踪记录,供人工专家审查,从而实现版本变化的定性评估和边缘案例识别。

版本追踪工作流

完整的版本追踪工作流整合了所有数据模型实体,以提供全面的版本生命周期管理。

高级版本管理模式

多环境版本演进

追踪同一版本在不同环境中的演进过程

特性标志版本分析

了解特性标志如何影响不同版本

版本回滚追踪

监控版本回滚的影响

数据关系和依赖

了解版本追踪实体如何相互关联

版本追踪数据模型的主要优势

🔍 全面可观测性

  • 跨版本可见性:比较所有应用版本之间的性能
  • 环境特定洞察:了解版本在不同部署上下文中的行为
  • 历史分析:追踪应用随时间演进

📊 数据驱动的决策制定

  • 回归检测:自动识别性能或质量回归
  • 改进验证:确认新版本带来预期效益
  • 部署信心:对生产部署做出明智决策

🔄 高效开发工作流

  • 系统性测试:跨版本变更的一致评估流程
  • 快速迭代:版本性能和质量的快速反馈
  • 风险缓解:在生产部署前及早发现问题

🎯 质量保证

  • 自动化评估:跨版本的一致质量测量
  • 人工验证:针对关键版本变更的专家审查流程
  • 持续监控:对生产版本性能的持续评估

与 MLflow 生态系统的集成

版本追踪数据模型与 MLflow 的更广泛生态系统无缝集成。

后续步骤

要使用 MLflow 的数据模型实现全面的版本追踪:

  1. 追踪版本与环境:学习如何将版本元数据附加到追踪记录
  2. 评估工作流:创建系统性的版本比较流程
  3. 查询与分析:掌握用于版本分析的高级查询
  4. MLflow 用户界面:使用该界面进行版本特定的追踪记录探索

MLflow 的版本追踪数据模型为系统性应用生命周期管理提供了概念基础,使您能够在生成式 AI 应用的演进过程中,自信地进行部署、快速检测回归并做出数据驱动的版本管理决策。