Artefactos producidos por el entrenamiento de modelos en 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.

Artefactos producidos por el entrenamiento de modelos en Neptune ML

Tras el entrenamiento del modelo, Neptune ML utiliza los parámetros del modelo mejor entrenados para generar los artefactos del modelo que son necesarios para lanzar el punto de conexión de inferencia y proporcionar predicciones del modelo. Estos artefactos se empaquetan según el trabajo de entrenamiento y se almacenan en la ubicación de salida de Amazon S3 del mejor trabajo de entrenamiento de SageMaker.

En las siguientes secciones se describe lo que se incluye en los artefactos de modelos para las distintas tareas y cómo el comando de transformación de modelos utiliza un modelo entrenado preexistente para generar artefactos, incluso a partir de datos de gráficos nuevos.

Artefactos generados para diferentes tareas

El contenido de los artefactos de modelos generados por el proceso de entrenamiento depende de la tarea de machine learning de destino:

  • Clasificación y regresión de los nodos: para la predicción de las propiedades de los nodos, los artefactos incluyen los parámetros del modelo, las incrustaciones de nodos del codificador GNN, las predicciones del modelo para los nodos del gráfico de entrenamiento y algunos archivos de configuración para el punto de conexión de inferencia. En las tareas de clasificación y regresión de nodos, las predicciones del modelo se calculan previamente para los nodos presentes durante el entrenamiento con el fin de reducir la latencia de las consultas.

  • Clasificación y regresión de bordes: para la predicción de las propiedades de las bordes, los artefactos también incluyen los parámetros del modelo y las incrustaciones de nodos. Los parámetros del decodificador del modelo son especialmente importantes para la inferencia, ya que calculamos la clasificación de los bordes o las predicciones de regresión de los bordes aplicando el decodificador del modelo a las incrustaciones del vértice de origen y destino de un borde.

  • Predicción de enlaces: para la predicción de enlaces, además de los artefactos generados para la predicción de propiedades de borde, el gráfico DGL también se incluye como artefacto, ya que la predicción de enlaces requiere que el gráfico de entrenamiento realice las predicciones. El objetivo de la predicción de enlaces es predecir los vértices de destino que es probable que se combinen con un vértice de origen para formar un borde de un determinado tipo en el gráfico. Para ello, se combinan la incrustación de nodos del vértice de origen y una representación aprendida del tipo de borde con las incrustaciones de nodos de todos los vértices de destino posibles para obtener una puntuación de probabilidad de borde para cada uno de los vértices de destino. A continuación, las puntuaciones se ordenan para clasificar los posibles vértices de destino y devolver los mejores candidatos.

Para cada uno de los tipos de tareas, las ponderaciones del modelo de red neuronal de gráficos se guardan en el artefacto del modelo. Esto permite a Neptune ML calcular salidas de modelos nuevos a medida que cambia el gráfico (inferencia inductiva), además de utilizar predicciones e incrustaciones precalculadas (inferencia transductiva) para reducir la latencia.

Creación de nuevos artefactos de modelos

Los artefactos de modelos generados después del entrenamiento del modelo en Neptune ML están directamente relacionados con el proceso de entrenamiento. Esto significa que las incrustaciones y predicciones precalculadas solo existen para las entidades que estaban en el gráfico de entrenamiento original. Aunque el modo de inferencia inductiva para los puntos de conexión de Neptune ML puede calcular predicciones para nuevas entidades en tiempo real, es posible que desee generar predicciones por lotes sobre nuevas entidades sin consultar un punto de conexión.

Para obtener las predicciones de modelos por lotes para las nuevas entidades que se han añadido al gráfico, es necesario volver a calcular los artefactos de modelos nuevos para los nuevos datos de gráfico. Esto se logra mediante el comando modeltransform. Utilice el comando modeltransform cuando solo desee realizar predicciones por lotes sin configurar un punto de conexión, o cuando desee que se generen todas las predicciones de forma que pueda volver a escribirlas en el gráfico.

