模型风险

· 2954字 · 6分钟

周五上班时收到一个问题:“公司在防范模型和算法风险中做了哪些尝试?”。这大概真得只是一份数字化转型调研材料中的一个小问题,然而却也真得问倒我了,因为此前没关注过类似问题,没有理解问题的具体指向。把这问题直接丢给 AI,得到了两个提示,其一是银保监办发〔2022〕2号材料《中国银保监会办公厅关于银行业保险业数字化转型的指导意见》,其二是中国银行业协会发布的团体技术报告《人工智能模型风险管理框架》。

前一份材料有点看不进去,只把第26条反复阅读了几遍,然后根据公司现状写了答案反馈给领导。现将第26条摘录如下。

(二十六)防范模型和算法风险。建立对模型和算法风险的全面管理框架,制定管理制度,对模型数据的准确性和充足性进行交叉验证和定期评估。审慎设置客户筛选和风险评估等模型的参数,并使用压力情景下的参数进行模拟校验。定期评估模型预测能力及在不同场景下的局限性,确保模型的可解释性和可审计性。模型管理核心环节要自主掌控。加强消费者权益保护,防止算法歧视。

这段文字中有好几个定性的词语,诸如准确性、充足性、局限性、可解释性、可审计性(PS这里我不是想吐槽化力感性度),我的理解是这样的:数据的准确性,是指去掉了误差的真实数据,以及没有经由工具变换、转换或者扭曲过的数据;数据的充足性,是指更加全面的数据,能代表整体,而不仅仅代表局部的数据,视具体情况看需要包含历史而不仅仅是某个时间节点的数据;模型应用场景的局限性,一般的模型都是用历史或现在的数据预测未来,应用场景多受限于数据,不能随意迁移;模型的可解释性,一般应划分为可解释的结果和可解释的过程,具体需要解释到什么程度得看业务需求;模型的可审计性,这一点超出了我的理解能力1

后一份报告从头到尾看了一遍,里面对模型的全流程描述之细致让我大为震惊,这份报告提出将模型生命周期分为9个步骤,需求分析->数据准备->模型构建->模型验证->模型部署->模型监控->持续验证->模型修正->模型下线。这份报告写得怎么样我不知道怎么评价,只不过如果现实中照着执行的话,由这个管理框架形成的制度本身大概会成为阻碍发展的一部分2

既然写到了这里,干脆也多吐几个槽吧,说得文雅一点就是,将一些时常盘旋在脑海中的混乱思绪梳理出来。

  • 数据共享

金融行业的发展往往关系着一国经济命脉,因此监管不可缺少。今年上半年,我们国家在中国银行保险监督管理委员会(简称银保监会)基础上组建了国家金融监督管理总局,而对前者不再保留。在此之前的2013年,由银保监会直接管理的一家公司正式成立,即中国银行保险信息技术管理有限公司(简称中国银保信,CBIT)。若追溯历史的话,中银保信此前叫做中保信,只纳入保险业务,后随着银监会和保监会合并为银保监会而改组。不过历史的尘埃实在太多,随便吹一口气,扬起的微尘足以迷住人的眼睛,就不过多叨叨了。

中银保信官网写明,“中国银保信主要负责建设和运营全国统一的银行业、保险业信息共享系统,提供交易支持、数据治理、风险管理、科技支撑和登记、验证、精算、咨询等服务”。这里提到的信息共享系统早几年前确实就建好了,在中银保信还是中保信的时候便以监管名义要求各家保险公司报送全部数据,包括一次性传送全部存量数据和日后T+X传送增量数据。全行业的数据全部收集在一起当然会产生莫大的好处,但毕竟“必须将数据付诸行动数据才有价值”,而怎么付诸行动全由拥有数据的一方决定。全行业的数据首先可以对保险核保业务起作用,比如当一位客户去一家保险公司投保时,保险公司可以把客户信息实时传给中保信,中保信再实时传递一些比对信息给保险公司,例如该客户是否在同行业多家公司投保,是否存在其他公司索赔重大疾病的历史等等,这些可以帮助保险公司规避掉一些客户带病投保或逆选择的风险。只不过,以监管名义拿数据是免费的,但共享数据就要收费了,如同市场上共享单车、共享充电宝一样,价格完全由一方决定。共享这个词语咋看上去似乎是代表着人人皆可拥有,但实际上总被忽略的是,拥有的背面是人人皆需要付出代价。

  • 算法歧视

