4 亿用户过后,甜橙金融如何利用大数据和 AI 蓄力发展?

阅读数:949 2018 年 9 月 25 日

导读:人工智能逐渐渗透进人们生活的方方面面,传统的工作领域也在被人工智能与大数据逐渐颠覆,金融就是其中的一个代表领域。在如今的金融领域,自助与自动化似乎都是常态,利用人脸识别进行身份验证,用户画像则用来对用户信用进行评级。在 AI 发展愈发强大的今天,金融领域还有哪些我们不知道的变化?这一切的背后又有什么样的技术在支撑?我们采访到了来自甜橙金融的大数据总监谢巍盛,这些问题将由他来进行一一解答。

受访嘉宾介绍:

谢巍盛,现任甜橙金融大数据总监。毕业于上海交通大学模式识别专业,研究的课题是语音识别。2010 年加入 Intel 亚太研发中心后,谢巍盛还做过一段基于 Intel 的 GEN 系列 GPU 从事图形图像处理研发工作,之后才转入的大数据部门。

此后,谢巍盛的工作就围绕着大数据开源生态展开了,专注于分布式计算,机器学习模型与优化算法等领域。期间他也负责支持多家互联网企业和科研机构落地大数据和 AI 应用, 谢巍盛告诉记者:他正是因此意识到在实际业务场景中落地大数据和 AI 应用存在的挑战性。

在加入甜橙金融后,谢巍盛将更多的精力投入到大数据和 AI 体系的建立中。

金融大数据 AI 体系是什么?

Q:能否为我们介绍下甜橙金融大数据和 AI 体系是怎样的一套体系?

谢巍盛:数据挖掘 / 建模早在 80 年代就有商业化应用,也有很多成熟的解决方案用于支撑数据应用落地。当时由于条件不成熟,各行业积累的存量数据有限,因此计算不是主要矛盾。

但随着互联网特别是移动互联网时代的到来,科技的进步和基础设施的发展,工业界已具备大规模数据采集,储备和应用的条件。

Google、Facebook 和亚马逊等公司利用数据取得的商业价值也让工业界看到数据的价值,此时科研领域也证实以大量的数据做驱动结合复杂的模型设计能取得非常好的效果。 (开源运动促成的在数据,算法模型和工具的共享也极大地推进了包括 AI 在内的大数据应用的发展)。

因此,大量互联网企业向数据驱动转型。 但此时,对海量数据进行复杂的算法运算对计算平台提出了严峻的挑战。数据应用离不开计算平台支撑,在当下以数据为驱动的 AI 应用更是如此。AI 体系无法脱离大数据体系独立运行,落地一个商业化的 AI 应用不仅仅是模型开发和训练,而往往还需要结合数据采集,  大数据分析和流计算等技术手段。

甜橙金融大数据的建设方针是利用科技支撑数据驱动业务发展。

自主可控是当前国内领先的互联网企业科技建设的主流,  甜橙金融大数据规划建设也是站在开源基础上自主研发。 甜橙大数据体系主要分为数据体系和大数据平台。

数据体系包括数仓 / 集市建设和数据治理。

数据仓库层根据不同主题域对公司业务全量数据清洗加工并输出业务集市供业务部门进行数据查询分析,  数据探索和模型开发等使用。

数据治理通过制定一套制度和流程结合技术手段规划,  监督和管理企业数据,  主要包括数据标准、数据质量、元数据管理、数据安全等方面内容。

甜橙金融大数据数仓是按需驱动着手建设,  目前已基本覆盖全业务 ; 数据治理的难点在于需要组织前端业务,  后段技术和数据人员从数据采集,  处理到服务规范化。

大数据平台是大数据体系的基石,承载着大数据各个应用。甜橙金融大数据体系以数据体系和大数据平台为核心,内含权限与认证管理、作业调度、元数据管理、队列管理、数据服务等单元为重要组成部分,支持海量数据分析、AI、流计算等大数据应用安全,高效与稳定运行。

迎战海量数据!

Q:甜橙金融大数据平台在业务增长期都遇到了哪些技术上的挑战?

谢巍盛:对于大数据部门,  公司在业务高速发展的时期带来最显著的变化是数据量骤增,  并且需要在庞大的数据上支持前端业务人员快速分析和挖掘数据价值响应市场变化。 对大数据平台提出的挑战主要集中在海量数据的处理,  安全性,  稳定性和服务的高效性。 这些挑战直接影响我们在不同应用场景下的建设规划与技术架构选型。

