项目介绍:Graph-Learn
Graph-Learn(原名AliGraph)是一个分布式框架,专为开发和应用大规模图神经网络(Graph Neural Networks, GNN)而设计。它已经在阿里巴巴的多个场景中成功应用,例如搜索推荐、网络安全和知识图谱等。自Graph-Learn 1.0版本后,该框架增加了在线推理服务,为GNN在实际业务中的应用提供了一套完整的解决方案,涵盖训练和推理两个阶段。
GraphLearn-Training
这是Graph-Learn的训练框架,支持批量图的采样操作,可以用于离线或增量训练GNN模型。该框架提供了Python和C++接口,用于图采样操作,同时还提供类似Gremlin的GSL(Graph Sampling Language)接口。
对于GNN模型,Graph-Learn提供了一套开发模型的范式和流程,它兼容TensorFlow和PyTorch,并提供数据层、模型层接口以及丰富的模型示例。在开发过程中,用户可以通过这些接口和示例实现自己的GNN模型。
Dynamic-Graph-Service
这是一个在线推理服务,支持在动态图上的实时采样,并能够处理流式图数据更新。对于大型动态图,该服务可以保证采样的P99延迟在20毫秒以内。
在客户端,在线推理服务提供了Java GSL接口,并支持TensorFlow模型预测。通过该服务,用户可以实现高效的实时推理操作。
使用流程
- 用户在Web端发起请求(0),通过客户端在动态图上实时采样(1),将样本作为模型输入,并请求模型服务返回预测结果(3)。
- 预测结果、反馈以及Web上的一些上下文信息会被发送到数据中心(0, 3),例如日志服务。
- 数据更新以流式方式进入动态图服务,形成图数据更新(4)。
- GraphLearn-Training每小时加载一个时窗中的图数据,增量地训练模型,并更新TensorFlow模型服务的模型。
许可证
本项目采用Apache License 2.0许可证。希望本框架能够为您的研究和业务提供支持和帮助。