【性能看板】AIDash-面向 AI 应用的性能看板需求分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaosongluo/article/details/85255440

笔者所在团队目前主要负责研发 AI 引擎,日常工作中常常需要解答如下问题:

  • 某个版本提特征的并发是多少
  • 某个版本在 5000W 规模得数据库上的检索并发是多少
  • 某个版本的识别率如何
  • 现在识别率最高的版本时哪个

虽然团队已经开发相应的自动化测试工具,而且将测试结果随着版本一起发布。但不难发现,对于 AI 引擎类产品来说,性能数据的集中化展示特别重要,跟其他数据不同的是,性能本身就是用来对比的。

先看看有没有现成的

令人遗憾的是,现有的性能数据的集中化展示方案没有适合 AI 引擎的:

看来得造一个轮子!

再重新整理用户场景

(高频)典型场景1:
时间:项目交付
地点:客户机房现场
人物:交付工程师
欲望:明确客户需求后,想拿到满足需求(多半会选择达到客户并发要求的基础上识别率最高的版本)的 AI 软件版本进行交付

(中频)典型场景2:
时间:产品设计/项目方案设计
地点:会议室(多半正在与他人沟通中)
人物:产品经理/技术负责人
欲望:拿到某个版本的详细性能数据进行技术方案设计或标书撰写

(中频)典型场景3:
时间:迭代开发
地点:工位
人物:算法工程师
欲望:拿到新训练的模型在测试集上的性能测试数据,验证成果

(低频)典型场景4:
时间:迭代开发
地点:工位
人物:研发工程师
欲望:完成迭代开发后,拿到新版本软件性能数据,判断是否有性能提升/下降

最后提炼需求点

我们先归总一下核心需求点。为了称呼方便,这个自研的性能看板名字先确定为 AIDash。

AIDash 主要设计于展示 AI 类产品中具有版本间比较价值的性能数据,这里有两个关键点:

  1. AI 类产品:做此限定,主要是为了统一被展示对象的基本逻辑,简化业务复杂度。
  2. 具有版本间比较价值的性能数据:做此限定是为了聚焦价值点,为特定测试集中的识别率指标、特定接口的 TPS等暂无现成展示方式又有展示需求的数据提供解决方案。

因为 AIDash 聚焦 AI 产品,所以一般可以存在三层概念:

  • 产品:提供直接满足客户需求的产品或者方便集成的服务(如 HTTP 接口等)
  • 算法SDK:定义某类算法问题的解决方案
  • 算法模型:可理解为不同版本的算法SDK参数配置

结合用户场景,简单归纳用户需求点如下:

  1. 作为交付工程师,希望 AIDash 能够支持单产品多指标筛选及排序功能,方便快速找到满足交付的软件版本
  2. 作为产品经理/技术负责人,希望能从 AIDash 中能够一目了然的看到特定软件版本的核心性能数据,方便标书撰写以及产品规划
  3. 作为算法工程师,希望 AIDash 能够从展示特定算法模型的性能数据(以识别率为代表),方便对比算法模型的优化效果
  4. 作为研发工程师,希望 AIDash 能够展示产品集成后的性能指标(以接口TPS为代表),方便对比软件版本间的优化效果

非用户需求点如下:

  1. 作为测试工程师,希望 AIDash 中的数据可以根据数据类型的不同选择合适的图表形式展示数据,如识别率用ROC曲线,并发性能用吞吐量-用户数曲线,方便数据解读
  2. 作为测试工程师,希望 AIDash 是一个中心化后台服务同时支持以HTTP接口的方式实现数据增删查改,方便自动化测试结果接入以及后续维护
  3. 作为运维工程师,希望 AIDash 支持用户管理及权限管理,防止核心数据泄密
  4. 作为质量工程师,希望 AIDash 报表满足公司对数据测试报告的统一规范:标注清楚数据集、环境、时间、执行人等信息
  5. 作为 AIDash 产品经理,希望可以从 AIDash 中转跳产品发布平台进行对应版本下载,减少用户查找时间

猜你喜欢

转载自blog.csdn.net/xiaosongluo/article/details/85255440