绿湾机器学习平台 ( AutoML ) 打造与落地实践

分享嘉宾:于建岗  绿湾科技 首席技术官

编辑整理:孙佩霞

内容来源:AI 科学前沿大会

出品社区:DataFun

注:欢迎转载,转载请注明出处

今天给大家介绍绿湾科技的机器学习平台。

1、 为什么打造平台——释放数据更深层次的价值

大数据与 AI 技术是当今社会创新发展的主题,已经成为各行业提高发展质量和效益的动力引擎。绿湾科技紧跟大数据技术发展趋势,积极探索和引领大数据技术在特定行业应用中的落地实践。随着研究探索的深入,对于海量多源异构数据蕴含的巨大价值,需要新的更有效的技术理念来撬动和助推,绿湾科技的实践证明,我们的大数据分析系统 ( 智子 ) + 绿湾机器学习平台 ( AI 平台 ) 就是很好的选择。首先,依托于绿湾科技现有系统在各领域内的部署拓展,机器学习平台作为公司的 AI 引擎,可以对数据做更深层次的分析挖掘,解决更复杂的业务场景问题。其次,经过数据治理和数据整合后,为释放数据更深层次的价值,机器学习平台成为必然。

1.1 业务路径——基于行业应用场景的 AI

现实中存在海量多源异构数据,数据有非常多的形式,而且不同来源,不同格式。如何把数据处理得更好,需要进行数据治理。绿湾科技的数据治理运用了大量机器学习平台的模型,包括 ETL,清洗,存储等,利用机器学习做了很多这方面智能化的工作。

绿湾科技提供 AI 行业解决方案。我们所做的 AI 一定是基于行业应用场景的 AI,深入行业,提供行业解决方案,为行业赋能,我们的目标不是仅提供通用 AI 的技术服务。

比如在司法行政领域,我们支撑司法行政大脑;在公共安全领域,我们打造我们的公安大脑;在金融领域,我们同样和金融业务特点相结合,打造我们的金融大脑。

在智慧城市中,人口大数据包含人口怎样迁徙;上下班出行路线;公交车如何更好地调度;产业配置是否合理。举个例子,朝阳区建国门地铁站每天排队长达一公里,这样是否合理,为何出现这种情况?我们从人口迁徙,产业配置,上班族商务楼分布等维度分析其是否合理,给相关部门提供城市监测、反馈、分析,进而提供城市治理的优化方案。

在金融保险行业,大数据进入有相应壁垒,金融是一个专有特性的行业,业务比较敏感,数据比较保密,跨行跨部门的数据统一有一定难度,这时候只是简单的提供 AI 技术服务大多数情况下并不能满足不同金融从业者的需求。比如反欺诈,内审等,我们也以此切入打造金融大脑。

总体来看,绿湾打造的行业应用场景中的很多任务的底层都是机器学习平台来支撑。在机器学习平台之上需要很多专业的能力如自然语言处理,光学字符识别,图像识别等来做特定的工作。

1.2 技术路径——数据技术的真正闭环

社会是以人组成的,所有社会上存在的一草一木,任何一个事件都是离不开这个“人”的,人是这个社会的有机体。所以绿湾科技以人为本体,构建了基于知识图谱的网络。底层是全源数据,如之前介绍,这些数据都是多源异构的。然后将各个数据融合成一套人、车、物、案的逻辑。通过数据的组织分析清洗和数据挖掘,上层形成了主题库,包括实体库、标签库、知识库。在这个基础上需要做应用,所以上层又做了知识发现,包括关联分析、图搜索、图像识别等。最上层又做了很多应用。这便是我们的一套打法。

这整套的技术方案,形成了一个闭环。以技术驱动从底层的数据清洗、数据治理、数据入库、图数据库、上层应用形成了这样的闭环。我们希望在机器学习平台的基础上做整个行业的解决方案,而不仅仅提供 AI 技术服务。所以当把机器学习平台做起来后,可以完完整整地将闭环打通,这就是绿湾科技为什么要做机器学习平台的出发点。

2. 平台特点——架构领先,支持超大规模数据训练

绿湾机器学习平台是一个企业级的平台,支持千亿数据,万亿参数的同时训练,既支持同步又支持异步训练。同时我们自建了自己的参数服务器。同时也借鉴了此前研发的大型系统数据挖掘平台经验。它是全流程、自动化机器学习系统,致力于通过行业 AI 解决更复杂的场景问题。我们建设的是一个行业大脑而不是通用大脑,提供行业解决方案。

针对现在各行业应用的多样性,我们的平台除了自有研发了200多种常用算法之外,我们同时也提供 API 服务支持第三方应用,比如我们也深度集成 TensorFlow 以更好的满足不同客户的需要。

