开始接触
在机缘巧合之下,我了解到了CSDN和AWS-Build On活动,有幸在5月14号参加了第一次的build on,学习了neptune的环境搭建以及一些小的实验。
图神经网络的搭建
图形和图形数据的主要用途是使用数据中的值和连接提供新颖的见解。然而图形数据的一个常见问题在于,此类数据通常并不完整,这意味着其中包含缺失的属性值或连接。虽然不完整的数据并非图形独有的问题,但我们往往希望以互联的方式使用此类数据,这种本质需求使得这种问题会产生更大的影响,通常会导致无效的遍历和/或错误的结果。Neptune ML 通过将机器学习(ML)模型集成到实时图形遍历过程中,借此预测/推断缺失的图形元素(例如属性和连接),有效解决了这个问题。
Neptune ML 是 Amazon Neptune 的一项功能,它使用户能够在 Amazon Neptune 中自动创建、管理并使用图形神经网络(GNN)机器学习模型。Neptune ML 是使用 Amazon SageMaker 和 Deep Graph Library 构建而来的,它提供了一种简单易用的机制来构建/训练/维护这些模型,随后可在 Gremlin 查询中使用这些模型的预测能力来预测图形中的元素或属性值。这些模型涵盖了很多常见用例。
Neptune ML 通过使用 Gremlin 查询语言在 Neptune 中执行多种常见的机器学习任务来实现这一点。
为了在 Neptune ML 中实现图神经网络的快速构建,我们需要执行如下四个步骤的操作:
- 加载数据 - 使用任何常规方法(例如 Gremlin 驱动程序或 Neptune Bulk Loader)将数据加载到 Neptune 集群中。
- 导出数据 - 调用服务,指定机器学习模型类型和模型配置参数。随后将数据和模型配置参数从 Neptune 集群导出到 S3 存储桶。
- 训练模型 - 调用一系列服务对导出的数据进行预处理,训练机器学习模型,随后生成一个 Amazon SageMaker 端点暴露该模型。为此,Neptune ML 会自动执行常规的机器学习过程,将数据拆分为训练数据集、验证数据集和测试数据集。随后会使用训练数据集构建模型,用验证数据集验证模型并找出最佳模型,最后使用测试数据集评估模型的准确性。借助这些步骤,Neptune ML 可根据所提供的配置自动返回效果最佳的模型,进而简化整个模型构建过程。
- 运行查询 - 最后一步需要在 Gremlin 查询中使用这个推断端点,通过机器学习模型推断数据。
感悟与总结
AWS Neptune ML 相比于其他的神经网络搭建,相比之下会更加的方便和快捷,更加有利于初学者做一些小小的尝试,S3储存桶的出现,更加方便快捷的去调用和存储数据,使其存储的利用的效率更高。