金融数据智能在蚂蚁金服的现状与发展

本文涉及的产品
数据安全中心,免费版
简介: 摘要:随着金融行业越来越复杂的融合场景和海量数据的出现,新一代数据技术架构和金融计算核心引擎呼之欲出。在2019杭州云栖大会开发者峰会上,蚂蚁金服计算存储首席架构师萧河就为大家分享了金融数据智能在蚂蚁金服的现状与发展。

点击这里回顾9月27日上午开发者峰会精彩内容

蚂蚁金服在过去的十几年中用技术重塑金融服务,主要工作集中在金融级交易支付技术和金融级数据智能技术两个领域。

image.png

除了和传统大数据相同的需求之外,金融数据智能还有一些独特的需求:

  • 实时性要求高:实时数据增长非常迅速,在线决策越来越多,数据时效性对业务发展非常重要。
  • 计算场景复杂多样:从简单统计和决策规则发展到复杂图、AI模型以及复杂决策。
  • 数据链路长,全链路研发调试:模型研发横跨18个系统,需要掌握多种研发模式,对研发团队提出了巨大挑战。
  • 计算存储高可用:需要实现跨域容灾,高可靠的计算服务。
  • 数据安全,监管合规,风险防控:严格的数据安全、等级体系,保护用户隐私,遵守监管合规,全面风险的防控。

为了应对金融数据智能的需求,蚂蚁金服的计算技术也经历了漫长的演进和发展过程。针对海量数据,需要使用像MapReduce/RDD这样的批处理计算引擎。时效性要求高,因此也需要做实时计算。数据分析的需求越来越多,于是也实现了交互式分析。同时,计算技术也会面临一些挑战,比如多种计算模式带来了研发效率问题,多套系统带来了多样存储需求,需要花费额外成本,并且还需要不同的容灾要求并保障数据安全,并带来了复杂度上升的问题。

image.png

开放计算架构

可能对于工程师们而言,想要解决上述问题最理想的方案就是构建一套统一的系统,但是难点在于系统是什么,如何确定系统的边界以及如何对系统进行抽象。首先,因为计算引擎本身与业务是强相关的,而在现阶段没有一个引擎能够满足蚂蚁金服所有的业务需求,并且业务仍在不停地进行创新,也在不停地提出新的需求。因此,蚂蚁金服希望能够拥有开放的计算架构,能够容纳各种各样的计算引擎。

在开放的计算架构之下,存储也需要统一起来。数据存储可以有各种各样的格式,可以有多个副本和复制,可以针对计算引擎进行各种各样的优化,但是在底层需要使用统一的存储,同时要有统一的全站式安全管控措施。

image.png

数据安全管控必须是全站的,金融数据智能体系需要提供全站统一的元数据管理、接入规范、安全等级以及隐私保护体系。只有在统一的数据安全规范之上,才可以将不同计算引擎接入进来。并且,针对每个引擎也需要能够提供不同的安全管控策略。

image.png

在开放架构、统一存储和统一数据安全规范的基础之上,蚂蚁金服还希望统一编程模型。蚂蚁现在的做法是统一基于一套标准SQL及扩展让用户直接面对底层数据来写自己的业务逻辑。可以想象为将引擎和存储抽象出来,对业务而言,不需要关注流计算与批计算,而只需要关注需要数据做什么以及数据的时效性即可,其他的部分则由引擎以及存储层自动优化和解决。此外,在统一编程模型中真正实现了面向数据的编程,业务同学面向抽象出来的数据编写业务逻辑,而不需要关注具体细节,这就是数据虚拟化的过程。统一编程模型是蚂蚁金服基于现有的计算模式和经验总结而成的,它能够为用户带来研发体验的巨大提升。
image.png

以上的这些就形成了蚂蚁金服所认为的能够支撑未来金融业务持续发展的一整套金融数据智能体系。而如今最为火热的话题就是人工智能技术,蚂蚁也需要考虑如何在金融智能业务中应用人工智能。

人工智能系统的现状基本上就是先有一个数据集,经过数据仓库清洗数据,然后将数据放在模型平台上进行训练并且输出训练好的模型,最终将模型推给线上的服务。在整个流程里面,肯定需要多套系统,并且数据也需要复制多份,这就有可能造成数据安全风险以及存储效率低下的问题。此外,因为模型本身的限制,这一过程很难做到实时,但是实时性在金融系统正在变得越来越重要。对于用户而言,需要做数据仓库,需要掌握机器学习平台,还需要将模型部署上线,整套过程非常复杂和烦琐。而蚂蚁金服在金融数据智能新体系里面直接插入了机器学习引擎。

image.png

蚂蚁金服SQLFlow的初衷是希望用SQL来表征和描述所要做的机器学习内容,使用SQL将数据和机器学习串联起来,可以让机器学习变得像SQL一样简单。用户只需要了解SQL就能够完成机器学习训练以及模型预测。

image.png

ElasticDL是蚂蚁金服开源的基于弹性调度的AI引擎,它完全基于开源的TensorFlow,但在TensorFlow的基础之上实现了容错以及弹性调度。同时,ElasticDL与SQLFlow进行了集成,使得用户训练模型更加简单。

image.png

金融级图计算

在蚂蚁金服业务中存在一些图计算的典型场景,比如实时反套现、社交分析以及营销圈人等。这些场景在蚂蚁金服的金融数据智能体系下实现起来也是非常简单的,相当于在体系中插入了一个图计算引擎。这样一来,不仅提供了离线和在线的图计算引擎,同时将流计算、批计算打通,实现了混合计算引擎。此外,蚂蚁还希望进一步优化金融数据智能体系,通过SQL + Gremlin这样的标准使得机器学习的过程更加简单。并且在底层还实现了强一致的在线图数据库,能够为用户提供海量的图数据存储服务。