绿湾机器学习平台打造了自己的 MLF ( Machine Learning Framework ),所有任务的调度和运行,参数服务器参数的更新,以及模型的分片和数据的分片,全都基于 MLF 平台。MLF 平台可以部署在一台机器上,同时可以横向扩展到几百上千台服务器的集群规模。

绿湾机器学习平台有大规模 MLF 平台部署的经验,支持高并发的在线预测和离线训练业务。

绿湾机器学习平台所有的系统、组件都是基于 docker 容器的方式提供服务,通过 kubernets 做统一的集群资源管理和调度管理,这样在部署上比较适合用户应用。

绿湾机器学习平台的技术架构非常简单,大道至简。首先提供一个 GUI 的用户界面,用户通过拖拉拽方式就可实现自建方案。同时以图的方式存储下来供所有人搜索已做完的一些行业解决方案,这些方案以算子的形式提供。搜索到成功的算子后,也可以去调用这个方案。在下一层我们提供了 API Server,可以调度一些任务,做在线预测或者离线训练等。使用 MySQL 的数据库去做容错处理。比如任务在中间失败,会在失败的算子继续执行而不是从头开始。一些出错的信息会以界面的形式及时地展现出来,可以去看运行的 Log,也可以去看运行的结果,只需右键就可呈现。

绿湾机器学习平台在行业解决方案上,提供了几百种通用的算法,支持聚类、有监督学习、无监督学习、迁移学习等。同时我们还提供了具体领域的解决方案,如司法行政领域各种人群分析,金融反欺诈。用户可以用这些现有的解决方案,更改数据输入便可做用户想做的工作。

绿湾机器学习平台提供简单易用一站式的体验:

  • 基于领先的 AutoML 自动建模,自动构造网络结构等技术,可实现自动特征抽取、筛选、模型训练及结果展示;

  • 支持超参数的自动化学习和迁移学习;

  • 提供可视化的操作界面;

  • 覆盖全流程的数据挖掘链路,集数据清洗、特征工程、模型训练、模型评估及预测功能为一体。

上图是简单的建模逻辑图,从训练到预估等与其他方案没有很大区别。后面会以绿湾科技的 API Server 的实现方式,去介绍一些相关工作。

绿湾的 API Server,包含前端交互,DAG 调度,状态管理,集群调度。

最左侧是 GUI 的建模的算子,算子通过边相连。下面用一些 Job Controller 去控制 job 。这部分由 MLF 来做,具体细节不再阐述。Job Controller 主要是启动 routine 不断读取 chan 中算子并执行;遍历所有节点发现 ready 算子加入 chan ( 中间会存储很多状态的细节 );每个算子执行后触发新的遍历操作;循环直到所有算子执行完成。K8s 调度后会产生 Pod,Pod 建立 RPC 通信,去做 online prediction,或者 offline 基于 MLF Batch 的训练,加上 HDFS 或者其他数据库的存储。

在训练方面,分布式从两个角度去考虑。第一个是模型的分布式,我们基于不同的参数类型提供两种参数的实现方法,一个是 spark 的 table ( 基于哈希表的离散 table ),另外一个是基于 vector 稠密的 table 。

第二个是数据的分布式,为了处理的效率,数据的每个节点,每个线程以 block 为单位处理。为了控制数据处理带来的内存开销,采用了基于管道的方法多线程传输数据,数据传输、处理结束后及时销毁,达到流式效果。

执行范式方面, Eager Execution 对用户来讲很简单,但执行效率偏低,因此为了执行效率选择 Lazy Execution 。

参数的服务器模式,在众多的参数服务器模式中,AllReduce 网络开销比较小,Server-client 模式比较大,我们采用了同进程的 Server Worker 的模式,避免了 Server-client 网络开销大的问题。AllReduce 环状问题更多,因此没有采用。

在线预估方面,采用大模型分布式存储,提供 HTTP&RPC 接口,集群负载均衡 ( 由 MLF 提供 ) 。用户发出请求,通过 HTTP 或者 RPC 去调用 Service,去训练 model 。Model 是分布式训练,分布式存储。

3. 落地实践——绿湾社交人群网络分析解决方案

社交网络分析非常复杂,比如只知道网络中的正样本不知道负样本,网络中谁是坏人,谁是好人无法确定,剩余人中既有好人又有坏人,需要在剩余人中找出未知的坏人。正样本可知,负样本未知,模型如何来做可解释性?接触行业数据时发现数据非常稀疏,且不完整,很多缺失的数据。针对数据完整的应用,做了有监督的学习。针对数据非常稀疏,且不完整,负样本缺失等,做了无监督的学习。