Dado que el entrenamiento de modelos realiza de forma implícita una transformación del modelo al final del proceso de entrenamiento, los artefactos de modelos siempre se vuelven a calcular a partir de los datos del gráfico de entrenamiento mediante un trabajo de entrenamiento. Sin embargo, el comando modeltransform también puede calcular los artefactos de modelos en los datos del gráfico que no se usaron para entrenar un modelo. Para ello, los nuevos datos de gráficos deben procesarse con las mismas codificaciones de características que los datos de gráficos originales y deben seguir el mismo esquema de gráfico.

Para ello, cree primero un nuevo trabajo de procesamiento de datos que sea un clon del trabajo de procesamiento de datos ejecutado con los datos del gráfico de entrenamiento original y ejecútelo con los nuevos datos del gráfico (consulte Procesamiento de datos de gráficos actualizados para Neptune ML). A continuación, llame al comando modeltransform con el nuevo dataProcessingJobId y el antiguo modelTrainingJobId para volver a calcular los artefactos del modelo a partir de los datos del gráfico actualizados.

Para la predicción de las propiedades de los nodos, las incrustaciones y predicciones de los nodos se vuelven a calcular a partir de los nuevos datos del gráfico, incluso también para los nodos que estaban presentes en el gráfico de entrenamiento original.

Para la predicción de las propiedades de los bordes y los enlaces, las incrustaciones de los nodos también se vuelven a calcular y, de forma similar, anulan cualquier incrustación de nodos existente. Para volver a calcular las incrustaciones de nodos, Neptune ML aplica el codificador GNN aprendido del modelo entrenado anterior a los nodos de los nuevos datos de gráficos con sus nuevas características.

En el caso de los nodos que no tengan características, se vuelven a utilizar las representaciones iniciales aprendidas del entrenamiento del modelo original. En el caso de los nodos nuevos que no tengan características y no estaban presentes en el gráfico de entrenamiento original, Neptune ML inicializa su representación como el promedio de las representaciones de nodos iniciales aprendidas de ese tipo de nodo presentes en el gráfico de entrenamiento original. Esto puede provocar una disminución en el rendimiento de las predicciones del modelo si hay muchos nodos nuevos que no tengan características, ya que todos se inicializarán con la incrustación inicial promedio de ese tipo de nodo.

Si el modelo se entrena con el valor concat-node-embed establecido en true, las representaciones de los nodos iniciales se crean concatenando las características del nodo con la representación inicial que se puede aprender. Por lo tanto, para el gráfico actualizado, la representación del nodo inicial de los nodos nuevos también utiliza el promedio de incrustaciones de nodos iniciales, concatenadas con las nuevas características de los nodos.

Además, actualmente no se admiten las eliminaciones de nodos. Si se han eliminado los nodos del gráfico actualizado, debe volver a entrenar el modelo a partir de los datos del gráfico actualizado.

Al volver a calcular los artefactos del modelo, se vuelven a utilizar los parámetros del modelo aprendidos en un gráfico nuevo, y solo debe realizarse cuando el nuevo gráfico sea muy similar al antiguo. Si el nuevo gráfico no es lo suficientemente similar, es necesario volver a entrenar el modelo para obtener un rendimiento similar con los datos del nuevo gráfico. Lo que se considere suficientemente similar depende de la estructura de los datos del gráfico, pero como regla general, debe volver a entrenar el modelo si los nuevos datos difieren entre un 10 y un 20 % de los datos del gráfico de entrenamiento original.

En el caso de los gráficos en los que todos los nodos tengan características, se aplica el extremo superior del umbral (un 20 % de diferencia), pero en el caso de los gráficos en los que muchos nodos no tengan características y los nuevos nodos añadidos al gráfico no tengan propiedades, el extremo inferior (un 10 % de diferencia) puede ser incluso demasiado alto.

Consulte El comando modeltransform para obtener más información sobre los trabajos de transformación de modelos.