在数据体系建设上,  为更好支持数仓团队做数据开发, 我们将数仓从 TD 迁移至 Spark,  技术上的自主可控也为未来更灵活且复杂的数据体系建设做准备。同时,  也着手进行数据治理,  包括元数据管理、数据质量管理和数据安全建设等 ;

数据平台建设的目的在于更好支撑业务部门对数据的应用需求。在业务发展初期,  现有的数据分析人员尚可支撑各前端业务部门的需求,  但在业务高速发展时期,  为适应市场变化,  前端事业群的需求越趋复杂多变,  且公司的业务线较多,  大数据部门的分析人员应接不暇,  每天疲于奔走处理各个需求工单。 同样的情况也存在于模型开发人员的工作中,大量人员从事重复机械式工作。

因此,  需要建设数据平台赋能前端业务部门自助开展数据应用,  即俗称”平民化” 数据应用。 我们自主研发的甜橙自助 BI 平台以及甜橙数据科学平台就是为了以最低门槛让前端业务人员在取数,  分析及模型开发等应用上能够自主完成。

通用的模块做到平台化,  自动化而将个性化的需求交给各业务部门的数据开发人员,  一方面极大缩短了业务数据需求上线周期,更大的灵活度也让各业务部门可以做精做细自己的业务,  另一方面也解放了大数据部门数据人员,  转而可以专注于通用数据 (数仓 / 集市,  标签系统等) 开发,  进而也能极大提升整体的数据质量。

而在平台建设过程中也面临诸多挑战,  譬如对于一个功能如何界定通用与个性化的界限,  如何建设稳定高效的计算平台的同时对业务人员足够轻量与友好,  如何满足业务人员灵活的数据应用同时保证数据安全等等。这些问题不存在标准答案,  更多需要各个企业结合自身的情况对症下药。  

细节决定成败

Q:在大数据平台建设规划中, 有哪些常见的架构选型和实践问题?

谢巍盛:企业大数据平台建设应该紧贴业务需求,  不可为了建设而建设导致投入大量资源开发的平台无法使用,  也不可为每个需求都开发一个平台导致大量资源浪费。  甜橙金融在成立大数据部初期梳理了当时的需求列表,  集中力量解决主要矛盾,  进行数据体系建设和平台建设。

甜橙自助 BI 平台重点解决业务人员在数据提取,  探索分析和数据可视化三方面需求。 目前 Hadoop 生态 SQL engineering 的选择较多 (诸如 sparkSQL、presto、impala、kylin 等)。 甜橙 BI 平台在前端支持拖拽取数和自定义 SQL 查询交互,  生成的 SQL 通过路由层将计算调度至底层对应的 SQL 引擎,  底层计算引擎融合了 kylin、presto、sparkSQL、Druid 和 ES。 整个架构设计是为满足业务部门长时,  短时和交互式查询的需求。

在融合 BI 平台的建设过程中, 安全性是一个非常重要的方面。

在处理权限认证的过程中,  由于会和不同的 SQL 引擎进行交互,  在各个引擎分别添加权限是非常麻烦并且低效的方案。

为此,  我们在 BI 平台中使用 Durid 组件解析 SQL,  提取出资源信息,  再通过权限管理中心, 基于角色进行权限控制。 Presto 是强内存需求的计算引擎, 计算中容易出现内存溢出, 导致集群异常。 需要根据集群硬件状态和 query 的并发统计数据灵活调整内存参数配置解决问题。 Kylin 构建 cube 容易导致存储空间使用量过大, 我们结合业务需求利用多种维度优化策略, 如衍生维度、必要维度、层级维度等, 很好的优化了存储空间, 但目前依然会有 bitmap 的性能问题还在做进一步优化。

建设数据科学平台的初衷也是立足于解决业务部门在模型开发上的痛点。

当前模型开发要求开发人员具备一定的代码能力 (如 python),  而业务部门中具备编码能力的人员占极少数;

其次,模型开发人员间协同程度低且由于不稳定易造成知识流失 (如人员流失导致模型无法维护);

最后,在大数据量下模型训练需做分布式计算,  工程能力要求高。

所以,我们开发了一套轻量的,  拖拽式的数据科学平台, 满足从数据清洗、特征工程、模型训练及验证上线一站式服务。 因此在选型上,我们侧重于能各流程有机融合的方案。

Spark 基于 pipeline 的计算模式很适合我们的需求, sparkSQL 可对数据进行 ETL 处理,  sparkML 提供绝大多数经典机器学习的算法分布式运算,  而在深度学习方面有诸如 TensorflowOnSpark、CaffeOnSpark 和 BigDL 等可供选择,  目前看我们围绕 Spark 生态搭建的数据科学平台很好的解决了业务部门在模型开发上存在的问题。

