当前位置: 首页 > 科技观察

【NCTS峰会回顾】融360艾慧:探秘AI模型测试的秘密_0

时间:2023-03-12 22:18:55 科技观察

2019年10月26日,由Testin主办的第二届NCTS中国云测试行业峰会在京召开,主题为“AI+未来”为主题,汇聚国内外测试领域知名专家学者、企业决策领导者、高层技术管理者、媒体从业者等,共同探讨高端云测试技术帮助测试从业者了解最前沿的行业趋势和最新的行业动态。实践。会上,容360高级技术经理艾辉作了主旨演讲《AI模型测试探秘》。艾辉分享了AI在金融科技的应用场景,并指出AI在金融行业业务场景变现领域相对成熟。极其重要的作用。以下为艾辉演讲实录:很高兴与大家分享过去一段时间我们基于AI模型评估的测试实践。简短的自我介绍。先后从事云计算和云存储、跨境电商、O2O外卖、金融风控业务的质量保证和工程效率工作。首先介绍一下目前人工智能的主要应用场景。AI在金融领域的落地主要包括:物流、广告推荐、个性化推荐、仓储、无人驾驶等。目前看来,AI在金融行业的业务场景实现领域相对成熟。这主要是因为数据的质量和丰富性,对模型的效果起着极其重要的作用。人工智能在金融科技领域的主要场景包括:智能营销、智能欺诈、智能风控、理赔、支付场景指纹识别、人脸识别等。进一步阐述人工智能的基本概念和相互关系。一般来说,我们模拟的是智能应用,而机器学习只是AI的一个分支。如果是机器学习加图像识别,就是视觉领域的应用;如果是机器学习加语音识别,就是自然语言处理。如果说机器学习和其他奇怪的应用结合在一起,那就是数据挖掘。机器学习是指在计算机的辅助下,我们进行统计假设检验和分布函数来搜索所谓的神经元,取一个向量乘以一个向量,然后将结果放入一个预先确定的变换函数中。深度学习就是做几层神经元网络,然后换几个学习算法。关于机器学习的分类,金融领域还是更喜欢监督学习。我们做一些分类问题,也就是部分预测。分类和回归是比较直观的区分。如果我们做一个定性的预测,比如今天是多云、晴天还是多云,这是一个分类问题;如果我们预测明天是10-15度还是0-5度,这是一个回归问题。在金融风控领域,大部分训练都是基于逻辑回归的模型方法,主要使用信用评分卡。神经网络和深度学习在金融风控领域的应用不宜过多。做好风控并不一定需要最复杂的模型进行训练和预测。前面说了这么多,大家会问机器学习在金融风控上的应用有什么不同?金融风控系统有一些特殊的东西。比如金融风控中提到信用风控,我们通常会讲到贷前、贷中、贷后。我们用得最多的是计分卡模型。记分卡模型应该有200或300年的历史。当机器学习应用程序不像今天那么发达时,特别是在美国,它已经被使用。什么是记分卡?信用评分卡使用逻辑回归的分类来预测好人坏人的概率,在0到1之间,根据这个概率,映射到一个分数,比如:1-100分,就是信用评分。我们是否可以放贷取决于风险概率,并使用历史数据来预测未来的违约。它的分数越高,它就越安全。计分卡的稳定性和预测能力很强。我们经常使用逻辑回归。我们使用的信用评分只是风控量化的工具,它代表的是信用风险。刚开始接触AI相关业务时,我们遇到了很多挑战。之前并没有对整个数据、特征、模型进行深入的专项测试。如果数据和特征效果存在质量问题,会导致模型衰减和偏移。最直接的结果就是应该制止一个坏人,却没有制止给他贷款,这可能会导致坏账和不良资产。具体来说,让我们看看我们在数据质量方面做了哪些工作。主要考虑数据的完整性、一致性、及时性、准确性等。我想强调的是在数据质量分析这个维度做了什么。数据质量分析考虑了更多的维度,比如数据干扰分析,单列数据的准确性分析,单表数据和跨表数据的分析,跨数据列。我们评估了数据的整个特征分布,以及离散情况。上面的离群点可以根据这个离群点来发现数据异常。数据完整性,从关系型数据库到数据仓库,有没有重大的数据丢失?一致性,看对应的口径是否一致。准确性和及时性。很有可能是前一天晚上批处理失败了。如果没有监控,可能对第二天的数据影响很大。大部分都是线下任务,包括及时监控线上任务。既然数据有这些问题,就必须要做数据修正。比如数据确实缺失太多,不做填充处理,特征不能用,模型不能用,有重复记录需要删除。对于定性数据和定量数据,处理是不同的,我们会根据特点进一步说明。数据分析方法就是看整个数据的表之间的相关性,做血缘基数分析。看数据是否存在重大问题,做数据波动分析。评估某个领域是否存在问题,做取值范围分析和分布分析,也能发现一些问题。评估数据是否一致,做一致对比diff,找出这些问题。项目中,通过数据分析的血缘关系库分析,直观的发现A表登录账号比B表少了7000万,A表和B表存在600万的数据不一致。这类问题如果不进行定量和定性的分析,如果基于模型问题逆向分析,影响会很大。我们再来看值域的分析,分析最大值和最小值,比如有一个字段,年龄是150岁,可能不平凡。包括看数据的分布,最大值,最小值,时间段内异常的比例。中文异常的比例,尤其是中文存储的字符格式。还有分布分析,金额的比例,区间的域值,各种码值。下面简单介绍一下数据测试的要点。我们在日常测试中做数据质量测试,就是基于这些。金融数据质量要求非常严格,可以说比互联网广告数据还要严苛。比如小明同学搜索的时候推荐了一款女装,可能不是很重要。但由于数据质量问题导致信用风险,可能导致直接的财务损失,因此对财务数据的质量要求非常高。先简单说一下数据质量平台的设计。我在这里放了一个架构图。整个数据质量平台的关键核心点是如何做数据质量的规则引擎。规则、自定义开发、对应的报表或触发告警都是基于自定义编写的。还是基于其他开源工具,有很多规则引擎的解决方案,比如Drools,大部分原理都是类似的。关于特征模型的测试,先说数据,再说特征,再说模型。为什么?这是我们做模型训练时的流程和套路。我们谈到了模型。在做模型训练的时候,80%的任务在做特征工程,20%的任务在做模型训练。我们做一些关于名词、过拟合和欠拟合的科普。过拟合是指模型过于复杂,无法学习额外的数据属性,而欠拟合是指没有捕捉到数据特征。究竟什么是建模?建模和动物驯服的相同点,我们做动物驯服,比如给猴子输出密码,让它调整动作,直到这个过程期望和现实一致,由此类比,我们的建模和动物驯服就是这样一个过程电路训练。我们反复讲过数据的特性。数据和特征之间有什么区别?左边是一条数据,右边是一个特征。对对应关系、180天内打车成功次数、180天内打车成功次数最少进行了一些换算。我们将数据转化为机器可以学习和发现常规信息的属性。机器学习大部分是解决预测的问题,用X来预测Y。这个X代表的是特征,而不是数据,因为直接用最原始的数据填充模型并不能很好的得到数据的规律和信息。但是特征是有价值的属性,这些特征可以用于模型训练和拟合。业内有行话,数据特性决定了机器学习的上限,而我们所有的模型都只是在逼近这个上限。如果你的数据特征质量不好,再好的模型训练效果也会打折扣。从特征挖掘到模型构建,这个过程是我们在日常测试开发中需要经常关注的。让我简要解释一下。前端的数据采集、数据分析、数据清洗大部分由数据仓库完成,同时也做一些特征挖掘,数据分析和存储在前端完成。数据清洗完成后,开始特征挖掘。图中的所有特征,特征挖掘的过程,从数据仓库中挑选出与业务相关性较高的数据,建立特征工程。发现了很多问题,比如大量的缺失值,需要做一些填充,比如定量数据,可以根据平均值和中位数来填充。如果是一些固定的数据,直接转成NaN之类的。确认值完成后,定量特征值二值化也完成了。我们还将对原型特征进行一些哑编码。比如我们在做疾病预测的时候,得某种疾病的概率是高、中、低,那么我们就可以把它放到模型中,因为很多特征的标准是不一样的,包括特征的选择。而降维,我们需要从高维降到低维,更好的吸收数据。具体来说,信用卡评分模型中使用的关键指标,我们主要参考几点,一个是KS,riskdiscriminationability,就是判断好用户和坏用户的区别,区别越大越好模型的效果嗯,因为辨别度高,可以区分出张三是好人,李四是坏人。然后是卡方,样本偏差的程度。PSI,这是模型稳定性的一个关键指标,是模型预测值与实际值偏差的指标。PSI越小,模型越稳定。一般认为PSI小于0.1时,模型稳定性很高,0.1-0.25一般大于0.25,模型稳定性差,建议重做。IV(informationvalue),这是我们的模型在选择特征时要注意的一个点。特征对模型预测能力的贡献,我们需要选择对模型预测能力贡献较大的特征。比如有100个特征,有Age,education,income,hometown等。其中,age,education,income等特征对信用贷款风控模型有很强的贡献,而hometown特征一般。具体特性测试的重点分为几个部分。通用特性包括特性计算逻辑、特性调度和特性启动。对于特征计算,除了计算长度外,还关心整个特征的划分、编码、异常处理等。我要强调的是特征的回溯,这对信用评分模型的效果至关重要。信用风控就是利用用户过去的时间窗口,比如上个月的数据,来预测他未来的贷款风险。如果他用他最新的信用数据来预测明天,或者用今天来预测今天,特征效应可能更高,但是人为的高,所以就有了时间窗的概念,根据历史来预测未来。还有洗牌障碍。一些模型与特征的排序有关。如果出现问题,模型的效果也会出现波动。还有就是特征调度异常的处理,还有特征在线,各种一致性,在线离线覆盖,特征值等等,这个一致性是非常关键的。我们也做各种基于特征的专项分析,大部分都是在做一些特征指标,特征分布,特征大小等等。模型应该如何测量?我们在模型测试中有几点需要重点关注。一种是变态。我们直接构造输入以查看输出。可能很难找到问题所在。模型测试是Oracle问题(unknownproblem),没有明确的标准。如果改输入看输出变化环境是否对应模型的问题,比如打乱一些标签和属性,添加无信息的属性,看模型输出的问题。这也取决于特征工程处理的情况。整个模型工程测试大部分都是白盒,不像服务端可以暴露接口。还有小样本实验,很有效,看整个信用评分的分布是否符合正态分布。关于模型效果的评估设计,我们需要将算法版本控制为评估过程中的唯一变量。模型监测和模型发布与工程服务同样重要。模型会随着时间衰减。我们需要做各种监测,包括关键指标,覆盖面和准确性的监测。提取还款样本,标注样本,请求在线模型,计算KS。金融风控的模型测试相对于做互联网2C广告推荐模型来说难度更大。对于大多数互惠金融平台来说,很难获得信用还款表现样本。模型测试的痛点是什么?第一个难,门槛很高,我们传统的工程测试方法不能完全复用,而且很抽象,模型是一个黑盒子,如果要定位问题,模型的效果不好,而且排错链接很长,原来是某某数据丢失了。它与数据密切相关。数据的特征质量决定了模型效果的上限。我们经常谈论模型评估。这里有一个非常重要的环节。我们需要先覆盖数据和特征质量。这是一个非常重要的来源,80%的工作都在特征工程中。然后它很慢。对于一些传统的公司,比如金融公司,一个模型的迭代可能需要半个月、一个月,甚至两个月,因为反复的实验,环境的变化,客户群的变化。这是一个不确定的问题,因为无法完全根据分数或一些指标来评估模型的好坏,而推出才刚刚开始。因此综合运用各项数据指标进行评价。AI产品质量体系应该做什么?分为线上和线下:线下三个模块,模型质量、数据质量、项目质量。在线监测各种模型效果、特征、一致性、覆盖率和业务绩效。我们希望让线上和线下模型的测试更加专业和高效,但是我们还需要做自动化和工具平台化。例如,我们可以将模型评估可视化,充分参考现有开源平台制作的模型评估模块的功能。可视化展示和衡量数据分析、质量分析、统计维度,让整个模型部署过程自动化发布。.最后,在AI时代,如何测试和开发技术储备和转化?想要学习人工智能,需要一个从高等数学基础到机器学习的过程。我们也在内部开发一个机器学习小组,总共有18节课。然后是数据分析和挖掘。上面提到的特征挖掘大多采用数据挖掘技术。数据质量分析本质上是数据分析,需要熟练运用大量相关理论和工具。如果你做机器学习,看一些视频教科书大概就知道是怎么回事了。我左边的深度学习和强化学习比较复杂,右边的一二三足以让我们入门模型的质量保证。如果觉得看书很累,可以去B站看看。B站有很多更好的视频资源。PPT中还给出了详细的AI学习路线图,感兴趣的同学可以参考学习。以上就是今天和大家分享的关于模型测评的全部内容,希望能给大家带来一些收获和启发。对于AI模型评估测试,目前各公司团队都在探索和推进中,希望在前进的道路上与同行朋友们多交流、多学习。