AICon议程上新60%,阿里国际、360智脑、科大讯飞、蔚来汽车分享大模型探索与实践 了解详情
写点什么

专访季虎:如何突破瓶颈构建高质量风控系统?

  • 2015-12-08
  • 本文字数:3143 字

    阅读完需:约 10 分钟

互联网的开放性极大地促进了互联网产业的发展,也给人们的生活带来了诸多便利。然而,随之而来的高风险性 - 账号盗用、虚假交易、金融欺诈等 - 也让大家闻之色变。在当今互联网 + 的时代,如何构建强劲的风险控制系统,保障交易、信用、资金等的安全,是任何一个从事互联网业务公司的头等大事。

为此,我们采访了苏宁 IT 总部安全研发技术总监,请他为读者们介绍互联网安全架构的个中精要以及苏宁安全团队在应对“11.11”等大规模活动时的努力。

受访嘉宾

季虎,苏宁 IT 总部安全研发技术总监,主导构建了苏宁电商和金融的风控技术体系。在此之前,季虎曾任阿里集团安全部高级技术专家,参与了 AE、金融和集团的风控系统建设,并致力推进风控自动化和大数据风控实践。其将在 ArchSummit 北京 2015 全球架构师峰会分享《简单的不像技术活——风险检测中的时间窗口计算》

互联网 + 大数据时代,安全领域也越来越多的引入实时的风险识别技术,风险特征(值)计算是实时性和海量数据下的扩展性是很多风险识别系统的难点。业务安全领域,已经在这点上做了很多年的尝试和研究,这次分享从风险检测的过程分析、时间窗口统计的需求场景和各种实现等角度切入,介绍多种场景的风险特征(值)计算以及尝试性解决通用问题的框架,让参会人员了解时间窗口统计的多种技术方案和技巧、如何快速构建业务风控系统等。

精彩内容敬请期待,以下是 InfoQ 记者对苏宁 IT 总部安全研发技术总监季虎的专访:

InfoQ:季虎你好,请给我们介绍一下业界有哪些常见的风险行为及识别技术吧。

季虎:在电商这一块,常见的风险行为包括垃圾账号注册、账号盗用、虚假交易、盗卡、广告的点击欺诈,信用炒作、DDOS 攻击等等,这些是行为方面的风险。我们用到的识别技术有基于用户行为,作特征分析,辅助以大数据模型,构建用户画像;有利用统计模型和规则引擎作事中控制的;甚至还会对用户做主动探测。

在苏宁,风控还包括了内容合规,比如色情,暴力等,也包括版权方面的事情,需要确保开放平台商户不能销售违反国家法律法规的商品,也有用户会发表违禁的评价等等。这里面用到的技术会有自然语言识别,图像识别,这些都依赖机器学习的技术; 此外,不同的行业也会有些特有的风险类型,如游戏,会遇到挂机的问题,P2P 会有征信方面的需求,也各有不同的识别方法。

InfoQ:风控的技术门槛在哪?业界是否有一些开源系统可以使用?

季虎:风控最大的难点在于它跟具体的业务模式息息相关,很难有一个通用的方法。就以黄牛抢购爆款来说,仅抢购的业务形态就有很多,比如秒杀,预约等等,多样性对系统的架构是一个挑战;另一个难点(对电商),事中的风险识别是用户体验最好的,这就在性能上有很高的要求。以苏宁为例,下单过程中的风控识别的时间只留了 50ms,这对性能有很高的挑战。

如果是从头搭建一个新的风控系统,初期可以选择开源的规则引擎(drools 等)做二次开发,后期按照实际情况再作调整。

InfoQ:通常在业务场景中风控系统采用什么样的指标进行评估,如何评价一个风控系统的优劣?

季虎:风控系统的评估,跟大多数的后端系统评估没太多差别,具体包括:灵活性,体现在一个新业务上线,一个新规则的变更,一个新模型的调整,要多久,投入多少人力;性能,是不是满足业务需要;易用性,风控系统跟业务结合紧密,能不能支撑业务需求的变更;还有一个重要的指标 - 效果,不同的业务形态,评估指标不同,可能是资损,可能是坏账率等,通过数据来说话。