存在的挑战主要存在于两个方面。首先,由于业务数据的多样性,  无法定义一套统一的处理方法应对所有的数据问题,  譬如对”脏”数据,  异常值等等,  这是业界存在的普遍问题。需要一定人工干预保证数据大致规整后才能运用一些统计与模型的方法。

其次,当前多数企业针对大数据量下深度学习的应用采用的方案是架设两个集群, 一个集群搭建 Hadoop 生态组件对数据进行 ETL,处理完的数据 copy 到另一个搭载分布式深度学习工具 (如 Caffe,Tensorflow 等) 的集群进行训练,训练得到的结果可能还需要再发送到生产流水线上。这个方案对运维,开发还是生产都有一定复杂度。TensorflowOnSpark 与 CaffeOnSpark 就是为解决这个问题,在 infrastructure 上融合 hadoop 生态与深度学习。但也存在一些问题,譬如在节点角色分配的时候容易会将两个 worker node 分配至同一个 GPU 导致 OOM,需要针对 Spark 和 Tensorflow/Caffe 配置各自参数列表,冗长且调优复杂度高。

关于流计算

现如今,越来越多的公司在业务发展过程中发现有实时业务需求,  譬如实时营销推荐、实时风险阻断、实时业务监控等等。 大数据流计算虽起步较晚,  但整个流水线从数据采集、消息中间件、流计算引擎和状态缓存等均有很多选择,现在,流计算在各大公司也有广泛应用。

对于流计算引擎 Spark 和 Flink 都瞄准了在一个执行引擎上同时支持大多数数据处理场景,相对来说,Flink 低延迟方面优势明显,Spark 吞吐量高无可置疑, 所以实际应用还需要根据业务场景进行选择。 目前甜橙金融在业务监控场景下使用 Spark Streaming,对 latency 要求较高的场景如支付风控的选择是 Flink。

而 Spark 2.3 发布的 continuous processing 虽摒弃了之前 micro-batch 的处理模式, 通过一定数量 long-run 的 task 不断获取数据并将计算结果写到 sink, 从而能压缩处理时间至毫秒级, 但目前这个 feature 仍在实验阶段, 支持 map-like 的处理但不支持聚合函数以及面向时间的操作函数, 因此还无法满足甜橙金融的某些计算逻辑需求, 期待下一个 Spark release 能够解决这些问题。

未来的智慧金融

Q:在金融领域, AI 常被用作进行用户画像和人脸识别身份认证等用途, 除了这两个场景, 人工智能在金融领域还有哪些比较创新的应用?甜橙金融目前在 AI 领域有哪些尝试和探索?

谢巍盛:近年来利用图像和声纹特征做身份验证是常见的几个 AI 应用的场景 (不仅限于金融领域), 这主要得益于近几年深度学习的发展。

但是,AI 在金融领域内的应用并非近几年才有, 也不仅限于图像语音等形式。 北美金融机构在 90 年代就利用规则结合模型的手段解决业务问题, 如营销和风控。 而这两个场景即便在几十年后的今天仍然是金融机构最重要的两个应用。

事实上今天 AI 在金融领域的应用五花八门: AI 为产品设计、客户需求管理、反欺诈、资产配置等提供智能分析决策;在信贷资料审核、信用评分、风险定价及贷后风险预警等提供决策支持;此外诸如智能投顾, 智慧运营和智能客服等也是目前业内 AI 落地金融领域的应用。

甜橙金融在大数据和 AI 的建设起步较晚,  但也投入了大量的资源进行尝试和探索,  也取得了一定的成效。 譬如,  利用复杂网络关系挖掘识别欺诈团体,  利用无监督学习进行虚假用户识别,  对时序数据使用深度学习建立用户行为模型有效降低账户被盗风险,  对用户兴趣深度挖掘建立用户画像进行精准营销,  对分期用户逾期数据建模结合规则策略有效降低逾期率等等。

创新应用往往是创新科技结合场景。 AI 在过去一年有很多创新研究突破 ,  在深度学习领域出现了 waveNet,  GAN 和 capsuleNet, 进化算法在增强学习的应用能和 Deep Q-Learning 相抗衡,  更多 AI 的工具涌现,  更强的专用 AI 的芯片等等。对于未来的发展, 我们也在随时关注行业动态,也期待未来能为行业的科技发展贡献一份力量。

谢巍盛即将在 QCon 上海 2018 分享《从 0 到 1 构建企业大数据体系》,有任何问题欢迎到现场与谢老师交流。访问大会官网了解大会日程安排。

收藏

评论

微博

发表评论

注册/登录 InfoQ 发表评论