今天我们一起来看一下,人工智能系统究竟应该用什么样的流程和方法去进行测试呢?
首先我们一起来看一下,一个企业的人工智能产品部署和发布的一个流程,首先企业会从历史数据库中,利用数据去训练出一个初始的模型,这个初始的模型首先会进行一个offline testing,也就是说一个离线的测试。离线的测试就是针对现阶段训练出来的模型进行一些功能、性能方面的测试。
离线测试通过之后,就会把这个模型部署到线上的一个具体业务当中去。部署到线上之后,我们的数据也会进行实时的更新,随着用户访问这个人工智能系统越来越多之后,数据也会随着业务开展变得越来越多。这时候,在线上进行业务的同时,我们会对这个人工智能系统模型进行一个线上的测试,也就是online testing。
线上的测试和线下的测试有什么主要的区别呢?第一个是线上测试会接触到更多的新的一些数据,有些数据可能是一些非法的,有的可能是造成一定影响的,都是有可能发生的,这个对于线下的测试来说一般是很难做到的。
第二点,线上的测试除了线下测试需要考虑的模型的一些参数之外,还可能会考虑到一些性能方面的问题。比如说用户的响应时间等。
在进行线上测试之后,我们会收集到一些新的线上用户的一些数据,这些数据一般来说都会更新到原来的数据库当中去。这样就形成了一个循环迭代的过程。也就是说,不断的用这个数据库去训练这个模型,再从新的数据中去更新这个模型,去不断地进行线下和线上的测试这样一个过程。
从这个过程中我们也可以看到,整个人工智能测试是一个循环迭代更新的一个过程,对于数据的更新也是非常重要的一环。
测试的步骤具体来说到底是怎么做的呢?我们经过大量的时间和研究总结出来了人工智能测试的生命周期。基本上它也是一个循环迭代的一个过程,需要经历测试需求的分析、测试环境的准备、数据的准备与验证、测试的执行预分析以及上线后的监控这样一个过程。
接下来的文章我们会把每一个板块展开,进行更为详细的介绍,欢迎大家继续关注。
(本系列文章根据《优品软件培育计划》公益直播内容整理,观看直播回放可以私信我,获取免费观看链接。)