作者 | Sanjana Thakur
编译 | 徐杰承
人工智能技术正在世界范围内以一种前所未有的速度发展,大量的AI应用在短时间内被构建出来,当开发人员正在热火朝天的追赶进度时,测试人员也需要及时跟上这个时代的步伐。
值得庆幸的是,随着人工智能的快速进步,测试、自动化和质量保证 (QA) 的新方法也正在出现,为 AI 应用程序测试打开了新的大门。测试人员该如何在现在与将来测试AI和ML应用程序?以下是你应当了解的一些主要方法。
数据测试环节需要使用基准来评估数据的状态,虽然每家公司的目标可能有所不同,但高质量的数据通常是AI应用的最核心要求:
测试数据质量意味着通过将企业信息与既定的已知事实进行比较来识别标记错误、过时或不相关的数据。在此级别的测试中,它可以像为数据集创建数据配置文件一样简单,此过程称为合成数据生成。使用此数据集的定义验证,公司可以对其数据是否有效进行分类,从而衡量其质量。
另一个越来越受欢迎的重要测试是偏差测试。人工智能系统的偏见在很大程度上取决于它收集的数据。
例如,2016年的一份报告发现亚马逊偏向于男性IT申请人。当这家电子商务巨头训练其人工智能机器人找到最适合这份工作的候选人时,它使用现有员工的简历作为数据库,这些数据库主要是男性。根据这些信息,他们的人工智能推测只有男性候选人才能成为最好的IT员工,但事实并非如此。
为了避免犯同样的错误,你应该在将算法推送到网上时进行偏差测试。
早在 2016 年,偏差测试只是分析需求以建立对一组输入的适当响应的问题。现在,它没有那么明确。你需要更多种类和更多选择。你希望创建多个测试用例来考虑所有可能的变量,而不是使用一个数据集仅生成一个方案。虽然结果可能并不总是完美的,但它们仍然提供了一种更好、更公平、更全面的方法来消除偏见和开发更具包容性的人工智能应用。
AI 模型评估和测试可帮助你预测分析和评估的结果,它涉及三个步骤:在 AI 测试的第一阶段,收集的数据分为训练集、验证集和测试集。训练集包含多达 75% 的数据集,并分配模型权重和偏差。验证集由训练期间 15% 到 20% 的数据组成,以评估初始准确性并查看模型如何适应、学习和微调超参数。
在此阶段,模型仅考虑验证数据,但尚未使用它来学习模型的权重和偏差。测试集则占整个数据集的 10% 到 15%。这用于最终评估,作为一个受控集,没有偏见。
测试过程的第二阶段是调整超参数。在此阶段,开发人员可以控制训练算法的行为,并根据第一阶段的结果调整参数。在人工智能和深度学习的背景下,可能的超参数可能包括学习率、卷积核宽度、隐藏单元数量、正则化技术等。
最后,执行批量规范化涉及两种技术:规范化和标准化,以便在训练准备期间以相同的比例转换数据。一旦AI模型经过充分的训练、微调和标准化,就应该通过混淆矩阵、AUC ROC、F1分数和其他精度/准确度指标来衡量其性能。经历这一严格的过程对于了解你的算法执行的有效性和准确性至关重要。
测试你的AI应用程序的安全性需要结合传统的安全性测试方法和特定于AI系统的考虑。从以下几点开始考虑:
要对AI应用进行性能测试,需要全面了解应用的架构、组件和数据流至关重要。容量测试、耐久性测试和压力测试是最重要的性能测试类型,必须在AI应用程序上执行,以评估其性能和可扩展性。
这可以通过不同的测试数据来实现,包括大的和小的测试数据集,因为大量的测试数据会占用更多的计算资源。此外,硬件资源的并行监控有助于设置正确的配置,以支持人工智能应用程序的预期用户请求。
随着聊天机器人在人工智能应用中越来越受欢迎,确保这些机器人向用户提供的信息是准确的至关重要。如果你的企业使用聊天机器人的功能,你必须测试聊天机器人的功能和非功能组件。
机器人测试需要模拟真实世界的场景,并评估这些场景中系统或算法的行为。基于模拟的行为测试包括算法调试、对象检测、响应测试和验证定义的目标。
为了确保全面的测试,你应该采用低保真度2D模拟和高保真度3D模拟。前者用于模块级行为测试,后者用于系统级行为测试。这允许你在模拟中检查不同级别的复杂性和准确性。该过程还测试硬件可用性场景和硬件不可用性场景。这些场景评估系统或算法在不同硬件条件下的行为和性能,确保在不同环境下的稳健性和适应性。
对于AI/ML应用的测试与传统软件测试有着很大不同,且存在着一些技术挑战。但伴随着越来越多AI/ML应用的诞生,对AI/ML应用的测试方法和实践也在迅速发展和逐步完善。
以上便是目前为止对于AI/ML应用的一些有效且合理的测试方法及思路。如果你的企业使用或提供人工智能解决方案,你必须优先考虑全面的测试方法,以确保准确性,安全性和包容性。
原文链接:https://dzone.com/articles/10-top-trends-in-ai-based-Application-testing-you