分享嘉宾:胡一然 极验 高级算法工程师
编辑整理:王彦磊 灵数科技
出品平台:DataFunTalk
导读:近几年图建模的钻研始终放弃很高的热度,每年的论文产出量是十分高的,在业界一些出名的技术团队也都在寻求图相干算法与本身业务相结合的摸索,所以说不论是在学术界还是在业界,各行业理论都在摸索图建模的赋能之路。极验在图神经网络进去的时候就曾经尝试应用图模型和理论数据相结合做了一些摸索,并且承接了很多图建模单干的工作,比方在银行、社交平台,保险或者某公安厅,帮忙客户去辨认这种异样流量并且定位攻打伎俩,这都是十分有代表性的案例,无论各行各业它都有一些通用性。所以,此次拿进去跟大家分享,心愿给大家一个参考。
次要内容包含:
- 图模型介绍:简略介绍下图神经网络的发展史,包含图建模的劣势和罕用的利用场景;
- 极验图建模的摸索与演进:在图神经网络进去的时候极验就曾经尝试应用图模型和理论数据相结合做了一些摸索,此次会简略介绍下咱们做了哪些摸索,获得了哪些成绩,包含摸索中曾经能够落地的计划和成果;
- 咱们的思考:和大家探讨下在整个摸索中遇到的一些问题,包含咱们的一些思考。
一、图模型介绍
- 图神经网络的发展史
先看下图神经网络的一个简略的发展史:
图神经网络的概念是在 2005 年提出的,从 2005 年到 2013 年这个时间段是一些比拟晚期的钻研,这些晚期的钻研都是以一种迭代的形式通过循环神经网络的模型来流传街坊结点的信息,这个期间钻研的模型计算量是比拟大的。
在 2012 年前后的时候卷积神经网络开始在视觉畛域获得了很好的问题,所以人们在 2013 年的时候就把图卷积的概念引入到了图神经网络中,过后提出的是一种基于频域卷积操作。
在 2013 年到 2016 年,这种基于频域卷积的很多模型被提出来,然而基于频域的卷积须要在整个图上做些解决,它十分难以并行或者扩大到大图上。
所以在 2016 年的时候,就有人提出了基于空间卷积的图模型,这样就能够极大的进步图卷积模型的计算效率。在之后的几年里,各种基于空间卷积的图模型变体被大家提出来 并且在之后的几年里始终到当初都被宽泛的利用到各种畛域,比方这里提到的计算机视觉畛域、自然语言解决畛域、社交网络分析畛域等,大家都在钻研图卷积网络与理论利用相结合的落地。
- 图建模钻研浪潮
包含在近几年,图建模的钻研也始终放弃很高的热度,大家能够看到下图在一个搜索引擎里,咱们搜 GCN 相干的论文就能够看到近几年论文发表量都有一两百篇,并且这只是图建模畛域的一个分支,扩充到整个畛域的话,理论每年的论文产出量是十分高的。而后在业界咱们看到一些出名技术团队的文章中也都在寻求图相干算法与本身业务相结合的摸索,所以这能够阐明的是不论是在学术界还是在业界,各行业理论都在摸索图建模的赋能之路。
- 图建模特点
上面咱们摸索下图建模都有哪些特点,为什么一把火烧到了风控。
首先咱们晓得风控以前是比拟传统的,从传统的卖库,比方 IP 库、设施库、手机黑卡库这些,然而这些管控也十分严格了,而后到前面风控就做到了各种规定零碎、专家系统,比方人工剖析一些频次上的异样、关联上的异样,做这种异样流量辨认。但理论这用的都是这种大量数据中的冰山一角,在深度学习十分火的状况下,比方卖人脸识别的或者卖语音的,这些都做出了一些十分成熟的产品,然而咱们做风控的人,不论是部门还是供应商都十分的焦急,因为手里有一堆这种有关联关系这种大量的数据,然而因为不能结构化只能积淀在硬盘里,却施展不了很大的价值。
那么当初风口来了,就是图卷积。它的整个过程其实就是深度学习,既然是深度学习,它天然就可能利用深度学习这种端到端的学习特点,之前剖析人员个别都是构建各种规定零碎去很繁琐的寻找关联关系,然而当初有了这种端到端的学习能力,剖析人员就能够从这种工作中解放出来。并且对图模型来说只须要输出邻接矩阵和特色矩阵,图模型就能很天然聚合到结点的一些特色信息和构造信息。
比方咱们常见的一个设施被一批人专用的话,咱们在这个图构造上就相似于这个图一样(下图),这一个设施是一个结点,就会关联到很多结点,基于图数据的这种特点,它就很容易的学习到这种关联关系。在图卷积之前,理论也有很多相干的常识图谱相干的算法,比方门路查找,比方社区发现,但它自身还都是一种间接推断的过程,并非这种端对端学习的过程。理论这种端对端学习的过程代表着高效,它可能无效缩小中间环节信息不对等的这种个性,一旦说咱们在终端发现了问题,那整个零碎的每一个中间环节它都能够进行联动调节。
- 图建模场景
咱们理论生存中的业务数据都能够用图来示意,因为图这种结点加关系的构造是能够无所不包的一种数据结构,根本能够涵盖咱们所有的业务数据。所以图卷积这种技术不仅仅能解决咱们方才提到的风控场景,比方图 1 这种风控场景:小号辨认等,还有一些其余传统问题也失去了很大的晋升,咱们认为这种图建模的工作次要能够分为三大类:
Embedding,比方咱们做用户画像;
边预测,比方第 2 幅图里展现的内容举荐,用户偏好开掘;
子图开掘,比方第 3 幅图,所谓的歹意刷评、社区检测等咱们都能够认为是子图开掘的一种。
- 极验 & 图建模
因为以后图建模利用的多样性,业界对其的关注度十分高,并且也都在各类的场景中用它与本人的业务场景相结合做了一些实际,也都证实很无效。而咱们极验在多年的这种积攒下,自身就有很弱小的数据笼罩量,无论是去探索这种数据流量之间的各类关系还是说对于异样团伙的一个精准辨认,咱们认为只有在和图模型相结合的过程中能力挖掘出更多的流量价值,并且对于咱们极验来说自身就是心愿通过各种 AI 技术解决这种交互平安问题,利用最无效的技术去更好的为客户做服务也是咱们的一个愿景,所以咱们在图建模上也进行了一些继续的钻研,当然也获得了一些不错的成绩。
二、极验图建模的摸索与演进
- 咱们的摸索
后面咱们也提到了在 2017 年是图卷积这项技术的暴发之年,在当年的各大顶级会议上理论都呈现了跟图建模相干的论文,在 2018 年的时候,基本上又翻了 3 倍,这理论是十分常见的,这也阐明了这项技术的需求量是十分大的。就是在相干的实践提出的时候,咱们数据团队就曾经十分感兴趣了,并且在本人的数据上做了一些验证,成果十分不错,因而咱们在 2018 年的时候就把 GCN 上线到了咱们验证产品线上做人机检测。
在 2019 年的时候咱们承接了很多像这种数据建模单干的工作,比方在银行、社交平台,保险或者某公安厅,咱们都有这种联结建模的工作,帮忙他们去辨认这种异样流量并且定位攻打伎俩,这都是十分有代表性的案例,这也是给大家拿进去分享的一个起因,无论各行各业它都有一些通用性,都能有所参考。
在同年(2019 年)咱们还推出了自研的图建模平台,这个目标是便于咱们能够实现一些通用的图建模工作,咱们还出版了一本图神经网络的书籍。在 2020 年的时候,咱们将 GCN 上线到了咱们的深知产品线用于做异样账号辨认的这种场景,从 GCN 在咱们的两条产品线上线之后,基于一些遇到的状况,咱们就开始摸索 GCN 在更多业务场景下的适用性,所以前面就提出来了 GCN 在大规模数据下的一个普适计划,包含往年也在提出一种 GCN 上线实时建模的计划。
咱们做的工作从理论技术计划来讲能够分为两大类:一类是离线 GCN 模型,一类是实时 GCN 模型。从承接的服务上来讲,目前次要是作为外部产品线的一个技术撑持,同时也作为咱们图建模平台一环落地来应用,明天我次要来介绍一下咱们两种技术计划上的架构和思考。
- 离线 GCN 模型——根本计划
① 根本流程
首先来说离线的 GCN 计划,上面这个图就是离线 GCN 的一个根底流程图:这里的输出是一个特色矩阵和一个邻接矩阵,包含各个结点的标签,咱们放入模型中,这里的输入理论就是模型学习到的各种结点的特色。其实 GCN 的实质能够了解为提取图的这种结构特征,在异样流量的检测中常见目标就是去判断这个流量是否异样,个别它是个分类工作,咱们用 GCN 做分类工作,前面还能够再加一个 softmax 这种分类器。依照常见的做法就是做有监督的 GCN 分类,咱们的输出数据须要带一些实在的标记,而后屡次迭代最小化损失函数来达到现实的精度。
然而通常这种有监督的学习都须要大量带有标签的数据,业务的标签个别依赖于策略引擎和人工标注,像咱们提供服务的厂商来说,还有一种标记就是来自客户反馈的业务标记,但很理论的一个状况就是在与黑产的反抗过程中标记的获取老本很高,或者是策略引擎的笼罩量并不全,常见的一种景象就是咱们的客户会反馈他们的这种业务标记会比咱们策略引擎标记的要多,然而他们也不太确定这些标记的真实性。这就能够阐明理论企业往往领有很大量的数据,然而这些数据的标记或者说有精确的标记只有多数
所以咱们在做离线 GCN 计划的时候就思考了用自监督模型。自监督模型理论是无监督训练的一种,然而它会模拟有监督去结构一些伪标签,咱们在做自监督模型的时候,标签的选取会尽量的保障它的正交性,比方咱们会选取这种业务场景作为标记,或者采纳工夫作为标记,或者是其余组合的解决过的 key 作为标记。
② 模型成果
这个是咱们利用局部伪标签做的自监督训练的效果图,做的是一个多分类,下图中右边的这个图是咱们最终的一个输入成果,纵坐标为理论打入的标记,横坐标是 GCN 分类预测的后果,对于这个后果的了解为:图中出现竖条亮块状的预测分类,阐明在伪标签的少数类中都存在该预测分类的模式,认为是一个失常数据的模式分类;而对于红框中绝对比拟独立的亮块,阐明只在伪标签的某一类中存在这种预测出的模式,GCN 模型就会认为它是非凡的一类,存在异样的可能性。
因为这种自监督模型不能间接去判断它是否异样,它只是对特色进行提取并做了一个分类,那么哪一类是异样理论咱们还是要进行进一步的异样确认。
理论中对每一类数据异样确认的办法又比拟多,这里列举罕用的几种办法:上面图中下面的这两个图与咱们本人的策略引擎做穿插比照的一个后果,比方咱们红框里的第 3 类和第 4 类数据在这边(右上两个小图右边那个)就是纵坐标第三类第四类,能够看到与策略引擎的中高风险是有肯定交加的。每一类里大略有 30%-40% 的数据曾经被咱们的策略引擎标记为有中高风险。所以咱们联合这两个后果根本能够判定这块(红框中)的危险值是比拟高的,而后再通过咱们的策略引擎,依据这一类的数据具体与某一个规定相交的后果咱们甚至能够去大略解释这类数据异样体现是什么样的。
除了这种办法,去断定一个类是否异样还有其余的办法,比方能够把 GCN 模型提出的特色做一个聚类,看一下每簇之间的一个间隔,去剖析其异样度或者是与已知的白样本特色散布做比照,去计算一个散布差别度,这都一些比拟罕用的异样(确认)伎俩。
- 离线 GCN 模型——大规模数据
① 背景
在根底的 GCN 计划上,咱们初期个别都是对单个客户的单天数据进行建模剖析,因为个别的图模型都须要多轮的迭代能力达到比拟现实的精度,都是通过 GPU 训练。然而对于有一些客户,他会有这种长期的数据建模需要比方有一周的数据或者一个月的数据,或者是有一些超大体量的客户,就会遇到这种 GPU 显存容量无限的问题,这种问题的解决方案有两种:
更换更大显存的 GPU,这个就是花钱来解决,一般来说老本比拟高;
思考用 CPU 训练,然而大家都晓得 CPU 训练工夫比拟长,尤其是通过屡次迭代之后工夫更是等不起,有时候好几天能力训练进去一波,所以咱们试着来了解下 GCN 的实质,它理论就是后面的一个 Embedding 层加上前面一个分类层,所以咱们就想到用 CPU 训练只训练一轮,不去计算损失,相当于咱们给 GCN 模型的参数是随机的,所以这里的输入理论就只学习到了图的一个结构特征,前面就加一个常见的机器学习的分类器,甚至能够做一些并行化的计算,比方决策树、随机森林等。这种思维理论就是缩小对 GCN 做分类这种指标的一个依赖,咱们把失去更好的分类成果这种冀望转移到分类层上。
② 不同计划成果比照
这里比照了下不同计划对应的成果,下图中图 1 就是下面讲的根底的 GCN 计划,在 GPU 上 1000 次的迭代训练,第 2 个图是用 CPU 训练的,在一层 GCN 前面加了一个随机森林的分类器。第 3 个图前面加的是 K 近邻的分类器。大家能够从这三幅图上看到,理论用 GCN 加随机森林和根底 GCN 的成果相差不是很大,相比较而言(应用 K 近邻分类器)最初一个图的成果相对来说会差些,并且咱们拿到理论的数据标签之后,比照了一下前两个图,同一条数据上的两个标记差别比拟小,所以咱们能够认为这种计划是可行的。咱们就采纳了第二个前面加随机森林(分类器)的这样一种计划。
这里列了一下咱们试验环境中的一些参数,比方咱们一开始用 8G 显存的 GPU 做,只能够包容 60 万的结点和 400 万的边,而且曾经达到了下限,这个基本上落到咱们理论的数据量上大略是 10-20 万的数据量,然而选用 32G 内存的机器应用 CPU 跑加上随机森林的分类器,咱们压进去 200 万的结点和 4000 万的边还没有达到下限,耗时大略在 10 分钟,能够看到理论这个工夫也是能够承受的,成果也相差不大。
所以咱们外部产品线提供的这些模型的反对中离线的 GCN 计划用的就是这两种计划。如果数据量不是很大的状况下,个别会优先选取根底的 GCN 计划,因为前面这种计划随机森林会有一些超参数的抉择会影响最终的分类成果。相比之下根底的 GCN 计划咱们是能够关注更少的参数就能够达到雷同的成果。
- 实时 GCN 模型
① 背景
在离线的 GCN 计划做的绝对比较完善之后,摸索了 GCN 模型实时的可行性,因为离线的计划总是有肯定的滞后性。当客户线上曾经被黑产攻打,咱们还是有肯定的时间延迟能力为他们提供到辨认的成果,如果能够做到实时的话,咱们对异样流量的辨认就会更加的麻利,及时反馈给客户并做相应的解决,能够缩小更多的损失,实时的要求理论是除了精确之外还有就是计算迅速。咱们后面讲的大规模数据它的计算性能必定不能满足这种需要,所以咱们就思考了这种小数据量的计算形式,小数据量的这种选取个别是线上有两种形式,一种是等工夫距离选取,一种是等数据量选取。咱们这两种计划都做过试验,发现等数据量的计划成果更好些。
② 拟实时的 GCN 计划流程
在线上的数据依照时间轴获取的话咱们把每 1000 条数据划分为一个数据块,这 1000 条数据第一步先做字段解决,第二步提取结点和边的相干构造,第三步就是放入 GCN 模型做 Embedding,这里能够进去 1000 条数据每一条数据的多维特色,第四步做的是实时 GCN 的一个外围的计算模块,这里用的是一个聚类的思维:咱们的假如是对于雷同模型参数的模型来提取的特色,不同的白样本的特色散布是类似的,然而黑样本在特色散布上会体现出很显著的一个汇集性,会有别于白样本。基于这种假如,咱们就拿第三步提取出的特色做聚类,并且和一个提前准备好的白样本做特色散布比照,计算散布差别度。这一步须要留神的两个点是:这里咱们选取的比照的白样本和咱们后面待预测的数据块是等量的,都是 1000 条数据,第二点咱们待预测的 GCN 模型的参数和比照的白样本的 GCN 模型的参数该当是统一的。
这种计划在 1000 条数据上一次计算大略是 500ms 左右,但实际上还是不能满足实时的需要,只能做成一种拟实时,会有稍微的滞后性,然而相比后面的离线的 GCN 还是能够更加疾速的辨认异样流量,并且这种小数据量计算自身除了提前须要筹备的 1000 个白样本之外,其余的是不须要再标记的数据的,所以这种对数据的标记量需要也是很小的。
③ 实时的 GCN 计划流程
咱们在拟实时的根底上进行了一些流程的优化,因为下面咱们是每 1000 条数据一起来计算一次,耗时达不到要求。这个耗时咱们测了一下,次要的工夫是在图构造提取这一步,所以咱们就尝试每 1000 条数据做一次构图,把这部分做成数据预处理阶段,这部分咱们不要求实时,而后咱们实时计算的局部就是每来一条数据,就通过增量式的构图形式把结点和边增加到方才曾经解决好的图构造上,这样就能够极大的缩小构图过程中的工夫。而后前面再做特色计算和散布差别度的比照,这样就能够实现了每解决一条数据大略在 20-40ms 左右,这就能够做到了一个真正的 GCN 的实时计划。目前这个计划咱们曾经试验实现,成果还不错,曾经在外部的测试和上线中。
- GCN 模型成果——极验自有产品线
到这里咱们曾经把咱们提出的离线的 GCN 计划和实时的 GCN 计划介绍结束,咱们这里看下比照的成果。这里咱们选取五个结点来出现成果。图模型的结点抉择咱们认为能够适量选取一些标志性的结点,比方账号、手机号、还有一些资源性的结点比方 IP、UA,咱们选取了这样 5 个结点,和咱们现有的规定引擎比照,离线计划能够晋升 17% 的异样识别率,实时的计划差一些,但也能够晋升 13%,这个成果在不同客户的数据下成果是有些差别的,在局部成果比拟好的客户上识别率能够达到 20%-30% 左右,所以能够说 GCN 模型的成果跟咱们现有的策略引擎模型相比,晋升率是十分可观的。
- 书籍—《深入浅出图神经网络》
这里做一个小小的介绍,这是咱们数据团队联合本人在图神经网络畛域的摸索钻研和实际写的一本书籍,能够图神经网络的一本入门级的书籍,感兴趣的小伙伴能够去理解一下。
- 叠图——自有图建模平台
理论图建模平台曾经有很多成熟的产品比方 TigerGraph 或者 neo4j,都是十分优良的平台,然而咱们在应用的过程中会发现这些平台对咱们所须要的一些卷积算子操作解决不是特地敌对,所以咱们也在尝试着构建本人的图建模平台。咱们这个平台次要包含六大部分,也是咱们理论工作的一个打算和结点,下图中下面四个局部是目前曾经竣工的局部,比方方才讲的离线的 GCN 计划包含根底模型和适应大规模的模型都在工具箱里,用于咱们平时离线剖析的辅助判断。而后方才所讲的实时模型就在这个业务组里,目前这部分是正在测试上线。这部分分布式存储和计算目前在试验和研发中,动静构图这个次要是心愿未来做一个摸索次要是 schema、自适应这部分。
三、咱们的思考
- 技术上咱们如何做的更成熟
首先咱们认为产品的竞争力是其技术比拟外围的中央,技术的落地摸索往往能够很高的晋升产品的品质,所以在技术上如何能力做的更成熟,咱们认为模型的成果和性能的晋升是最要害的点也是比拟有说服力的点。另外一个就是对于模型的解释性,实际上能够看到模型的成果并不比规定的差,然而为什么输入这种后果它没有规定那么直观,就像咱们做服务来说很常见的一个问题就是咱们把 GCN 的后果提供给客户,客户会问你们的模型后果为什么会判断这个为异样,须要咱们提供一些辅助证实,所以说这个图模型的可解释性前面也是须要咱们持续摸索的一个很有竞争力的点,这个目前也正在做这部分的摸索。目前咱们的模型能够用到不同的场景,然而对于不同的场景,模型的结点和边的抉择都会有所变动,目前咱们的计划是对所有的场景有建模需要的场景做一个剖析意识之后依据教训进行结点的选取,然而如何让模型能够自适应的抉择最优的结点也是咱们前面思考的一个点,这就是方才所提到的动静构图那局部。
图片
- 服务上咱们如何做的更成熟
技术最终的目标是为客户提供一个更优质的服务,那么咱们的服务上如何做的更齐备,就是当咱们的模型成熟落地之后,模型的可迁移性就能反对咱们联合一些具体的业务去对客户做一些定制化的需要甚至是公有的服务,而对于客户而言,他们须要得就是你这个建模平台性能须要齐备,并且操作要便捷。对于咱们外部来说咱们对于模型、策略引擎还有人工标注这些环节的买通或者闭环的保护能力更好的晋升这种服务效率。
图片
- 思考和探讨总结
图片
依据后面的介绍来说,以后这种图模型和业务数据相结合的这种解决工作存在两个很大的瓶颈,一个就是不足算法,一个是不足标签,置信这是很多公司在图模型落地时都会遇到的一个问题。
在算力方面因为图建模的数据量个别是比拟大的,然而 GPU 的显存无限,没有方法承载那么多数据,同时对于图计算自身来说就是图数据的这种特点:就是结点都是由边来相连的,它不太像传统的数据结构能够间接划分数据块进行并行运算。图如果要做切割的话个别都会存在这种边构造上的损失,所以图很难做分布式计算,那么咱们在理论建模中如何克服这个问题,咱们感觉最重要的是要深刻了解图模型学习过程的实质,就是咱们后面所讲的它理论就是一个 Embedding 加一个分类工作这样一个组合,那既然图数据自身难以并行计算,那么咱们就须要把从 GCN 这种冀望做分类工作转移到做 Embedding 工作上,前面加一种能够分布式运行的并且分类成果不错的机器学习中罕用的分类算法,这种设计是让 GCN 只学习图的一些结构特征,减弱他对结点的属性特色的这种学习,这样解决之后咱们就能够用 CPU 进行计算,实际上咱们认为这就是算力和咱们对 GCN 冀望能力的一种衡量或取舍。
而后在标签方面,在咱们风控场景中理论最终的目标是精准的辨认异样流量,所以输出的数据都是未知的流量,输出的数据没有标签或者是一些不确定的弱标签,要解决这种问题的思路,咱们认为就是多读论文,扩大视线,比方自然语言解决或计算机视觉中有一些很优良的办法或者思维能够利用过去,比方自然语言解决中有那种 transformer 或 attention 机制,它都体现的很好,自身 attention 和 GCN 都是这种消息传递的机制,它会有肯定的相似性,那么咱们置信在这类的建模工作它们的解决方案中也能够多借鉴一下,会有一些新的思路。
明天我的分享就到这里,心愿这个分享能够给大家带来一些思考或者是每个公司都有本人的业务,也能够大家参考探讨一下。
四、问答环节
Q:对于图构造的这块是如何做到压缩工夫的?
A:这个问题理论后面也有讲过,最开始施行 GCN 的计划,咱们是每 1000 条数据这样先来缩小数据量的计算,这其实是咱们最开始一个试验只是做一个尝试,看看工夫性能是否够满足,起初发现这个耗时在 500ms 左右,对实时上的要求还是要差一点,而后咱们就会剖析每一步中,它的具体耗时具体是在哪里,当咱们剖析进去这 500ms 里,图构造的提取占整个耗时一个比拟大的比重,所以咱们就尝试着先对每 1000 条数据做一个图构造的提取,而这一步咱们是不要求实时的,每来 1000 条数据咱们做一个图构造的提取,隔一段时间能够再去更新一次,这个是不要求实时的,咱们就把这个工夫就相当于转移了,从实时计算阶段转移到了预处理阶段,就能够保障上面的实时计算是满足需要的。
Q:实时的 GCN 是否须要训练,它是随机的参数吗?
A:咱们当初的实时 GCN 模型是不须要训练的,是给的随机参数,因为基于的假如是对于雷同参数来说模型对白样本的散布是类似的,对黑样本是有具体性的,所以无论咱们给(哪)一组随机的参数,只有保障跟你待预测的数据参数是统一的即可。
Q:对于 GCN 辨认进去的后果如何评估误杀?
A:如何评估误杀理论就是一个准确率的问题,这个问题置信在很多公司都是一个痛点或者难点吧,就是很难去评估这种准确率。目前个别咱们一个模型初步的评估后果比方和咱们外部的策略引擎后果做一个比照,如果是比策略引擎多进去的局部咱们会进行一个人工的剖析,包含咱们自身做服务的话,因为咱们 GCN 目前是用的咱们本人获取的一些行为数据,然而没有波及到客户的业务标记,所以有时咱们会去和客户沟通,让他们帮助去评判下模型的成果,因为毕竟还是客户他们的业务数据更加的多,能够剖析的维度就会更加的多。
明天的分享就到这里,谢谢大家。
分享嘉宾: