近年来,机器学习模型算法在越来越多的工业实践中落地。在滴滴,大量在线策略从常规算法迁移到机器学习模型算法。如何构建机器学习模型算法的质量保障体系,成为质量团队迫切需要解决的问题之一。本文从整体上介绍了机器学习模型算法的质量保障方案,并进一步给出了滴滴质量团队在机器学习模型效果评估方面的一些探索实践。一、背景近年来,随着技术的发展,机器学习模型算法在越来越多的工业实践中得到应用,尤其是在基于深度学习的语音智能和图像智能方面。在我司,大量线上策略已经从规则算法迁移到机器学习模型算法,并在多个方向的实践中取得了良好的效果,例如:拼车队列预测模型、司机调度控制badcase模型、取消率模型、机器学习不同于传统软件,后者的行为是根据不同的输入预先确定的,其逻辑是可解释的。给定输入,可以预先确定预期输出。在机器学习模型中,尤其是分类模型中,模型是基于大量数据进行训练的,输入是数据和对应的标签。训练过程对人类来说是一个黑匣子,人类无法预先确定结果。一般来说,模型测试的难点体现在以下几个方面:(1)样本获取,一些模型样本比较稀疏,比如安全单模型(2)数据质量,主要体现在模型训练和使用阶段,所涉及的数据量一般都很大,数据质量的控制无法细粒度(3)特征质量、特征有效性&特征相关性度量(4)模型效果验证,行业公司的质量团队主要通过一些大业务通过指标进行评估,在搜索推荐、金融风控等领域都有很好的落地。但业务指标通常是衡量模型有效性“表面”的指标。找助力模型的迭代方向比较薄弱。2.模型质量保证方案在一定程度上,数据和特征决定了机器学习的上限,模型和算法只是逼近这个上限的手段。在对模型进行测试之前,我们可能会有以下几个问题:(1)模型的能力能够满足哪些标准?(2)什么样的测试数据可以很好的衡量模型的能力?(3)如何评价特征的好坏?(4)如何从用户的角度更好地评估线上模型的效果?模型从训练到上线应用的基本流程如下:从上图可以看出,机器学习模型的质量保证主要落在以下几个方面:数据质量、特征质量、模型算法质量,以及模型效果评估。落入模型接口层还需要考虑接口的性能和稳定性。此外,还需要考虑在线模型的安全性,尤其是无监督深度神经网络等模型。例如,攻击者通过精心设计的样本破坏模型的训练数据,或者通过引入噪声和干扰来“愚弄”模型,最终使模型做出错误的判断。进一步细化,得到以下模型质量保障总体方案3、我司模型质量保障现状我司在机器学习模型质量保障方向的实施主要体现在以下几个方向:数据质量、接口质量、模型监测、模型效果评价等4个??方向。其中,模型监控建设被广泛应用于各类质量团队,是目前主要的底线措施。模型算法的好坏目前主要由策略同学自己来衡量,但是从用户的角度来看,特征有效性、特征相关性等特征质量指标还有很大的提升空间。目前突出的问题是:模型从训练到上线所依赖的基础服务分散在各个质量团队中,没有形成系统的模型质量保障平台。目前的好消息是,原本分散在各个团队的机器学习模型训练和部署平台正在逐渐汇聚为一个统一的策略中心,1.0版本已经上线。因此,机器学习模型质量保障的重点将围绕构建系统的模型质量保障平台,进一步深化特征质量和模型效果评价,抽象出通用评价能力并落地平台。发一张图总结一下我司在机器学习模型质量保障方面的现状:4.模型效果评估实践▍4.1背景我们一直深耕在线策略评估和badcase挖掘,所以对于策略在线的评估效果积累了丰富的经验。一个比较偶然的机会开始评估拼车ETD模型的效果。实际的演进路线是:线上→线下。线上主要从城市+业务线+场景的多维度进行模型效果应用指标层的评估,帮助攻略同学更直观的找出主要偏差场景。其次,我们分析模型对业务环节进行建模,将真实的样本数据映射到对应的节点,从而测算关键偏差路径。最后,我们复用了之前积累的badcase下钻能力,在模型业务环节上对关键偏差节点的根因进行下钻,从而找出一些对模型效果有影响的新特征。▍4.2方案及具体实施方案图如下:模型偏差关键路径的核心算法如下:▍4.3模型效果评估的价值点一般来说,在机器学习模型效果评估方面,我们的价值点主要体现在以下几个方面:(1)基于场景的模型效果度量(2)偏差关键路径寻找(3)模型潜在新特征挖掘(4)依赖性对模型效果的负面影响度量5.总结模型质量保证在国内外各大公司中,整体处于探索建设阶段。主要原因是:与传统质量保证相比难度更大,技术要求更高,模型应用背景差异较大。在模型整体质量保障方面,我司缺乏系统建设,模型特征测量环节没有实际执行。得益于我们在在线策略评估和badcase挖掘方面的长期积累,我们在模型效果方面比行业深入,走在行业前列。我们所做的工作对提高实际模型效果起到了很好的作用。但仍需进一步思考,将模型评估的通用能力抽象出来并在平台上实现,以更轻便的方式辅助策略团队找到模型效果提升的切入点。