机器学习对特征做 Embedding 是非常重要的一点,将很多信息 Embedding 在一起。由于我们是以图的方式处理数据,利用 DeepWalk 去做人的类聚。DeepWalk 的处理方法是把网络处理成序列去算 Word2Vector,得到的 Embedding 信息和人的信息比较类似,因此作用更趋向于聚类。TransE 更多的是 nodeA + link = nodeB 形式,更侧重于关系在网络中人的关联性。利用 Graph Neural Network 做了 Embedding,充分利用 label 的信息来建模,得到人在网络中受到关联人的影响。将这三种模型产生的数据信息做了 Embedding,将 Embedding 之后的特征再放入模型中进行训练,得到最终结果。即做了 Bagging of Graph Embedding 的工作,对人社交进行分析,得到很好的效果。具体总结就是:

  • 一个是在特征构造阶段,引入了 ( Bagging of Graph Embedding ),因为不同的 Graph Embedding 算法侧重与对网络中的某些属性建模,我们进行 bagging 可以取得更加完整的信息。

  • 另外一个创新的地方是在模型选择阶段,针对不同的业务场景有的数据较为完整,特征较多我们采用有监督的方法 ( 有监督方法同样有些创新,针对只有正样本的情况我们利用业务规则拆分样本为正样本,负样本和待定样本。同时为了模型更好的解释性对模型的预测结果按照业务规则排序 );针对数据稀疏,特征较少的场景我们采用无监督的方法 ( 通过 ANN 聚类,根据对 Topk 的相似度来对样本进行排序判断 )

上图是我们的具体过程,不再细说。

针对之前所述的数据不完整,稀疏性较强的情况,有监督的方法无法进行训练,即使训练出来结果也很差,还不如人工处理。在这里根据正样本的相似度,利用业务规则对最后的结果进行排序。DeepWalk Embedding,TransE Embedding,Graph Neural Network Embedding,加上离散类特征和连续类特征,通过 MLF 的架构去抽取一些正样本,建立索引,根据业务规则去寻找相似的正样本,训练后得到 TopK 的相似度,然后交叉验证。以上便是我们摸索出来针对样本稀疏情况下进行聚类的方案。

4. 平台 look alike ? —— 与绿湾智子大数据智能应用系统无缝连接

绿湾科技的平台会提供 MLF 的框架,自建的参数服务器,去支撑上层建模的应用和各种业务场景的应用。下面展示的就是我们的机器学习平台,该平台与绿湾智子大数据智能应用系统已经无缝连接。我们在该平台上做了很多行业解决方案,点进去以后可以复制该方案,改变输入后便可自动调度任务运行。用户也可以搜索别人运行成功后的方案,也可以自建方案。用户可通过 GUI 的方式调动后端的 API Server 调度任务去训练、预估等。

另外展示一下我们基于人群关系网络做的分析工作,基于算子的一套简单流程。左侧有大约几百种的算法,可以手动拖拽,可以更改算子的参数,也可以通过自动学习获取参数。当任务运行到某一块的时候,该块会变绿,如绿色圆圈所示,出问题时会变红,右键点击时会出现错误信息和运行后的结果。

以上便是绿湾科技的机器学习平台,我们是提供基于机器学习平台的行业解决方案。

嘉宾介绍:

于建岗博士,绿湾科技首席技术官。原美国微软总部架构师,百度主任架构师,科学家。于2007年在美国加州⼤学取得计算机专业博⼠学位,曾供职于美国微软公司总部从事互联⽹⼴告的机器学习⼯作;加入百度后主导设计上线了百度凤巢新⼀代点击率预估系统,是国内外⾸次利⽤⼤规模深度学习算法来做点击率预估的系统。

关于绿湾科技:

绿湾科技成立于2014年,是一家行业大数据和人工智能解决方案提供商。由一批优秀的工程师和行业专家组成,致力于打造更懂行业的大数据智脑,用大数据AI技术解决行政、金融、证券、医疗等行业领域的业务痛点,助力构建更安全、更高效、更美好的社会。

欢迎各界精英与有志之士加入绿湾,更多详情和招聘岗位,可扫码了解:

——END——

文章推荐:

阿里妈妈:电商预估模型的发展与挑战

音频内容理解的关键技术

网易大数据体系之时序数据技术

关于 DataFun:

DataFun 定位于最实用的数据智能平台,主要形式为线下的深度沙龙、线上的内容整理。希望将工业界专家在各自场景下的实践经验,通过 DataFun 的平台传播和扩散,对即将或已经开始相关尝试的同学有启发和借鉴。

DataFun 的愿景是:为大数据、人工智能从业者和爱好者打造一个分享、交流、学习、成长的平台,让数据科学领域的知识和经验更好的传播和落地产生价值。

DataFun 成立至今,已经成功在全国范围内举办数十场线下技术沙龙,有超过三百位的业内专家参与分享,聚集了数万大数据、算法相关领域从业者。

好想「在看」一会儿!:point_down: