Escalabilidad y Aprendizaje Multitarea en GraphStorm 0.3 con APIs Amigables para el Usuario

0
56
GraphStorm 0.3: Scalable, multi-task learning on graphs with user-friendly APIs

GraphStorm, un marco empresarial de aprendizaje automático en grafos (GML) de bajo código, se ha convertido en una herramienta esencial para construir, entrenar y desplegar soluciones en grafos a escala empresarial en solo días en lugar de meses. Con GraphStorm, las soluciones pueden tomar en cuenta directamente la estructura de relaciones o interacciones entre miles de millones de entidades, lo que es crucial en datos del mundo real como la detección de fraude, recomendaciones, detección de comunidades y problemas de búsqueda y recuperación.

Hoy se lanza GraphStorm 0.3, añadiendo soporte nativo para el aprendizaje multitarea en grafos. Esta nueva versión permite definir múltiples objetivos de entrenamiento en diferentes nodos y aristas dentro de un solo ciclo de entrenamiento. Además, introduce nuevas API que permiten personalizar los procesos en GraphStorm. Ahora, con solo 12 líneas de código, se puede implementar un bucle de entrenamiento de clasificación de nodos personalizado. Para facilitar el inicio con la nueva API, se han publicado dos ejemplos en Jupyter notebooks: uno para la clasificación de nodos y otro para una tarea de predicción de enlaces. También se ha publicado un estudio exhaustivo de co-entrenamiento de modelos de lenguaje (LM) y redes neuronales de grafos (GNN) en grafos grandes con características textuales ricas, utilizando el conjunto de datos de Microsoft Academic Graph (MAG).

El soporte nativo para el aprendizaje multitarea en grafos refleja un esfuerzo por satisfacer las necesidades de diversas aplicaciones empresariales que operan con datos de grafos para múltiples tareas. Por ejemplo, organizaciones minoristas que desean detectar fraudes tanto en vendedores como en compradores, o editoriales científicas que buscan relacionar trabajos para citarlos adecuadamente y ser más descubiertos.

GraphStorm 0.3 soporta seis tareas comunes para el aprendizaje multitarea en grafos: clasificación de nodos, regresión de nodos, clasificación de aristas, regresión de aristas, predicción de enlaces y reconstrucción de características de nodos. Los objetivos de entrenamiento se pueden especificar a través de un archivo de configuración YAML. Un ejemplo de esto es la simultánea definición de una tarea de clasificación de temas en nodos de tipo «paper» y una tarea de predicción de enlaces en aristas de tipo «paper-citing-paper».

Desde su lanzamiento a principios de 2023, los clientes han usado mayoritariamente la interfaz de línea de comandos (CLI) de GraphStorm, que simplifica la construcción, entrenamiento y despliegue de modelos usando recetas comunes. Sin embargo, muchos clientes han solicitado una interfaz más flexible que permita personalizar los pipelines de entrenamiento e inferencia según sus requisitos específicos. En respuesta a esta demanda, GraphStorm 0.3 presenta APIs refactorizadas que permiten definir un pipeline de entrenamiento de clasificación de nodos personalizado con solo 12 líneas de código.

En la versión anterior, GraphStorm introdujo técnicas integradas para entrenar modelos de lenguaje (LM) y modelos GNN conjuntamente de manera eficiente a gran escala en grafos con textos ricos. Desde entonces, los usuarios han solicitado guías para optimizar el uso de estas técnicas. GraphStorm 0.3 responde a esta demanda al lanzar un benchmark LM+GNN utilizando el conjunto de datos Microsoft Academic Graph (MAG) en dos tareas estándar de GML: clasificación de nodos y predicción de enlaces.

Se han realizado evaluaciones de rendimiento para dos metodologías principales: BERT preentrenado + GNN, y BERT afinado + GNN. El método BERT afinado+GNN, introducido por los desarrolladores de GraphStorm en 2022, mostró un rendimiento hasta un 40% mejor en comparación con el método BERT preentrenado + GNN en la tarea de predicción de enlaces en MAG.

GraphStorm también ha sido evaluado usando grafos sintéticos de gran tamaño para demostrar su escalabilidad, gestionando sin problema grafos con hasta 100 mil millones de aristas en cuestión de horas.

GraphStorm 0.3, publicado bajo la licencia Apache-2.0, está diseñado para abordar los desafíos de GML a gran escala, y ahora ofrece soporte nativo para el aprendizaje multitarea y nuevas APIs para personalizar pipelines y otros componentes. Para comenzar, visita el repositorio de GitHub de GraphStorm y su documentación.
vía: AWS machine learning blog