算法歧视是我工作这几年偶尔会遇到、但很少深入思考的问题,比如和用户磨合一个模型效果的时候,我会忽然提出设置某条件会把某某放到某某某的前面,这是不是对某某某某的不公平?通常用户会说,基于公司的利益,我们就是需要这么做……这次我上网搜了一些与算法歧视相关的文章和新闻来看,其中这篇算法歧视的发生逻辑与法律规制前半部分写得不错。

当前时代,我们早就习惯了信息的高效传递,但我们还是总说时代是迷雾、是巨轮,没有人能窥见全部。一方面是因为人总是有限的,有限的认知,有限的生命,而世界上每一处的变化加起来近乎无限。另一方面也是因为互联网上横行无忌的推荐算法使得每个人都困在信息茧房中。当人们感受到困于茧中时,“破茧”自然成为了第一需求,而推荐算法所带来的算法歧视被更多人忽略,这大概是因为日常生活中本就充斥着各种各样的歧视,人们一样看不见。

  • 选择与逆选择

当一个人向一家银行提交贷款申请时,银行会审批贷款人的资质,选择信用良好的予以通过,这是银行在选择客户。而一个还款能力差的人得到了贷款,银行认为这是发生了逆向选择的风险。若一个人得到了银行贷款,把钱拿去坑蒙拐骗、浑水摸鱼,做大了资产后顺利还款,这个人是银行的优质客户。而另一个人需要找银行贷款救急,最终没有得到贷款,引发了一系列悲剧,这个人的人生与银行无关。

其实所谓模型和算法本身就是带着歧视的,因为它们建立的目的就不是为了促进人人平等,而是只与利益相关。随便哪个包含了人的行为特征的模型,本来也是包裹着不平等的。从一家企业的角度看,要规避掉逆选择风险,就要选择客户。

说实话,我认为平等(equality)、公平(equity)、公正(justice)在人类社会中的存在相对社会制度而言是充满着矛盾的。对于现在的我来说,需要工作来养活自己,所见种种仅能为自己提供思考和写作的素材,那些近距离的观察暂时也只能到观察这一步,不能付诸行动去改变什么。作为一个平时总是过度乐观的人类,此刻仅仅只想丧丧地叹一口气,人啊,继续与有限和矛盾共存吧。


  1. 审计工作我没怎么接触过,去年此时我曾经需要配合用户提供一份很复杂的数据给外部人员用于审计,那份数据需要包含许多维度、涉及好几百个指标、涵盖主要的业务范围。审计工作给我的感觉就是将一切业务数据变得透明,然而模型本身就是个黑盒子,我简直想象不到去怎么审计一个模型。另外,“使用压力情景下的参数进行模拟校验”这句也不懂,我只听过压力测试,大概是要测试系统的承压能力,这里我也想象不到模型的参数怎么跟压力联系起来。我的这些不理解,大概还是自己太菜的缘故吧。 ↩︎

  2. 另有一点,是我在模型开发过程中遇到的,一般的软件开发流程是开发人员在开发环境开发、测试人员在测试环境测试、运维人员在生产环境运维,开发、测试、运维的人员是互不相干的,对应的环境也是互相独立的,但是模型这个东西似乎没法完全依照这样的标准流程来拆分,测试功能好不好用可以编造数据测,但是测模型准不准不能随意编数据,不然编出来奇葩数据可能会得到奇葩结果。 ↩︎