QGate-Sln-MLRun: MLRun和Iguazio解决方案的质量门控工具

QGate-Sln-MLRun简介

QGate-Sln-MLRun是为MLRunIguazio解决方案开发的质量门控工具。该项目的主要目标包括:

  • 提供独立的质量测试,涵盖功能、集成、性能、漏洞和验收等多个方面
  • 在企业环境中全面部署和使用前进行更深入的质量检查
  • 识别可能存在的兼容性问题
  • 提供外部和独立的测试覆盖率
  • 支持社区贡献
  • 其他质量保证相关功能

该工具使用三个关键组件:MLRun解决方案(参见MLRun GitHub仓库)、示例元数据模型(参见qgate-model仓库)以及本项目本身。

测试场景

QGate-Sln-MLRun涵盖了以下测试场景(✅ 已完成, ✔ 进行中, ❌ 计划中):

01 - 项目

  • ✅ TS101: 创建项目
  • ✅ TS102: 删除项目

02 - 特征集

  • ✅ TS201: 创建特征集
  • ✅ TS202: 创建特征集并从DataFrame源摄取数据(单步骤)
  • ✅ TS203: 创建特征集并从CSV源摄取数据(单步骤)
  • ✅ TS204: 创建特征集并从Parquet源摄取数据(单步骤)
  • ✅ TS205: 创建特征集并从SQL源摄取数据(单步骤)
  • ✔ TS206: 创建特征集并从Kafka源摄取数据(单步骤)
  • ✔ TS207: 创建特征集并从HTTP源摄取数据(单步骤)

03 - 数据摄取

  • ✅ TS301: 数据摄取(预览模式)
  • ✅ TS302: 从DataFrame源向特征集摄取数据
  • ✅ TS303: 从CSV源向特征集摄取数据
  • ✅ TS304: 从Parquet源向特征集摄取数据
  • ✅ TS305: 从SQL源向特征集摄取数据
  • ✔ TS306: 从Kafka源向特征集摄取数据
  • ✔ TS307: 从HTTP源向特征集摄取数据

04 - 数据摄取与管道

  • ✅ TS401: 数据摄取与管道(预览模式)
  • ✅ TS402: 从DataFrame源向特征集摄取数据并执行管道
  • ✅ TS403: 从CSV源向特征集摄取数据并执行管道
  • ✅ TS404: 从Parquet源向特征集摄取数据并执行管道
  • ✅ TS405: 从SQL源向特征集摄取数据并执行管道
  • ✔ TS406: 从Kafka源向特征集摄取数据并执行管道
  • ❌ TS407: 从HTTP源向特征集摄取数据并执行管道

05 - 特征向量

  • ✅ TS501: 创建特征向量

06 - 从向量获取数据

  • ✅ TS601: 从离线特征向量获取数据
  • ✅ TS602: 从在线特征向量获取数据

07 - 管道

  • ✅ TS701: 简单管道
  • ✅ TS702: 复杂管道
  • ✅ TS703: 复杂管道,批量操作

08 - 构建模型

  • ✅ TS801: 构建CART模型
  • ❌ TS802: 构建XGBoost模型
  • ❌ TS803: 构建DNN模型

09 - 服务模型

  • ✅ TS901: 从CART模型提供评分服务
  • ❌ TS902: 从XGBoost模型提供评分服务
  • ❌ TS903: 从DNN模型提供评分服务

10 - 模型监控/漂移

  • ❌ TS1001: 实时监控
  • ❌ TS1002: 批量监控

注意:每个测试场景都包含额外的特定测试用例(例如,针对特征集的不同目标等)。

测试输入/输出

QGate-Sln-MLRun测试以下输入/输出(✅ 已完成, ✔ 进行中, ❌ 计划中):

输出(目标)

  • ✅ RedisTarget, ✅ SQLTarget/MySQL, ✔ SQLTarget/Postgres, ✅ KafkaTarget
  • ✅ ParquetTarget, ✅ CSVTarget
  • ✅ 文件系统, ❌ S3, ❌ BlobStorage

输入(源)

  • ✅ Pandas/DataFrame, ✅ SQLSource/MySQL, ❌ SQLSource/Postgres, ❌ KafkaSource
  • ✅ ParquetSource, ✅ CSVSource
  • ✅ 文件系统, ❌ S3, ❌ BlobStorage

MLRun当前支持的源和目标可在文档中查看。

输出示例

输出示例

部分报告的原始形式可以查看:

  • 所有完成的测试 - HTMLTXT
  • 包含错误的测试 - HTMLTXT

使用方法

您可以通过以下四个步骤轻松使用这个解决方案:

  1. 将以下两个Git仓库的内容下载到本地环境:

  2. 更新qgate-model中的qgate-sln-mlrun.env文件:

    • 更新MLRun/Iguazio的变量,包括MLRUN_DBPATHV3IO_USERNAMEV3IO_ACCESS_KEYV3IO_API
      • 注意:V3IO_*设置仅在Iguazio安装时需要(纯MLRun不需要)
    • 更新QGate的变量,见QGATE_*(基本描述直接在*.env文件中)
  3. qgate-sln-mlrun目录下运行:

    python main.py
    
  4. 查看输出(位置基于配置中的QGATE_OUTPUT):

    • './output/qgt-mlrun- .html'
    • './output/qgt-mlrun- .txt'

前提条件:您需要有可用的MLRun或Iguazio解决方案(MLRun是其中的一部分)。请参考官方的安装步骤,或直接参考桌面Docker安装

已测试版本

该项目已经在以下MLRun版本上进行了测试(参见变更日志):

MLRun (桌面Docker环境)

  • MLRun 1.7.0 (计划于2024年8月)
  • MLRun 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6.0
  • MLRun 1.5.2, 1.5.1, 1.5.0
  • MLRun 1.4.1
  • MLRun 1.3.0

Iguazio (k8s, 本地部署, VMware上的VM)

  • Iguazio 3.5.3 (包含MLRun 1.4.1)
  • Iguazio 3.5.1 (包含MLRun 1.3.0)

注意:目前只测试最新的MLRun/Iguazio版本(向后兼容性基于MLRun/Iguazio,详见文档)。

其他信息

  • 待办事项: 预期/未来改进的列表,查看详情
  • 应用限制: 应用限制/问题的列表,查看详情
  • 如何测试该解决方案?: 您需要专注于Linux环境或带有WSL2的Windows(查看步骤教程)
  • MLRun/Iguazio: 主要变更概述(客户视角),查看详情

QGate-Sln-MLRun为MLRun和Iguazio平台提供了全面的质量保证解决方案。通过执行各种测试场景和支持多种输入/输出格式,该工具帮助用户在企业环境中安全、高效地部署和使用这些平台。随着持续的开发和社区支持,QGate-Sln-MLRun将不断完善其功能,为MLOps和AI应用开发提供更强大的质量保证支持。🚀💻🔍

项目链接:www.dongaigc.com/a/qgate-sln-mlrun-quality-gate-tool

https://www.dongaigc.com/a/qgate-sln-mlrun-quality-gate-tool

www.dongaigc.com/p/george0st/qgate-sln-mlrun

https://www.dongaigc.com/p/george0st/qgate-sln-mlrun

  • 23
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值