Skip to content

算法测试

测试目的

主要目的是为了确保算法的正确性,同时也可以对算法的性能进行评估。

  • 确保正确性:通过测试,可以验证算法是否按照预期的方式运行,并产生正确的结果。这是验证算法实现是否正确的关键步骤,也是软件开发的基本要求。

  • 评估性能:通过测试,可以评估算法的执行时间、内存使用情况等性能指标。这有助于了解算法在不同情况下的表现,以及在何种情况下可能需要进行优化。

  • 发现和修复错误:测试过程中,如果发现算法的输出结果不正确,或者运行时间过长,那么就可以认为该算法存在错误。通过分析测试结果,可以找出并修复这些错误。

  • 验证特性:测试还可以验证算法是否具有所需的特性。

  • 验证边界条件:测试还可以用来验证算法在极端条件下的表现。例如,可以尝试使用非常大的输入数据,或者使用可能导致异常的输入数据(如空指针、无效数据等),来看算法如何处理这些情况。

  • 比较和选择:通过对不同的算法进行测试,可以比较它们的性能和正确性,从而在需要时选择最适合的算法。

测试流程

算法任务和模型选择

  • 算法任务包含对话、多模态对话、意图识别、文档生成、SQL生成等。
  • 一个任务可以由一个模型或者多个模型完成。

数据集制作

  • 业务数据集(产品和研发这边)
  • 通用数据集 (开源数据集)
  • 测试数据集 (测试构造自己私有数据集)
  • 边界数据集(空输入、超长文本)
  • 随机数据集 (随机生成或者摘录)

测试脚本编写

接口测试

参考接口文档

本地模型测试

参考每个模型使用说明,选型比较时用到

运行测试脚本

挂在后台任务运行

测试报告和接口

  • 用脚本自动生成excel 报告,不同模型横向对比,不同数据集纵向对比。

  • 报告包含:

  • 模型在数据集上用例表现
  • 模型推理速度
  • 模型异常
  • 模型推理并发 TOKEN/s