Información general sobre cómo utilizar la característica Neptune ML - Amazon Neptune

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Información general sobre cómo utilizar la característica Neptune ML

Inicio del flujo de trabajo para usar Neptune ML

Para empezar, el uso de la característica Neptune ML en Amazon Neptune suele implicar los cinco pasos siguientes:

Diagrama de flujo de trabajo de Neptune ML
  1. Configuración y exportación de datos: el paso de exportación de datos utiliza el servicio Neptune-Export o la herramienta de línea de comandos de neptune-export para exportar datos de Neptune a Amazon Simple Storage Service (Amazon S3) en formato CSV. Al mismo tiempo, se genera automáticamente un archivo de configuración denominado training-data-configuration.json, que especifica cómo se pueden cargar los datos exportados en un gráfico entrenable.

  2. Preprocesamiento de datos: en este paso, el conjunto de datos exportado se procesa previamente mediante técnicas estándar para prepararlo para el entrenamiento de modelos. La normalización de características se puede realizar para datos numéricos, y las características de texto se pueden codificar mediante word2vec. Al final de este paso, se genera un gráfico DGL a partir del conjunto de datos exportado para utilizarlo en el paso de entrenamiento de modelos.

    Este paso se implementa mediante un trabajo de procesamiento de SageMaker en su cuenta, y los datos resultantes se almacenan en la ubicación de Amazon S3 que haya especificado.

  3. Entrenamiento de modelos: el paso de entrenamiento de modelos entrena el modelo de machine learning que se utilizará para las predicciones.

    El entrenamiento de modelos se realiza en dos etapas:

    • La primera etapa utiliza un trabajo de procesamiento de SageMaker para generar un conjunto de configuraciones de estrategias de entrenamiento de modelos que especifica qué tipo de modelo y qué rangos de hiperparámetros del modelo se utilizarán para el entrenamiento.

    • La segunda etapa utiliza un trabajo de ajuste del modelo de SageMaker para probar diferentes configuraciones de hiperparámetros y seleccionar el trabajo de entrenamiento que produjo el modelo con el mejor rendimiento. El trabajo de ajuste ejecuta un número previamente especificado de pruebas de trabajo de entrenamiento de modelos con los datos procesados. Al final de esta etapa, se utilizan los parámetros del modelo entrenado del mejor trabajo de entrenamiento para generar artefactos del modelo para su inferencia.

  4. Creación de un punto de conexión de inferencia en Amazon SageMaker: el punto de conexión de inferencia es una instancia de punto de conexión de SageMaker que se lanza con los artefactos del modelo producidos por el mejor trabajo de entrenamiento. Cada modelo está vinculado a un único punto de conexión. El punto de conexión puede aceptar las solicitudes entrantes de la base de datos de gráficos y devolver las predicciones de modelos para las entradas de las solicitudes. Una vez creado el punto de conexión, permanecerá activo hasta que lo elimine.

  5. Consulta del modelo de machine learning mediante Gremlin: puede utilizar extensiones del lenguaje de consultas de Gremlin para consultar las predicciones desde el punto de conexión de inferencia.

nota

El entorno de trabajo de Neptune incluye un comando mágico de línea y un comando mágico de celda que pueden ahorrarle mucho tiempo en la administración de estos pasos, es decir:

Hacer predicciones basadas en los datos de los gráficos en constante evolución

Con un gráfico que cambia continuamente, es posible que desee crear de forma periódica nuevas predicciones por lotes con datos nuevos. La consulta de predicciones calculadas previamente (inferencia transductiva) puede ser considerablemente más rápida que generar nuevas predicciones sobre la marcha a partir de los datos más recientes (inferencia inductiva). Ambos enfoques son válidos en función de la rapidez con la que cambien los datos y de los requisitos de rendimiento.

La diferencia entre la inferencia inductiva y la transductiva

Al realizar una inferencia transductiva, Neptune busca y devuelve las predicciones que se han calculado previamente en el momento del entrenamiento.

Al realizar una inferencia inductiva, Neptune crea el subgráfico correspondiente y obtiene sus propiedades. A continuación, el modelo DGL GNN aplica el procesamiento de datos y la evaluación del modelo en tiempo real.

