信贷风控从 Model-centric 到 Data-centric
导语
:最近听了几个关于以数据为中心的AI
(Data-Centric AI)主题的分享,感觉还是挺有意思的, 其中吴恩达 slides 里面的一个标题打动人心:From Big Data to Good Data, 本文想结合 Data-Centric 与信贷风控场景来聊聊我自己的心得体会
数据的重要性
对于做模型的同学来讲,刚入门的时候肯定都听过Garbage in, Garbage out
的朴素哲理,在我的理解里, 虽然其中的含义强调了数据的重要性,但其隐含的意思更多是说特征工程的重要性,而旗帜鲜明地阐明数据重要性的美国计算机科学家Peter Norvig
曾说:
More data beats clever algorithms, but better data beats more data
其箴言里同时包含了模型算法,数据两方面,但更为强调高质量数据集的重要性;第一次接听到这句话应该是好几年前的事了,觉得大佬说的挺有道理,然后还是义无反顾地看了很多关于具体模型架构的 paper,感叹于大神们精巧的设计,新型深度学习模型在不同领域攻城拔寨的速度,而对于 better data,怎么获取更多 better data 取没有给予更多的思考和关注;
遥想 2012 年,Alex Krizhevsky 和 Geoffrey Hinton 等开发的 AlexNet 在 ImageNet 大规模视觉识别挑战赛上以领先第二名 10 多个点的绝对误差率夺冠,震惊了计算机视觉领域,卷积神经网络又再一次回到了大众的视野;此后的几年,大量××Net 以势不可挡的姿态出现在各大顶会,公众号标题中,以至于大佬们还要为拼凑出一个朗朗上口的××Net 模型名称而绞尽脑汁;
除了 CV,对于 NLP 领域,最近几年听得最多的自然是以 BERT 大规模预训练模型为开端的各种超大模型,从千亿参数到万亿参数,相关的报道不断地在各种记录:
华为盘古大模型 1000 亿参数
OpenAI GPT-3 1750 亿参数
阿里达摩院 M6 1 万亿参数
Google switch transformer 1.6 万亿参数
智源悟道 2.0 1.75 万亿参数
万亿的模型都出来了,你们训练的千亿模型是不是落伍了?
可以一窥 NLPer 的参数焦虑,以及未来的增长潜力的担忧;
回顾这短短几年的进展,我们看到的 99%的文章都是在说新的模型被创造出来了,或者新的 benchmark 指标被刷新了,同时也夹着部分训练技巧/tricks 被提炼出来了,如 ICLR21 上的BAG OF TRICKS FOR ADVERSARIAL TRAINING
, 以及其他林林总总的方法;
从不严谨的角度来讲,以上这些都可以算得上是以模型为中心的AI
(Model-Centric AI), 其核心特点就是固定一个数据集,然后设计各种模型来使得相应的指标最优,但是在一片高歌猛进的 AI 浪潮中,在特定领域公开数据上取得超人类表现水平的 AI 模型,面对现实数据上时常弄出低级错误,在公平性上暴露出的各种偏差等;
解决之道又回到了数据上,干净且多样的数据,正如 Andrej Karpathy 所说:
the only sure certain way I have seen of making progress on any task is, you curate the dataset that is clean and varied and you grow it and you pay the labeling cost and I know that works
以以数据为中心的AI
(Data-Centric AI)是在模型架构发展到一定阶段,调整模型的边际收益越来越小的情况下,固定模型架构后,通过在数据收集,数据标注,数据清洗,以及模型在线反馈的基础上,调整数据来提升模型的性能;
结合吴恩达演讲,重新画了一下 Model-Centric 和 Data-Centric 的思想差异,包含在如下图中:
Model-Centric 思路是不断地调整模型来拟合数据,然后让模型去应对线上环境的不确定性,线上效果不行,加数据后重新训练,而 Data-Centric 方法,将模型训练和线上模型部署后收集到的反馈,用于调整数据集,核心点就是要保证高质量的训练集,也就是所谓的 From Big Data to Good Data;
成年人的世界没有对错之分,非黑即白的二元对立,自然,面对这两种思想流派,一线搬砖的模型同学,也需要兼容并蓄,在不同的阶段,选择不同的策略,模型技术和数据技术两条腿都要硬;
Model-Centric 的舒适区
第一小节简单地引出了以数据为中心的AI
(Data-Centric AI)的核心思想,但是我想把后面的 AI 字眼去掉,仅保留 Data-Centric,在我听过的多个关于 Data-Centric AI 的分享中,无一例外地会以 CV,NLP,语音识别等研究为主,如吴恩达的A Chat with Andrew on MLOps: From Model-centric to Data-centric AI
中的以钢材表面缺陷检测为例,Andrej Karpathy 在 CVPR2021 Workshop 关于特斯拉自动驾驶深度学习项目上的长尾物体检测,提出的一个 Tesla Data Engine 数据采集和样本增强,模型重新训练框架等;
在我的主观认知里面这些才算得上是深度学习应用的主要方向,狭义的 AI 范畴,而以 Tabular Data 为主的传统机器学习应用,并不能算多么的智能,但以 Data-Centric 的思想很重要;
以信贷风控模型而言,一些机构还是以经典评分卡为主,一些机构拥抱了集成学习模型,还有部分机构已经在联邦学习,自监督学习,图神经网络方向走在了前列,但整体上而言,树模型的性能已经足够满足 绝大部分的场景(除时间序列数据外),因此在单模型创新上带来的模型指标收益并不会太明显,因此,更多的时候,我们做的更多的是在样本,变量,以及提升业务指标相关的事情,想想我们的日常工作:
为选择什么样本进行训练而做着各种组合尝试
选择合适的 Target
寻找稳定的变量
尝试解决一下幸存者偏差问题
增强小样本场景下的迁移学习效果
引入更为垂直而有效的外部数据
面对这样的一个看似简单却有很多潜在约束的场景,外部提供的参考总是稀少的,面对陈旧的方法论,从业者估计也在盼望着天降猛男推出类似 ResNet 这样的爆款模型,或者解决方案,将行业的技术提升一个档次;
回顾上述的日常工作,其实已经包含了 Model-Centric 和 Data-Centric 两方面,但是我想更多的尝试应该是在 Model-Centric 上,大部分人希望在模型上的突破带来更多的回报,而对于更好地理解和应用数据的方面的思考会比较少一点,我自己也一直在关注数据这方面的进展和可参考的思路,但是大部分解决方法又回到了模型上,比如很早就开始关注变量 Drift 相关的进展,比较有代表性的解决方法就是Adversarial Validation
,而对于训练空间与推理空间不一致的现象,诸如 ESSM 这样的方法以及像对抗训练,梯度反转等多任务方法,可以带来一定的启发性;
虽然 Peter Norvig 的话经常回想在耳边,也时刻提醒业务感觉很重要,在面临难题时,还是很容易又跳入 Model-Centric 的舒适区;直到看到 Data-Centric 相关的报道,才觉得看到了一点希望,比如,最近一次是斯坦福、ETH 联合线上研讨会的海报宣传,我也一字不落地摘抄如下:机器学习模型的开发和改进一直是过去十年学术界和工业界关注的重点,而在实际工作中,机器学习应用的开发和维护很多时候是在解决一系列与「数据」相关的问题:
如何降低建立训练数据集的成本 (training set construction for ML)?
如何更有效地收集训练数据 (data acquisition for ML)?
如何分析数据质量对机器学习模型的影响 (estimation of data quality for ML)?
如何为机器学习进行数据清洗 (data cleaning for ML)?
如何评估数据对机器学习的影响 (data valuation and influence for ML)?
如何系统化地进行模型质量评估 (ML model testing)?
如何有效地对机器学习进行监管 (AI regulations and governance)?
其中的每个话题都很值得深入去研究,跳出仅靠 Model-Centric 来解决业务问题的单向思维方式;
Data-Centric 的入门
既然 Data-Centric 那么好,我们该怎么来入门呢,或者挑选合适的研究话题呢;举几个信贷场景中常见的例子:
怎么衡量我们的训练集包含的样本是足够多样且有代表性,如何做样本增强;
金融行业在不断的监管下,历史成交样本与当前线上样本发生了很大变化,如何选择合适样本进行训练,除了选择近期样本,历史样本怎么使用,还有哪些方法,判断依据;
在通过率低和各种规则收紧下,训练样本和预测样本在某些变量上呈现出不同的趋势,导致模型业务指标不好,如何进行修正;
模型评估除了模型指标和业务指标的评估,怎么找到模型的潜在缺陷,即所谓的细粒度评估;
外部联合建模单模型表现良好,融合到当前框架后增益不明显,潜在的原因的什么,怎么发挥其价值,怎么找到合适的使用人群;
...
也许读者朋友们会觉得有些问题都不是什么问题,或者不够典型,抛开问题的实际价值,可以问问自己潜意识地使用了 Data-Centric 想还是 Model-Centric 的思路;
说实话,我对于 Data-Centric 的理解还比较浅,以及学术界对于该类方法的未来走向,推出的解决方法会是什么无法做出正确的预测,但是我想未来的很多 paper 中提供的思考框架是值得借鉴的;
感兴趣的朋友可以持续关注这个 repo 中的话题data-centric-ai
版权声明: 本文为 InfoQ 作者【一直学习一直爽】的原创文章。
原文链接:【http://xie.infoq.cn/article/b6882f1fd3cff0224fd9ab2e0】。文章转载请联系作者。
评论