InfoQ:风控计算会不会带来很大的额外计算压力?在苏宁,我们采用什么样的技术手段来降低风控计算对业务的影响?

季虎:这个必须会!风控系统内部称这为指标计算。压力主要在两方面,一个是 CPU(GPU),一个是内存;具体的手段有不少,在马上召开的 ArchSummit 大会上我会分享一些具体的例子, 到时候大家可以一听。

大致的思路有两个方向:一是预先处理,另一个就是保证计算尽量在内存中进行,根据计算的类型,把计算拆分成多个阶段,以均值为例,M(n)=((n-1)×M(n-1)+M(n))/n,这样计算形式的转换,把求均值变成可以累加计算,一部分预先处理好(可以离线处理),这样风控系统中的计算量就尽可能的减少。不能拆分的计算类型,就尽可能把数据预先加载到内存中,我们曾经在一个信用卡盗卡的模型中使用过单机 250G 以上内存容量的服务器。另外还有一个小技巧,根据实际的模型设计,可以考虑降低计算精度,一些特殊的数据结构可以做到计算精度降低 1 个点,需要的计算量降低 10,甚至更多。这是些简单逻辑运算,更复杂的,如矩阵运算,我们采用高性能 GPU 代替通用 CPU,图像识别是典型场景。

上面说的是提高计算能力的方法,此外,还需要考虑把指标计算的部分独立出来做成微服务。这样既可以降低与规则引擎系统和模型的耦合性,也能更好的在系统之间共享风险指标。

InfoQ:对于初创公司来说,如果公司需要构建自己风控系统,有哪些因素需要特别考虑?

季虎:优先组建业务风控团队,优先组建业务风控团队,优先组建业务风控团队,重要的事说三遍。

回到系统本身,有一些个人体会可以分享下:

1)初期就要考虑的数据沉淀和再利用。风险判断的准确性要么看规则的合理性,要么看模型的准确性,这两个都需要数据支撑进行评价和改良。

2)系统要提供效果评估评价的功能。他的点只关系到系统能不能做好,这个关系到风控业务能不能做好。

3)不要过度追求规则和模型的灵活性,适当降低架构设计的目标设定,灵活性是个无底洞。

4)风控系统只是辅助决策系统,不要串联到业务流程中,要旁路。

InfoQ:从苏宁的风控系统实践的经验来说,风控系统架构的瓶颈会在什么地方?

季虎:主要可能有三个方面:

1)第一个会遇到的瓶颈,都是灵活性。实际上,我参与过的风控系统建设,都会经常性做重构,基本上一年一版。我们做得好的地方在于,设计的时候采用了微服务化的思路,重构的时候不需要全盘推到重来。最近一次重构,重构了模型部分–因为 spark 等技术的发展,性能上已经满足实时需求,我们就仅仅重构了这个部分。其他的如风险指标的计算,处罚等服务,可以维持原样。

2)活动期间的性能问题,一般系统的性能冗余留一倍就差不多了,但是风控不行,我们活动期间的容量需求是平时的几十倍左右,方便的 scale out 是必须的,这点苏宁的私有云技术提供了很好的技术支撑。在 11.11 等活动期间,我们能做到一键扩容,动态资源回收。PS:真不是替苏宁云打广告,私有云方面,整个业界苏宁应该是走在前列的。

3)离线模型的支持,要保证线上线下数据一致性,这在架构设计上有一定难度,netflix 定义的 online,nearline 和 offline 的三线协作模型是很好的参考。

InfoQ:随着业务的飞速发展,你认为风控系统的下一步发展方向将是?

季虎:从两个维度说说我的认识,从风控系统本身来看,自动化应该是一个很重要的需求,自动训练,学习,评估,我们也正在作深度学习方面的探索,特别是无监督学习的尝试;在整个行业的高度看,就要借用我前同事的一个词语“联防联控”,通过云的方式,交付风控的技术能力,并达到整个行业的能力共享。

12 月 18-19 日举办的 ArchSummit 北京 2015“信息安全保障最佳实践”专题中除了季虎的精彩分享外,还有来自腾讯云安全技术副总监刘宁、阿里巴巴 PE 核心架构组专家李振宇、百度运维部资深研发工程师欧阳君沛的精彩分享,专题精彩日程提前看:

