关于如何使用 Neptune ML 特征的概述 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

关于如何使用 Neptune ML 特征的概述

开始使用 Neptune ML 的工作流程

在 Amazon Neptune 中使用 Neptune ML 特征通常需要从以下五个步骤开始:

Neptune ML 工作流程图
  1. 数据导出和配置 – 数据导出步骤使用 Neptune-Export 服务或 neptune-export 命令行工具,将数据从 Neptune 以 CSV 格式导出到 Amazon Simple Storage Service (Amazon S3)。同时会自动生成一个名为 training-data-configuration.json 的配置文件,该文件指定如何将导出的数据加载到可训练的图形中。

  2. 数据预处理 - 在此步骤中,使用标准技术对导出的数据集进行预处理,准备好数据以进行模型训练。可以对数字数据执行特征标准化,也可以使用 word2vec 对文本特征进行编码。在此步骤结束时,将根据导出的数据集生成 DGL(深度图表库)图形供模型训练步骤使用。

    此步骤是使用您账户中的 SageMaker 处理任务来实现的,生成的数据存储在您指定的 Amazon S3 位置。

  3. 模型训练 - 模型训练步骤训练将用于预测的机器学习模型。

    模型训练分两个阶段完成:

    • 第一阶段使用 SageMaker 处理任务来生成模型训练策略配置集,该配置集指定模型训练将使用哪种类型的模型和模型超参数范围。

    • 然后,第二阶段使用 SageMaker 模型调整任务来尝试不同的超参数配置,并选择生成了性能最佳模型的训练任务。调整任务对处理后的数据运行预先指定数量的模型训练任务试验。在此阶段结束时,将使用最佳训练任务的训练模型参数来生成模型构件以进行推理。

  4. 在 Amazon SageMaker 中创建推理端点 – 推理端点是一个 SageMaker 端点实例,它使用最佳训练任务生成的模型构件启动。每个模型都绑定到单个端点。端点能够接受来自图形数据库的传入请求,并返回请求中输入的模型预测。创建端点后,它会一直处于活动状态,直到您将其删除。

  5. 使用 Gremlin 查询机器学习模型 – 您可以使用 Gremlin 查询语言的扩展来查询来自推理端点的预测。

根据不断变化的图形数据进行预测

对于不断变化的图形,您可能需要定期使用新数据创建新的批量预测。查询预先计算的预测(转导推理)可能比基于最新数据动态生成新预测(归纳推理)快得多。这两种方法都有其用武之地,具体取决于数据变化的速度和性能要求。

归纳推理和转导推理的区别

执行转导推理时,Neptune 会查找并返回训练时预先计算的预测。

执行归纳推理时,Neptune 会构造相关的子图形并提取其属性。然后,DGL GNN 模型实时应用数据处理和模型评估。

因此,归纳推理可以生成涉及在训练时不存在且反映图形当前状态的节点和边缘的预测。但是,这是以更高的延迟为代价的。

如果您的图形是动态的,则可能需要使用归纳推理来确保将最新数据考虑在内,但是如果您的图形是静态的,则转导推理更快、更高效。

默认情况下,归纳推理处于禁用状态。您可以通过在查询中使用 Gremlin Neptune#ml.inductiveInference 谓词为查询启用它,如下所示:

.with( "Neptune#ml.inductiveInference")

增量转导工作流程

虽然您只需重新运行第一步到第三步(从数据导出和配置模型转换)即可更新模型构件,但 Neptune ML 支持更的简单方法以使用新数据更新批量 ML 预测。一种是使用增量模型工作流程,另一种是使用通过热启动进行模型再训练

增量模型工作流程

在此工作流程中,您无需重新训练机器学习模型即可更新 ML 预测。

注意

只有在使用新节点和/或边缘更新图形数据后,才能执行此操作。当节点被移除时,它目前无法运行。

  1. 数据导出和配置 - 此步骤与主工作流程中的步骤相同。

  2. 增量数据预处理 - 此步骤与主工作流程中的数据预处理步骤类似,但使用的处理配置与之前使用的处理配置相同,对应于特定的经过训练的模型。

  3. 模型转换 - 此模型转换步骤不是模型训练步骤,而是从主工作流程中获取经过训练的模型和增量数据预处理步骤的结果,并生成用于推理的新模型构件。模型转换步骤启动 SageMaker 处理任务,以执行生成更新后的模型构件的计算。

  4. 更新 Amazon SageMaker 推理端点 –(可选)如果您具有现有的推理端点,则此步骤会使用模型转换步骤生成的新模型构件更新端点。或者,也可以使用新的模型构件创建新的推理端点。

通过热启动进行模型再训练

使用此工作流程,您可以训练和部署新的机器学习模型,以便使用增量图形数据进行预测,但要从使用主工作流程生成的现有模型开始:

  1. 数据导出和配置 - 此步骤与主工作流程中的步骤相同。

  2. 增量数据预处理 - 此步骤与增量模型推理工作流程中的步骤相同。新的图形数据应该使用以前用于模型训练的相同处理方法进行处理。

  3. 通过热启动进行模型训练 – 模型训练与主工作流程中发生的情况类似,但您可以利用先前模型训练任务中的信息来加快模型超参数搜索的速度。

  4. 更新 Amazon SageMaker 推理端点 – 此步骤与增量模型推理工作流程中的步骤相同。

Neptune ML 中自定义模型的工作流程

Neptune ML 允许您为 Neptune ML 支持的任何任务实现、训练和部署您自己的自定义模型。开发和部署自定义模型的工作流程与内置模型的工作流程基本相同,但有一些区别,如自定义模型工作流程中所述。