一站式超大规模计算系统GraphScope | 直播回顾-阿里云开发者社区

开发者社区> 阿里开源> 正文
登录阅读全文

一站式超大规模计算系统GraphScope | 直播回顾

简介: GraphScope是阿里结合海量数据、丰富场景与智能引擎高水平研究成果而研发的图计算引擎,有一站式、开发便捷、性能极致等特点,已被证明在多个关键互联网领域实现重要的业务新价值。阿里巴巴阿里巴巴资深技术专家于文渊在阿里云开发者社区特别栏目《周二开源日》直播中,带大家入门GraphScope。本文为直播内容文字整理,看直播回放,请点击文首链接~

查看精彩回放:https://developer.aliyun.com/live/245851

内容简要:

一、图计算的背景

二、大规模图计算挑战

三、一站式超大规模图计算系统GraphScope

四、一站式、开发便捷、极致性能

五、从一个demo看端到端的解决实际问题

六、持续发力开源社区建设,一起打造最先进的图计算系统

 

一、图计算的背景


阿里巴巴拥有全球最大的电商知识图谱,图谱包含买家、商铺、商品等“顶点”,它们之间可以通过购买、加购物车、浏览、评价等“边”产生关联。


图就像下图这张知识图谱一样,将万事万物用关系关联起来。在数据大爆炸的时代,管理和利用图数据中的关联也成为越来越重要的课题。

临时图.png

这张电商知识图谱里包含了数百亿点、万亿边,每天有千亿更新,覆盖全球数亿消费者、几十亿的商品、数千万商家。


在阿里,包括供应链、推荐、风控等很多场景,已经在使用这份大规模图数据,图数据和计算的技术正在飞速发展,不像稠密的Tensor图像数据,图计算非常适合高维、稀疏数据,同时具有非常强大的表达能力。图计算将是未来人工智能3.0的基础能力之一,将在更多领域得到广泛使用。 

临时图.png

二、大规模图计算充满挑战


2.1 示例:论文分类预测


如果把全世界所有发表的学术论文和论文作者看成一些顶点,我们可以构造出这样的一张图,这张图里有很多关联的边,例如论文和论文之间有引用关系,作者和论文之间有写作关系,这可以构成一张很大的图谱。

临时图.png

直观地说,从论文和论文之间引用的关系网络中,可以做机器学习任务来预测论文分类,那么应该怎么做?


第一步:先获取数据,清洗整理数据,做数据抽取和处理;


第二步:交互式查询,尝试去交互式的理解和分析,得到结果再去验证及整理数据;


第三步:图分析,机器学习的任务不仅是做一个图神经网络,还需要加一些点上自带特征以外的图结构特征,帮助做分类;


第四步:将Tensorflow合在一起,做图神经网络的学习。

 

我们会发现以下几点:

第一,真正的图计算任务,不只是一个计算任务,而是包含多种计算任务;


第二,在真实的场景中把流程跑通涉及到多个系统;


第三,每一个步骤的使用本身具备一定难度,把每一个步骤组合使用则更加困难。

综上,我们需要一个非常高效率的系统,那么有没有好的办法来解决?

 

2.2 图分析:怎么从小数据到大数据?


解决一个日常问题的时候,从开发模型、理解问题到设计算法,最简单是从例子出发,从小数据出发,从写一个简单易开发的单机串行程序开始。临时图.png


工作过程常规顺序:Concept- Engineering- Testing-Production,从小单机/顺序/小数据到分布式/并行/大程序,一个顺序的图计算算法是很难并行化。


举例,一个图挖掘算法简单做一次二重循环,对图做次扫描,然后对图中一个小部分做内部再扫描,仅这样很难都做并行化,放到点中心的编程模型上也十分困难。

 

2.3 交互式分析:怎么利用分布式并行计算自动扩展超大图?

临时图.png如何做交互式分析,交互式分析的困难在哪里?


业界有一个标准的语言叫做Gremlin,它按用户指令从图中一批起点出发沿图结构游走,再把游走的结果返回,这个过程称为图游历。该语言非常灵活,可做图上查询和交互式理解。


上图以有向环检测作为风控场景查询为例,寻找从一个名叫“Tom”的人出发所有 k+1 度长的有向环路,可以用Gremlin的语句来表述。这里无需考虑并行,但现有的JanusGraph等图数据库系统不支持并行执行这样的语言以及语言背后的查询,这也是目前面临的一个大挑战。

 

2.4 图神经网络:如何应用于工业生产?

临时图.png

包括阿里在内的互联网络公司及其他行业都在尝试用图神经网络解决机器学习问题,因此引申出一个最大的问题:如何把图神经网络中的算法模型,从学术界提出概念到大规模的工业生产应用?


这其中面临着许多问题,包括异构图多样的属性、复杂的采样、海量图数据的采样和Tensor计算的融合等,都是巨大的挑战。

 

