我们很高兴地宣布开源版本 图形风暴 0.1,一个低代码企业图机器学习 (ML) 框架,用于在几天而不是几个月内在复杂的企业级图上构建、训练和部署图 ML 解决方案。 借助 GraphStorm,您可以构建直接考虑数十亿实体之间关系或交互结构的解决方案,这些实体本质上嵌入在大多数现实世界的数据中,包括欺诈检测场景、建议、社区检测和搜索/检索问题。
到目前为止,众所周知,为具有数十亿个节点、数千亿条边和数十个属性的复杂企业图构建、训练和部署图 ML 解决方案一直非常困难——想想捕获 Amazon.com 产品的图、产品属性、客户等。 通过 GraphStorm,我们发布了 Amazon 内部使用的工具,用于将大规模图形 ML 解决方案投入生产。 GraphStorm 不需要您是图形 ML 方面的专家,并且在 GitHub 上的 Apache v2.0 许可下可用。 要了解有关 GraphStorm 的更多信息,请访问 GitHub存储库.
在这篇文章中,我们介绍了 GraphStorm、它的架构,以及如何使用它的示例用例。
介绍GraphStorm
图算法和图 ML 正在成为许多重要业务问题的最先进解决方案,例如预测交易风险、预测客户偏好、检测入侵、优化供应链、社交网络分析和流量预测。 例如, 亚马逊GuardDuty,原生 AWS 威胁检测服务,使用具有数十亿条边的图来提高其威胁情报的覆盖范围和准确性。 这使得 GuardDuty 可以根据以前未见过的域与已知恶意域的关联,将它们分类为极有可能是恶意域或良性域。 通过使用图形神经网络 (GNN),GuardDuty 能够增强其提醒客户的能力。
但是,开发、启动和运行图 ML 解决方案需要数月时间,并且需要图 ML 专业知识。 作为第一步,图 ML 科学家必须使用深度图库 (DGL) 等框架为给定用例构建图 ML 模型。 由于企业应用程序中图形的规模和复杂性,训练此类模型具有挑战性,这些应用程序通常会达到数十亿个节点、数千亿个边缘、不同的节点和边缘类型以及数百个节点和边缘属性。 企业图可能需要数 TB 的内存存储,需要图 ML 科学家构建复杂的训练管道。 最后,在训练模型后,必须部署它们进行推理,这需要与训练管道一样难以构建的推理管道。
GraphStorm 0.1 是一个低代码企业图 ML 框架,它允许 ML 从业者轻松选择已被证明有效的预定义图 ML 模型,在具有数十亿个节点的图上运行分布式训练,并将模型部署到生产中。 GraphStorm 提供了一组内置的图 ML 模型,例如关系图卷积网络 (RGCN)、关系图注意网络 (RGAT) 和用于具有异构图的企业应用程序的异构图转换器 (HGT),这让 ML 工程师几乎没有Graph ML 专业知识,为他们的任务尝试不同的模型解决方案,并快速选择合适的解决方案。 端到端的分布式训练和推理管道,可扩展到十亿规模的企业图,使训练、部署和运行推理变得容易。 如果您一般不熟悉 GraphStorm 或图形 ML,您将受益于预定义的模型和管道。 如果您是专家,您可以使用所有选项来调整训练管道和模型架构以获得最佳性能。 GraphStorm 建立在 DGL 之上,DGL 是一种广受欢迎的 GNN 模型开发框架,可在 Apache v2.0 许可下作为开源代码使用。
“GraphStorm 旨在帮助客户为行业应用试验和实施图 ML 方法,以加速图 ML 的采用,”Amazon AI/ML 研究高级首席科学家 George Karypis 说。 “自从在亚马逊内部发布以来,GraphStorm 将构建基于图形 ML 的解决方案的工作量减少了多达五倍。”
“GraphStorm 使我们的团队能够在具有 288 亿个节点和 2 亿条边的图形上以自我监督的方式训练 GNN 嵌入,”Amazon Measurement、Ad Tech 和 Data Science 的首席应用科学家 Haining Yu 说。 “经过预训练的 GNN 嵌入显示,与最先进的基于 BERT 的基线相比,购物者活动预测任务提高了 24%; 它还超过了其他广告应用程序的基准性能。”
“在 GraphStorm 之前,客户只能垂直扩展以处理 500 亿条边的图形,”Amazon Neptune 和 Amazon Timestream 的总经理 Brad Bebee 说。 “GraphStorm 使客户能够在具有数百亿条边的海量 Amazon Neptune 图上扩展 GNN 模型训练。”
GraphStorm技术架构
下图展示了GraphStorm的技术架构。
GraphStorm 建立在 PyTorch 之上,可以在单 GPU、多 GPU 和多 GPU 机器上运行。 它由三层组成(上图黄色框内标注):
- 底层(Dist GraphEngine) – 底层提供使能分布式图机器学习的基本组件,包括分布式图、分布式张量、分布式嵌入和分布式采样器。 GraphStorm 提供了这些组件的高效实现,以将图 ML 训练扩展到十亿节点图。
- 中间层(GS 训练/推理管道) – 中间层提供训练器、评估器和预测器,以简化内置模型和自定义模型的模型训练和推理。 基本上,通过使用该层的 API,您可以专注于模型开发,而不必担心如何扩展模型训练。
- 顶层(GS通用模型动物园) – 顶层是一个模型动物园,其中包含针对不同图形类型的流行 GNN 和非 GNN 模型。 在撰写本文时,它为异构图提供了 RGCN、RGAT 和 HGT,为文本图提供了 BERTGNN。 未来,我们将增加对时态图模型的支持,例如用于时态图的 TGAT 以及用于知识图谱的 TransE 和 DistMult。
如何使用图表风暴
安装 GraphStorm 后,您只需三个步骤即可为您的应用程序构建和训练 GML 模型。
首先,您预处理您的数据(可能包括您的自定义特征工程)并将其转换为 GraphStorm 所需的表格格式。 对于每个节点类型,您定义一个表,其中列出该类型的所有节点及其功能,为每个节点提供唯一的 ID。 对于每种边类型,您同样可以定义一个表,其中每一行都包含该类型边的源节点 ID 和目标节点 ID(有关详细信息,请参阅 使用您自己的数据教程). 此外,您还提供了一个描述整体图形结构的 JSON 文件。
其次,通过命令行界面 (CLI),您可以使用 GraphStorm 的内置 construct_graph
用于某些 GraphStorm 特定数据处理的组件,可实现高效的分布式训练和推理。
第三,在 YAML 文件中配置模型和训练(例子) 并再次使用 CLI,调用五个内置组件之一 (gs_node_classification
, gs_node_regression
, gs_edge_classification
, gs_edge_regression
, gs_link_prediction
) 作为训练模型的训练管道。 此步骤会生成经过训练的模型工件。 要进行推理,您需要重复前两个步骤,使用相同的 GraphStorm 组件将推理数据转换为图形(construct_graph
) 像之前一样。
最后,您可以调用五个内置组件之一(与用于模型训练的组件相同)作为推理管道来生成嵌入或预测结果。
下图还描述了总体流程。
在下一节中,我们提供了一个示例用例。
对原始 OAG 数据进行预测
在这篇文章中,我们演示了 GraphStorm 如何轻松地在大型原始数据集上启用图 ML 训练和推理。 这 开放学术图谱 (OAG) 包含五个实体(论文、作者、地点、附属机构和研究领域)。 原始数据集存储在超过 500 GB 的 JSON 文件中。
我们的任务是建立一个模型来预测论文的研究领域。 要预测研究领域,可以将其制定为多标签分类任务,但很难使用单热编码来存储标签,因为有数十万个领域。 因此,您应该创建研究领域节点并将此问题表述为链接预测任务,预测论文节点应连接到哪个研究领域节点。
要使用图形方法对该数据集建模,第一步是处理数据集并提取实体和边。 您可以从 JSON 文件中提取五种类型的边来定义图形,如下图所示。 您可以在 GraphStorm 中使用 Jupyter notebook 示例代码 处理数据集并为每个实体类型生成五个实体表,为每个边类型生成五个边表。 Jupyter Notebook 还在具有文本数据(例如论文)的实体上生成 BERT 嵌入。
在定义实体和实体之间的边之后,您可以创建 mag_bert.json
,它定义了图形模式,并调用内置的图形构建管道 construct_graph
在 GraphStorm 中构建图形(参见以下代码)。 尽管 GraphStorm 图构建管道在单机上运行,但它支持多处理以并行处理节点和边缘特征(--num_processes
) 并且可以在外部存储器上存储实体和边缘特征 (--ext-mem-workspace
) 扩展到大型数据集。
要处理这么大的图,需要一个大内存的 CPU 实例来构建图。 你可以使用 亚马逊弹性计算云 (Amazon EC2) r6id.32xlarge 实例(128 个 vCPU 和 1 TB RAM)或 r6a.48xlarge 实例(192 个 vCPU 和 1.5 TB RAM)来构建 OAG 图。
构建图形后,您可以使用 gs_link_prediction
在四个 g5.48xlarge 实例上训练链接预测模型。 使用内置模型时,您只需调用一个命令行即可启动分布式训练作业。 请参见以下代码:
模型训练完成后,模型神器保存在文件夹中 /data/mag_lp_model
.
现在您可以运行链接预测推理来生成 GNN 嵌入并评估模型性能。 GraphStorm 提供了多种内置的评估指标来评估模型性能。 例如,对于链接预测问题,GraphStorm 会自动输出度量平均倒数排名 (MRR)。 MRR 是评估图链接预测模型的重要指标,因为它评估实际链接在预测链接中的排名有多高。 这捕获了预测的质量,确保我们的模型正确地优先考虑真正的连接,这是我们的目标。
您可以使用一个命令行运行推理,如以下代码所示。 在这种情况下,模型在构建图的测试集上达到 0.31 的 MRR。
请注意,推理管道从链接预测模型生成嵌入。 要解决为任何给定论文寻找研究领域的问题,只需对嵌入执行 k 最近邻搜索。
结论
GraphStorm 是一种新的图形 ML 框架,可以轻松地在行业图形上构建、训练和部署图形 ML 模型。 它解决了图 ML 中的一些关键挑战,包括可扩展性和可用性。 它提供内置组件来处理从原始输入数据到模型训练和模型推理的十亿级图,并使多个 Amazon 团队能够在各种应用程序中训练最先进的图 ML 模型。 看看我们的 GitHub存储库 获取更多信息.
作者简介
大正 是 AWS AI/ML 研究的高级应用科学家,领导图形机器学习团队开发技术和框架,将图形机器学习投入生产。 Da 在约翰霍普金斯大学获得计算机科学博士学位。
弗洛里安索普 是 AWS AI/ML 研究的首席技术产品经理,支持图形机器学习小组等高级科学团队,并改进具有 ML 功能的 Amazon DataZone 等产品。 在加入 AWS 之前,Florian 曾在博世领导自动驾驶技术产品管理,曾在麦肯锡公司担任战略顾问,并担任控制系统/机器人科学家——他在该领域拥有博士学位。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- EVM财务。 去中心化金融的统一接口。 访问这里。
- 量子传媒集团。 IR/PR 放大。 访问这里。
- 柏拉图爱流。 Web3 数据智能。 知识放大。 访问这里。
- Sumber: https://aws.amazon.com/blogs/machine-learning/fast-track-graph-ml-with-graphstorm-a-new-way-to-solve-problems-on-enterprise-scale-graphs/
- :具有
- :是
- $UP
- 1
- 1结核病
- 100
- 16
- 31
- 500
- 7
- 8
- 9
- a
- Able
- 关于
- 学者
- 加快
- 账号管理
- 活动
- 实际
- Ad
- 加
- 增加
- 地址
- 采用
- 广告
- 高级
- 背景
- 后
- 再次
- AI / ML
- 警惕
- 算法
- 所有类型
- 让
- 允许
- 还
- Amazon
- Amazon EC2
- 亚马逊海王星
- 亚马逊时间流
- 亚马逊网络服务
- Amazon.com
- 其中
- an
- 分析
- 和
- 宣布
- 期待
- 任何
- 阿帕奇
- API
- 应用领域
- 应用领域
- 应用的
- 架构
- 保健
- AS
- 社区
- At
- 关注我们
- 属性
- 作者
- 自动化
- 自动
- 可使用
- AWS
- 基于
- 底线
- 基本包
- 基本上
- BE
- 因为
- 很
- before
- 基准
- 得益
- 最佳
- 之间
- 亿
- 十亿美元
- 都
- 半身裙/裤
- 箱
- 布拉德
- 带来
- 建立
- 建
- 内建的
- 商业
- 但是
- by
- CAN
- 能力
- 捕获
- 捕获
- 案件
- 链
- 挑战
- 挑战
- 查
- 分类
- 码
- 采集
- COM的
- 社体的一部分
- 公司
- 复杂
- 复杂
- 元件
- 组件
- 计算
- 一台
- 计算机科学
- 分享链接
- 连接
- 由
- 建设
- 构建
- 施工
- 顾问
- 包含
- 控制
- 可以
- 覆盖
- 创建信息图
- 习俗
- 顾客
- 合作伙伴
- da
- data
- 数据处理
- 数据科学
- 数据集
- 一年中的
- 深
- 定义
- 定义
- 演示
- 部署
- 部署
- 设计
- 目的地
- 检测
- 开发
- 发展
- 研发支持
- DGL
- 不同
- 难
- 直接
- 分布
- 分布式培训
- do
- 不会
- 域名
- 几十个
- 驾驶
- 两
- 每
- 容易
- 易
- 边缘
- 有效
- 高效
- 努力
- 嵌入式
- 嵌入
- 新兴经济体的新市场。
- enable
- 启用
- 使
- 端至端
- 工程师
- 工程师
- 提高
- 企业
- 实体
- 实体
- 评估
- 评估
- 评估
- 甚至
- 例子
- 超过
- 兴奋
- 实验
- 技术专家
- 专门知识
- 外部
- 提取
- 专栏
- 特征
- 部分
- 字段
- 数字
- 文件
- 档
- 终于
- 寻找
- 姓氏:
- 流
- 专注焦点
- 以下
- 针对
- 格式
- 四
- 骨架
- 框架
- 骗局
- 欺诈检测
- 止
- 未来
- 其他咨询
- 生成
- 产生
- 乔治
- 得到
- GitHub上
- 特定
- GM
- GPU
- 图形处理器
- 图形
- 图表
- 团队
- 处理
- 硬
- 有
- he
- 帮助
- 相关信息
- 高
- 高度
- 他的
- 持有
- 创新中心
- 多高
- How To
- HTTP
- HTTPS
- 数百
- ID
- IDS
- if
- 重要
- 改善
- 改进
- 改善
- in
- 其他
- 包含
- 行业中的应用:
- 信息
- 本质
- 输入
- 安装
- 例
- 代替
- 房源搜索
- 互动
- 接口
- 内部
- 成
- 介绍
- IT
- 它的
- 工作
- 约翰霍普金斯大学
- 加盟
- JPG
- JSON
- 只是
- 键
- 知识
- 已知
- 标签
- 大
- 大规模
- 发射
- 发射
- 层
- 层
- 铅
- 领导
- 学习用品
- 学习
- 自学资料库
- 执照
- 喜欢
- 容易
- Line
- 友情链接
- 链接
- 书单
- 小
- 机
- 机器学习
- 机
- 五月
- 使
- 制作
- 制作
- 颠覆性技术
- 经理
- 方式
- 许多
- 标
- 大规模
- 麦肯锡
- 麦肯锡公司
- 意味着
- 数据监测
- 内存
- 方法
- 方法
- 公
- 指标
- 中间
- 百万
- ML
- 模型
- 模型
- 个月
- 更多
- 最先进的
- 多
- 本地人
- 需求
- 海王星
- 网络
- 网络
- 神经网络
- 全新
- 节点
- 节点
- 笔记本
- 现在
- 目标
- of
- 优惠精选
- on
- 一
- 仅由
- 开放源码
- 开源代码
- 操作
- 追求项目的积极优化
- 附加选项
- or
- 其他名称
- 我们的
- 输出
- 超过
- 最划算
- 己
- 纸类
- 文件
- 并行
- 演出
- 性能
- 挑
- 管道
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 热门
- 帖子
- 可能
- 预测
- 都曾预测
- 预测
- 预测
- 预测
- 喜好
- 先前
- 校长
- 市场问题
- 问题
- 过程
- 处理
- 产品
- 产品管理
- 产品经理
- 生产
- 核心产品
- 成熟
- 提供
- 提供
- 优
- 放
- pytorch
- 质量
- 很快
- 内存
- 排名
- 原
- 达到
- 上游
- 真实的世界
- 建议
- 减少
- 关系
- 释放
- 重复
- 要求
- 必须
- 需要
- 研究
- 成果
- 右
- 风险
- 常规
- 行
- 运行
- 同
- 说
- 可扩展性
- 鳞片
- 情景
- 科学
- 科学家
- 科学家
- 搜索
- 部分
- 看到
- 前辈
- 服务
- 特色服务
- 集
- 应该
- 显示
- 如图
- 作品
- 同样
- 简化
- 只是
- 单
- 尺寸
- 社会
- 社交网络
- 解决方案
- 解决
- 一些
- 来源
- 国家的最先进的
- 步
- 步骤
- 存储
- 商店
- 存储
- 策略
- 结构体
- 学习
- 这样
- 供应
- 供应链
- SUPPORT
- 支持
- 支持
- 表
- 采取
- 需要
- 任务
- 团队
- 队
- 科技
- 文案
- 技术
- HAST
- test
- 这
- 未来
- 图
- 其
- 那里。
- 因此
- 博曼
- 他们
- 认为
- Free Introduction
- 虽然?
- 数千
- 威胁
- 三
- 时
- 至
- 工具
- 最佳
- 交通
- 培训
- 熟练
- 产品培训
- 交易
- 改造
- 变压器
- true
- 尝试
- 二
- 类型
- 类型
- 下
- 独特
- 大学
- 可用性
- 使用
- 用例
- 用过的
- 使用
- 运用
- 有价值
- 各个
- 场馆
- 垂直
- 通过
- 参观
- 是
- 方法..
- we
- 卷筒纸
- Web服务
- 井
- ,尤其是
- 这
- 广泛
- 将
- 也完全不需要
- 工作
- 写作
- 雅姆
- 完全
- 您一站式解决方案
- 和风网
- 动物园