image.png

蚂蚁金服的金融数据智能体系的思路就是提供一个开放架构,因此每当出现新的数据引擎和数据模式时,可以很容易地直接引入进来。如果业务存在新的需求,还可以接入深度定制化的引擎。无论接入了什么样的引擎,都可以直接处理海量的金融数据。而在这些计算引擎发展相对成熟的时候,可以在上层进行归纳,对研发效率等进行更进一步的优化。

金融数据融合计算

image.png

当完成了上述体系之后,还需要考虑很多业务往往需要面对非常复杂的计算场景。在复杂的金融场景下,需要同时使用多种计算引擎,因此需要融合计算模式,使得计算引擎之间的互通更加高效。因此,蚂蚁金服和伯克利合作打造了Ray融合计算引擎。在融合计算引擎之下,可以用一套研发流程和标准来描述多种多样的计算,底层计算的状态、数据以及中间结果都是共享的,并且用户可以选择任意的一种研发语言同时完成数据处理、机器学习以及图计算等工作。

image.png

融合计算Ray是一个开源框架。蚂蚁金服在Ray项目上也作出了很多贡献,也和伯克利大学一起推动Ray社区的发展。Ray可以将用户的简单本地逻辑转换成海量的分布式执行模型。基于Ray框架,蚂蚁实现了几个融合计算场景,如动态图推导,结合了流计算和图计算,能够实现一秒内完成6层迭代查询;金融在线决策,数据生产到分布式查询决策在一秒内完成;在线机器学习,实现数据样本到模型端到端秒级更新及数据推送。

image.png

融合计算引擎并不是为了取代前面提到的所有引擎,而是作为一个计算引擎插入到开放计算架构中,用于某些特殊的场景。当对所有计算引擎具有深入的了解之后,就可以在上面进行优化,构建一个SmartSQL层。

image.png

未来展望
最后分享一下蚂蚁对金融数据智能体系的展望,希望未来的金融数据智能平台的底层存储是统一的,中间的引擎是开放的、可插拔的和可混用的。在最上层,可以进行优化和统一,也可以直接开放给不同引擎,形成Big Data Base体系。既希望金融数据智能平台能够像使用数据库一样简单,也希望其能够成为开放计算架构的大数据平台,不仅能够处理数据,还能够扩展无限可能性。

image.png

相关文章
|
11月前
|
人工智能 缓存 自然语言处理
基于 Qwen Max 底座打造的图谱增强文本生成式任务系统
基于Qwen Max打造的图谱增强文本生成系统,结合知识图谱与生成式AI,具备精准高效的文字生成能力。系统支持文档解析、知识图谱构建、社区检测、复杂关系建模、语义检索、Prompt调优、分布式任务管理等核心功能,广泛适用于多轮对话、摘要生成、文档翻译等任务,满足大规模、高并发的生产需求。
375 1
|
存储 数据采集 人工智能
外滩大会热议:AI时代数据价值转变,如何打造下一代智能数据体系?
9月5日,2024 Inclusion·外滩大会举办“从DATA for AI到AI for DATA”论坛,蚂蚁集团、上海交通大学和复旦大学联合主办,探讨AI时代数据价值的转变。中国工程院院士郑纬民和新加坡工程院院士颜水成等专家参会,分享了数据技术变化趋势及与AI融合的最新进展。论坛强调大模型对数据技术的需求推动了存储、生产和加工等各环节的技术革新,并探讨了合成数据和智能数据体系的重要性。
|
12月前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
1977 10
|
11月前
|
机器学习/深度学习 缓存 人工智能
【AI系统】QNNPack 算法
QNNPACK是Marat Dukhan开发的量化神经网络计算加速库,专为移动端优化,性能卓越。本文介绍QNNPACK的实现,包括间接卷积算法、内存重排和间接缓冲区等关键技术,有效解决了传统Im2Col+GEMM方法存在的空间消耗大、缓存效率低等问题,显著提升了量化神经网络的计算效率。
311 6
【AI系统】QNNPack 算法
|
运维 负载均衡 Java
为什么 java 容器推荐使用 ExitOnOutOfMemoryError 而非 HeapDumpOnOutOfMemoryError ?
为什么 java 容器推荐使用 ExitOnOutOfMemoryError 而非 HeapDumpOnOutOfMemoryError ?
|
弹性计算 人工智能 对象存储
来自通义万相的创意加速器:AI 绘画创作
【7月更文挑战第11天】来自通义万相的创意加速器:AI 绘画创作
|
数据采集 中间件 调度
Scrapy:高效的网络爬虫框架
Scrapy是Python的网络爬虫框架,用于快速构建和开发爬虫。它提供简单API和全功能环境,包括请求调度、HTML解析、数据存储等,让开发者专注爬虫逻辑。Scrapy工作流程包括发起请求、下载响应、解析数据、处理数据和发送新请求。其核心组件有调度器、下载器、解析器(Spiders)和Item Pipeline,广泛应用于数据挖掘、信息监测、搜索引擎和自动化测试。有效技巧包括合理设置请求参数、编写高效解析器、使用代理和防反爬策略,以及利用中间件。随着大数据和AI的发展,Scrapy在爬虫领域的地位将持续巩固。【6月更文挑战第6天】
573 0
|
负载均衡 并行计算 安全
【Qt 线程】探索Qt线程编程的奥秘:多角度深入剖析(三)
【Qt 线程】探索Qt线程编程的奥秘:多角度深入剖析
501 0

热门文章

最新文章