综上所述,图计算大规模应用挑战可以归结为三大类:

一,  问题复杂,计算模式多样,解决方案碎片;


二,  学习难度大、成本高、门槛高;

        三,    数据量大,计算复杂、效率低。

临时图.png


二、GraphScope:一站式超大规模图计算系统


基于此,阿里巴巴做了业界第一个真正一站式超大规模图计算系统,系统结合了阿里巴巴的海量数据与丰富场景,以及达摩院、新零售智能引擎等相关研究开发团队的联动,如下图所示。

临时图.png临时图.png

系统大致分三层:


系统交互层,底层是开源的共享分布式内存图存储,称为Vineyard,它可以实现高效的存储格式、灵活图分区组件、0-copy数据共享及元数据管理模块;


核心框架层,支持图交互式查询引擎、图分析引擎和图深度学习引擎;


工具组件层,为用户提供打开即用的图分析算法库和图学习算法库,可以直接在工业场景应用中快速落地。

 

四、一站式、开发便捷、极致性能


GraphScope的三大技术优势:一站式、开发便捷、极致性能

临时图.png

 

 4.1 一站式

临时图.png

Ø 多模态图计算一站完成

在这个系统,用户可以一站式进行图分析、图交互查询和图深度学习,无需把数据放在不同的系统或者多个系统叠加。背后利用了高效共享分布式存储插件Vineyard,底层是基于Kubernete的解决方案。

临时图.png

Ø 图分析:从小数据到大数据的自动并行化

这里使用PIE (GRAPE) 模型,实现了串行算法的即插即用并行化,目前基于此模型的系统已经在阿里内部使用,同时一个轻量化的C++库已经开源:https://github.com/alibaba/libgrape-lite,通过这个完成图分析的工作。

临时图.pngØ 图交互分析:业界第一个基于高层语言的自动并行化图游历引擎

此模块已被网络系统最顶级会议NSDI录用,将在NSDI2021发表。我们做了一个高效的Dataflow的运行时和编译器,将非常复杂的Gremlin语法的查询语句自动做海量并行化,可以在多机上高效并行执行,效率比现有的系统大约快两个数量级。

临时图.png

Ø 图深度学习:高性能、可扩展的图深度学习引擎

基于已经开源的Graph-Learn图神经网络的系统交易,背后的阿里AliGraph获得了2019年世界人工智能大会最高奖SAIL奖。

我们集成这三个业界最领先图相关的计算引擎,在一个系统中实现。

 

4.2 开发便捷


GraphScope是一个开发便捷的产业级图计算框架,是Python和Gremlin生态的深度结合,支撑产与研的快速迭代与全面拥抱,支持自动并行化,降低开发门槛,内置丰富的图分析、图学习的算法库。

临时图.png

4.3 极致性能


主要包括:高效的共享图储存、智能的编译优化以及性能领先的运行时。

 

Ø 高效的共享图存储

可以实现应用驱动的自平衡分布式图分区及零拷贝的高效跨引擎共享。

临时图.png

 

Ø  智能的编译优化

业界首个Gremlin分布式编译优化例,支持自动增量化处理动态图更新及跨语言混合CodeGen 。

 

Ø  性能领先的运行时

支持多种计算模态的定制优化及异构硬件的异步执行框架.

 

4.4 业界最领先的图计算系统

临时图.png

Ø  赋能业务

日均10000+计算任务支撑阿里巴巴核心业务,赋能30+外部业务。

 

Ø  端到端开发时间

从周缩短到天。

 

Ø  丰富的算法库

50+图分析和图学习算法库。

 

Ø  工业级的复杂场景

单图100+标签,1000+属性。

 

Ø  超大规模

单任务1万核,单图千亿以上边 50TB级以上图数据。

 

Ø  性能遥遥领先业界主流引擎

LDBC Analytics (XL规模),4节点算法 平均 1.08B EVPS;最高达 5.22B EVPS;


LDBC Interactive(20亿点、170亿边 最大规模的图上)线性可扩展;


图深度学习模型训练时长缩短50%。

 

五、从一个demo看端到端的解决实际问题

以下通过Demo进行流程演示:


所有的图计算工作均可在Python中完成,可以像操作一台单机电脑,利用Kubernetes指挥一个巨大的集群,解决复杂的图计算任务。

临时图.png

 

六、持续发力开源社区建设,一起打造最先进的图计算系统


GraphScope系统可大大降低用户使用图计算的门槛,让更复杂的图应用和机器学习的应用能开发出来。如果大家对大数据及图计算感兴趣,欢迎前来使用。

• 开源地址:https://github.com/alibaba/GraphScope

• 项目网站:https://graphscope.io/

• 协议:Apache License 2.0

欢迎大家试用并参与到图计算社区的建设中 我们会持续Release和更新,更多的功能敬请期待。让我们一起携手,打造业界最好的图计算开源系统。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

我们开放源码,更相信社区的力量。

官方博客
链接