当前位置: 观测器 >> 观测器优势 >> 深度大数据算法应用的测试发展之路
阿里妹导读:随着最近几年数据计算力与机器智能算法的兴起,基于大数据AI算法的应用愈来愈热,大数据应用在各个行业也不断涌现。测试技术作为工程技术的一部分,也随着时代的不断变化在同步演进,在当下DT时代,如何测试和保障一个基于大数据的应用的软件质量,成为测试界的一个难题。
本文通过系统性地介绍阿里巴巴AI中台的技术质量体系——搜索推荐广告应用的质量是如何测试的,来尝试回答一下这个问题,希望能给大家带来一些借鉴,欢迎斧正,以便改进。
一前言
最近十年来,随着移动互联网和智能设备的兴起,越来越多的数据被沉淀到各大公司的应用平台之上,这些包含大量用户特征和行为日志的数据被海量地存储起来,先经过统计分析与特征样本提取,然后再经过训练就会产出相应的业务算法模型,这些模型就像智能的机器人,它可以精准地识别和预测用户的行为和意图。
如果把数据作为一种资源的话,互联网公司与传统公司有着本质的不同,它不是资源的消耗者,而是资源的生产者,在平台运营的过程中不停地在创造新的数据资源,并且随着平台的使用时长和频率的增加,这些资源也在指数级地增长。平台通过使用这些数据和模型,又反过来带来更好的用户体验和商业价值。年,AlphaGo,一个基于深度神经网络的围棋人工智能程序,第一次战胜围棋世界冠军李世石。这个由谷歌(Google)旗下DeepMind公司开发的算法模型,背后使用的数据正是人类棋手所有的历史棋谱数据。
阿里的搜索、推荐和广告也是非常典型的大数据应用的场景(高维稀疏业务场景),在谈如何测试之前我们需要先了解一下平台处理数据的工程技术背景。搜索、推荐、广告系统在工程架构和数据处理流程上比较相近,一般分为离线系统和在线系统两部分,见下图1(在线广告系统一般性架构,刘鹏《计算广告》)。离线系统负责数据处理与算法模型的建模与训练,而在线系统主要用以处理用户的实时请求。在线系统会使用离线系统训练产出的模型,用以实时的在线预测,例如预估点击率。
用户在访问手机淘宝或者其他app的时候会产生大量的行为数据,包括用户的浏览、搜索、点击、购买、评价、停留时长等,加上商家商品维度的各类数据(广告还需要增加广告主维度的数据),这些数据经过采集过滤处理之后再经过特征提取之后生成了模型所需的样本数据,样本数据在机器学习训练平台上经过离线训练之后就可以产生用以在线服务的各类算法模型(例如深度兴趣演化网络DIEN、Tree-basedDeepModel、大规模图表示学习、基于分类兴趣的动态相似用户向量召回模型、等等)。在线系统中最主要的功能是数据的检索和在线预测服务,一般使用信息检索的相关技术,例如数据的正倒排索引、时序存储等。
搜索推荐广告系统在使用了上述维度的大数据,经过深度学习之后,成为一个千人千面的个性化系统。对于不同的用户请求,每次展现的商品和推荐的自然结果和商业结果都不尽相同,即便是同一个用户在不同的时刻得到的结果也会随着用户的实时行为的不同而改变,这些背后都是数据和算法模型的魔力。
图1在线广告系统一般性架构图
二大数据应用测试质量域的六大挑战
在思考搜索推荐广告系统是如何测试的之前,我们首先要定义问题域,即要解决的测试问题是什么,我们的思路从以下几个方向展开。
1功能性测试与验证
除了正常的请求与响应的检查之外,大数据的“大”主要体现在数据的完整性和丰富性。一个搜索推荐引擎的好坏很大程度上取决于其内容是否足够丰富,召回是否足够多样。另外,算法带来搜索推荐结果的不确性,但也给我们的测试验证工作造成了麻烦。所以,数据的完整性和不确定性校验也是功能测试的要点。
2数据更新的实时性如何测试
总所周知,对于一个搜索或者广告的在线计算引擎,其内部的数据在不停地发生更新,或者出于商家在商品信息上的变更,也可能是因为广告主在创意甚至投放计划上的变化,这些更新需要实时反馈在投放引擎,否则会出现信息不一致甚至错误。如何测试和验证这些变更的及时性,即保证一定的并发带宽又保证更新链路的响应时间,这是需要测试重点
转载请注明:http://www.aideyishus.com/lkgx/4480.html