演讲议题 演讲嘉宾 《从甲方到乙方—腾讯云安全实践之路》 腾讯云安全技术副总监 刘宁 《简单的不像技术活—风险检测中的时间窗口计算》 苏宁 IT 总部安全研发技术总监 季虎 《百度超大规模分布式安全系统实践》 百度运维部资深研发工程师 欧阳君沛 《让用户数据更安全—淘宝、天猫全网 HTTPS 实践》 阿里巴巴 PE 核心架构组专家 李振宇 ArchSummit 讲师邀约完毕,想了解更多精彩日程,请关注 ArchSummit 大会官网

2015-12-08 19:146672

评论

发布
暂无评论
发现更多内容

限时公开,2023 年阿里巴巴 Java 面试权威指南(全彩版)

架构师之道

Java 面试

JVM 的 noverify 启动参数

HoneyMoose

架构的演进

程序员大彬

Java 架构

简单的文件搜索工具:Find Any File激活版

真大的脸盆

Mac Mac 软件 文件搜索 搜索工具 搜索软件

弯道超车!阿里高工新产Java面试速成指南,面试骚操作都在里面了

Java你猿哥

Java 面试 面经 Java工程师 春招

数据库 CI/CD 工具 -- Bytebase 介绍

Se7en

在 Kubernetes 中部署应用交付服务(第 2 部分)

NGINX开源社区

nginx Kubernetes

Surfire 单元测试添加 jvm参数

HoneyMoose

ChatGPT如何助力DevOps|用例解读

SEAL安全

DevOps ChatGPT 企业号 3 月 PK 榜

Spring知识点总结!已整理成142页离线文档(源码笔记+思维导图)

三十而立

Java

2周时间就掌握了Spring boot,原来是收藏了这样一份文档资料

三十而立

Java spring

龙蜥白皮书精选:龙蜥全面支持 Intel 第四代可扩展处理器 SPR 平台

OpenAnolis小助手

开源 Spr 操作系统 intel 龙蜥社区

是找茬? 还是装 B?阿里面试每轮必问的“Spring Boot”意义何在?

三十而立

Dubbo 正式支持 Spring 6 & Spring Boot 3

Java你猿哥

Java spring Spring Boot dubbo ssm

使用 Alluxio 优化 EMR 上 Flink Join

亚马逊云科技 (Amazon Web Services)

人工智能

从质量思维到用户思维

老张

质量保障 用户思维

三方对接「心得」与「体会」

Java 对外接口

MPSK通信系统的设计与性能研究-8PSK

timerring

通信系统 8PSK

剥茧抽丝,细数模块化的前世今生

战场小包

前端 前端工程化 前端模块化

MySQL8.0 优化器介绍(一)

GreatSQL

MySQL greatsql greatsql社区

干货分享|袋鼠云数栈离线开发平台在小文件治理上的探索实践之路

袋鼠云数栈

大数据 平台开发

玖章算术CEO叶正盛在杭州人工智能小镇AIGC论坛发表主题演讲

NineData

人工智能 代码开发 AIGC 玖章算术 NineData

Dubbo 就近路由

昵称不能为null

dubbo 路由

软件工程高效学 | 软件项目的开发模型

TiAmo

软件开发 模型开发

最新Ins图片保姆级保存方法来啦!你还在等什么!

frank

ins

PostgreSQL 技术内幕(六)Greenplum 排序算子

酷克数据HashData

zookeeper的Leader选举源码解析

京东科技开发者

数据库 代码 企业号 3 月 PK 榜 选举机制

消费级AR眼镜爆发将近:Rokid+无影突破算力,打造“第三块屏幕”

云布道师

无影

应用健康度隐患刨析解决系列之数据库时区设置

京东科技开发者

数据库 优化 企业号 3 月 PK 榜 健康度

新一代移动动态研发模式及原理机制解析

Onegun

移动开发 热更新 动态更新

批量上传iOS应用程序截图的实用技巧

专访季虎:如何突破瓶颈构建高质量风控系统?_语言 & 开发_龙永昕_InfoQ精选文章