Por lo tanto, la inferencia inductiva puede generar predicciones con nodos y bordes que no estaban presentes en el momento del entrenamiento y que reflejan el estado actual del gráfico. Sin embargo, esto se produce a costa de una mayor latencia.

Si el gráfico es dinámico, es posible que desee utilizar la inferencia inductiva para asegurarse de tener en cuenta los datos más recientes, pero si el gráfico es estático, la inferencia transductiva es más rápida y eficaz.

La inferencia inductiva está deshabilitada de forma predeterminada. Si desea habilitarla para una consulta, utilice de la siguiente manera el predicado Neptune#ml.inductiveInference de Gremlin en la consulta:

.with( "Neptune#ml.inductiveInference")

Flujos de trabajo de inferencias transductivas incrementales

Mientras actualiza los artefactos de modelos (para ello, vuelve a realizar los pasos del uno al tres [desde Configuración y exportación de datos hasta Transformación de modelos]), Neptune ML va admitiendo formas más sencillas de actualizar sus predicciones de ML por lotes con nuevos datos. Una opción es utilizar un flujo de trabajo de modelos incrementales, y otra consiste en utilizar el reentrenamiento de modelos con un inicio en caliente.

Flujo de trabajo de modelos incrementales

En este flujo de trabajo, se actualizan las predicciones de ML sin volver a entrenar el modelo de ML.

nota

Solo puede hacerlo cuando los datos del gráfico se hayan actualizado con nuevos nodos o bordes. Actualmente, no funcionará cuando se eliminen los nodos.

  1. Configuración y exportación de datos: este paso es el mismo que en el flujo de trabajo principal.

  2. Preprocesamiento incremental de datos: este paso es similar al paso de preprocesamiento de datos del flujo de trabajo principal, pero utiliza la misma configuración de procesamiento utilizada anteriormente, que corresponde a un determinado modelo entrenado.

  3. Transformación de modelos: en lugar de un paso de entrenamiento del modelo, este paso de transformación del modelo extrae el modelo entrenado del flujo de trabajo principal y los resultados del paso de preprocesamiento incremental de datos, y genera nuevos artefactos de modelos para utilizarlos en la inferencia. El paso de transformación de modelos inicia un trabajo de procesamiento de SageMaker para realizar el cálculo que genera los artefactos de modelos actualizados.

  4. Actualización del punto de conexión de inferencia de Amazon SageMaker: si lo prefiere, si cuenta con un punto de conexión de inferencia existente, este paso actualiza el punto de conexión con los nuevos artefactos de modelos generados por el paso de transformación de modelos. Además, puede crear un nuevo punto de conexión de inferencia con los nuevos artefactos de modelos.

Reentrenamiento de modelos con un inicio en caliente

Con este flujo de trabajo, puede entrenar e implementar un nuevo modelo de ML para hacer predicciones con los datos de los gráficos incrementales, pero basándose en un modelo existente generado mediante el flujo de trabajo principal:

  1. Configuración y exportación de datos: este paso es el mismo que en el flujo de trabajo principal.

  2. Preprocesamiento incremental de datos: este paso es el mismo que en el flujo de trabajo de inferencia del modelo incremental. Los nuevos datos del gráfico deben procesarse con el mismo método de procesamiento que se utilizó anteriormente para el entrenamiento del modelo.

  3. Entrenamiento de modelos con un inicio en caliente: el entrenamiento de modelos es similar a lo que ocurre en el flujo de trabajo principal, pero puede acelerar la búsqueda de hiperparámetros del modelo con el fin de sacar partido de la información de la tarea anterior de entrenamiento con modelos.

  4. Actualización del punto de conexión de inferencia de Amazon SageMaker: este paso es el mismo que en el flujo de trabajo de inferencia de modelos incrementales.

Flujos de trabajo de modelos personalizados en Neptune ML

Neptune ML le permite implementar y entrenar sus propios modelos personalizados para cualquiera de las tareas compatibles con Neptune ML. El flujo de trabajo para desarrollar e implementar un modelo personalizado es básicamente el mismo que el de los modelos integrados, con algunas diferencias, tal y como se explica en Flujo de trabajo de modelos personalizados.