Nos complace anunciar el lanzamiento de código abierto de Tormenta gráfica 0.1, un marco de aprendizaje automático (ML) de gráficos empresariales de bajo código para crear, entrenar e implementar soluciones de ML de gráficos en gráficos complejos a escala empresarial en días en lugar de meses. Con GraphStorm, puede crear soluciones que tengan en cuenta directamente la estructura de las relaciones o interacciones entre miles de millones de entidades, que están intrínsecamente integradas en la mayoría de los datos del mundo real, incluidos escenarios de detección de fraude, recomendaciones, detección de comunidades y problemas de búsqueda/recuperación.
Hasta ahora, ha sido notoriamente difícil crear, entrenar e implementar soluciones de aprendizaje automático de gráficos para gráficos empresariales complejos que fácilmente tienen miles de millones de nodos, cientos de miles de millones de bordes y docenas de atributos; solo piense en un gráfico que captura los productos de Amazon.com. , atributos del producto, clientes y más. Con GraphStorm, lanzamos las herramientas que Amazon usa internamente para poner en producción soluciones de aprendizaje automático de gráficos a gran escala. GraphStorm no requiere que sea un experto en gráficos ML y está disponible bajo la licencia Apache v2.0 en GitHub. Para obtener más información sobre GraphStorm, visite el Repositorio GitHub.
En esta publicación, proporcionamos una introducción a GraphStorm, su arquitectura y un ejemplo de caso de uso de cómo usarlo.
Presentamos GraphStorm
Los algoritmos de gráficos y el aprendizaje automático de gráficos están emergiendo como soluciones de vanguardia para muchos problemas comerciales importantes, como predecir los riesgos de las transacciones, anticipar las preferencias de los clientes, detectar intrusiones, optimizar las cadenas de suministro, el análisis de redes sociales y la predicción del tráfico. Por ejemplo, Servicio de guardia de Amazon, el servicio nativo de detección de amenazas de AWS, utiliza un gráfico con miles de millones de bordes para mejorar la cobertura y precisión de su inteligencia de amenazas. Esto permite que GuardDuty clasifique los dominios no vistos anteriormente como altamente probables de ser maliciosos o benignos en función de su asociación con dominios maliciosos conocidos. Mediante el uso de Graph Neural Networks (GNN), GuardDuty puede mejorar su capacidad para alertar a los clientes.
Sin embargo, desarrollar, lanzar y operar soluciones de aprendizaje automático de gráficos lleva meses y requiere experiencia en aprendizaje automático de gráficos. Como primer paso, un científico de ML de gráficos tiene que crear un modelo de ML de gráficos para un caso de uso dado utilizando un marco como Deep Graph Library (DGL). El entrenamiento de dichos modelos es un desafío debido al tamaño y la complejidad de los gráficos en las aplicaciones empresariales, que habitualmente llegan a miles de millones de nodos, cientos de miles de millones de bordes, diferentes tipos de nodos y bordes, y cientos de atributos de nodos y bordes. Los gráficos empresariales pueden requerir terabytes de almacenamiento de memoria, lo que requiere que los científicos de gráficos ML creen canalizaciones de capacitación complejas. Finalmente, una vez que se ha entrenado un modelo, se debe implementar para la inferencia, lo que requiere canalizaciones de inferencia que son tan difíciles de construir como las canalizaciones de entrenamiento.
GraphStorm 0.1 es un marco de ML de gráficos empresariales de bajo código que permite a los profesionales de ML elegir fácilmente modelos de ML de gráficos predefinidos que han demostrado ser efectivos, ejecutar capacitación distribuida en gráficos con miles de millones de nodos e implementar los modelos en producción. GraphStorm ofrece una colección de modelos de gráficos ML integrados, como Redes convolucionales de gráficos relacionales (RGCN), Redes de atención de gráficos relacionales (RGAT) y Transformador de gráficos heterogéneos (HGT) para aplicaciones empresariales con gráficos heterogéneos, que permiten a los ingenieros de ML con poco grafique la experiencia de ML para probar diferentes soluciones modelo para su tarea y seleccionar la correcta rápidamente. Las canalizaciones de inferencia y capacitación distribuidas de un extremo a otro, que se escalan a gráficos empresariales de miles de millones de escalas, facilitan la capacitación, la implementación y la ejecución de la inferencia. Si es nuevo en GraphStorm o en Graph ML en general, se beneficiará de los modelos y canalizaciones predefinidos. Si es un experto, tiene todas las opciones para ajustar la canalización de capacitación y la arquitectura del modelo para obtener el mejor rendimiento. GraphStorm se basa en DGL, un marco muy popular para desarrollar modelos GNN, y está disponible como código fuente abierto bajo la licencia Apache v2.0.
“GraphStorm está diseñado para ayudar a los clientes a experimentar y poner en práctica los métodos de aprendizaje automático de gráficos para que las aplicaciones de la industria aceleren la adopción del aprendizaje automático de gráficos”, dice George Karypis, científico principal sénior en investigación de IA/ML de Amazon. “Desde su lanzamiento dentro de Amazon, GraphStorm ha reducido hasta cinco veces el esfuerzo de crear soluciones gráficas basadas en ML”.
“GraphStorm permite a nuestro equipo entrenar la incrustación de GNN de manera autosupervisada en un gráfico con 288 millones de nodos y 2 mil millones de bordes”, dice Haining Yu, científico principal aplicado en Amazon Measurement, Ad Tech y Data Science. “Las incrustaciones de GNN previamente entrenadas muestran una mejora del 24 % en una tarea de predicción de la actividad del comprador en comparación con una línea de base basada en BERT de última generación; también supera el rendimiento de referencia en otras aplicaciones publicitarias”.
“Antes de GraphStorm, los clientes solo podían escalar verticalmente para manejar gráficos de 500 millones de bordes”, dice Brad Bebee, gerente general de Amazon Neptune y Amazon Timestream. “GraphStorm permite a los clientes escalar el entrenamiento del modelo GNN en gráficos masivos de Amazon Neptune con decenas de miles de millones de bordes”.
Arquitectura técnica de GraphStorm
La siguiente figura muestra la arquitectura técnica de GraphStorm.
GraphStorm se basa en PyTorch y puede ejecutarse en una sola GPU, varias GPU y varias máquinas con GPU. Consta de tres capas (marcadas en los recuadros amarillos de la figura anterior):
- Capa inferior (Dist GraphEngine) – La capa inferior proporciona los componentes básicos para habilitar el aprendizaje automático de gráficos distribuidos, incluidos gráficos distribuidos, tensores distribuidos, incrustaciones distribuidas y muestras distribuidas. GraphStorm proporciona implementaciones eficientes de estos componentes para escalar el entrenamiento de gráficos ML a gráficos de mil millones de nodos.
- Capa intermedia (canalización de entrenamiento/inferencia de GS) – La capa intermedia proporciona capacitadores, evaluadores y predictores para simplificar el entrenamiento y la inferencia de modelos, tanto para modelos integrados como para sus modelos personalizados. Básicamente, al usar la API de esta capa, puede concentrarse en el desarrollo del modelo sin preocuparse por cómo escalar el entrenamiento del modelo.
- Capa superior (zoológico modelo general GS) – La capa superior es un zoológico modelo con modelos GNN y no GNN populares para diferentes tipos de gráficos. A partir de este escrito, proporciona RGCN, RGAT y HGT para gráficos heterogéneos y BERTGNN para gráficos textuales. En el futuro, agregaremos soporte para modelos de gráficos temporales como TGAT para gráficos temporales, así como TransE y DistMult para gráficos de conocimiento.
Cómo usar GraphStorm
Después de instalar GraphStorm, solo necesita tres pasos para crear y entrenar modelos GML para su aplicación.
En primer lugar, preprocesa sus datos (que posiblemente incluyan su ingeniería de características personalizadas) y los transforma en un formato de tabla requerido por GraphStorm. Para cada tipo de nodo, defina una tabla que enumere todos los nodos de ese tipo y sus características, proporcionando una identificación única para cada nodo. Para cada tipo de borde, defina de manera similar una tabla en la que cada fila contenga los ID de los nodos de origen y destino para un borde de ese tipo (para obtener más información, consulte Tutorial sobre el uso de sus propios datos). Además, proporciona un archivo JSON que describe la estructura general del gráfico.
En segundo lugar, a través de la interfaz de línea de comandos (CLI), utiliza la interfaz integrada de GraphStorm construct_graph
componente para algún procesamiento de datos específico de GraphStorm, que permite un entrenamiento e inferencia distribuidos eficientes.
En tercer lugar, configura el modelo y el entrenamiento en un archivo YAML (ejemplo) y, nuevamente utilizando la CLI, invoque uno de los cinco componentes integrados (gs_node_classification
, gs_node_regression
, gs_edge_classification
, gs_edge_regression
, gs_link_prediction
) como canalizaciones de entrenamiento para entrenar el modelo. Este paso da como resultado los artefactos del modelo entrenado. Para hacer inferencias, debe repetir los primeros dos pasos para transformar los datos de inferencia en un gráfico usando el mismo componente GraphStorm (construct_graph
) como antes.
Finalmente, puede invocar uno de los cinco componentes integrados, el mismo que se usó para el entrenamiento del modelo, como una canalización de inferencia para generar incrustaciones o resultados de predicción.
El flujo general también se representa en la siguiente figura.
En la siguiente sección, proporcionamos un caso de uso de ejemplo.
Hacer predicciones sobre datos sin procesar de OAG
Para esta publicación, demostramos la facilidad con la que GraphStorm puede habilitar el entrenamiento y la inferencia de gráficos ML en un gran conjunto de datos sin procesar. El Abrir Gráfico Académico (OAG) contiene cinco entidades (artículos, autores, sedes, afiliaciones y campo de estudio). El conjunto de datos sin procesar se almacena en archivos JSON con más de 500 GB.
Nuestra tarea es construir un modelo para predecir el campo de estudio de un artículo. Para predecir el campo de estudio, puede formularlo como una tarea de clasificación de etiquetas múltiples, pero es difícil usar la codificación one-hot para almacenar las etiquetas porque hay cientos de miles de campos. Por lo tanto, debe crear nodos de campo de estudio y formular este problema como una tarea de predicción de enlaces, prediciendo a qué nodos de campo de estudio debe conectarse un nodo de papel.
Para modelar este conjunto de datos con un método gráfico, el primer paso es procesar el conjunto de datos y extraer entidades y bordes. Puede extraer cinco tipos de bordes de los archivos JSON para definir un gráfico, como se muestra en la siguiente figura. Puede usar el cuaderno Jupyter en GraphStorm código de ejemplo para procesar el conjunto de datos y generar cinco tablas de entidades para cada tipo de entidad y cinco tablas de borde para cada tipo de borde. El cuaderno Jupyter también genera incrustaciones BERT en las entidades con datos de texto, como papeles.
Después de definir las entidades y los bordes entre las entidades, puede crear mag_bert.json
, que define el esquema del gráfico, e invoca la canalización de construcción de gráficos integrada construct_graph
en GraphStorm para construir el gráfico (ver el siguiente código). Aunque la canalización de construcción de gráficos GraphStorm se ejecuta en una sola máquina, admite el procesamiento múltiple para procesar nodos y entidades de borde en paralelo (--num_processes
) y puede almacenar entidades y características de borde en la memoria externa (--ext-mem-workspace
) para escalar a grandes conjuntos de datos.
Para procesar un gráfico tan grande, necesita una instancia de CPU de gran memoria para construir el gráfico. Puedes usar un Nube informática elástica de Amazon (Amazon EC2) instancia r6id.32xlarge (128 vCPU y 1 TB de RAM) o instancias r6a.48xlarge (192 vCPU y 1.5 TB de RAM) para construir el gráfico OAG.
Después de construir un gráfico, puede usar gs_link_prediction
para entrenar un modelo de predicción de enlaces en cuatro instancias g5.48xlarge. Cuando usa los modelos integrados, solo invoca una línea de comando para iniciar el trabajo de entrenamiento distribuido. Ver el siguiente código:
Después del entrenamiento del modelo, el artefacto del modelo se guarda en la carpeta /data/mag_lp_model
.
Ahora puede ejecutar la inferencia de predicción de enlaces para generar incrustaciones de GNN y evaluar el rendimiento del modelo. GraphStorm proporciona múltiples métricas de evaluación integradas para evaluar el rendimiento del modelo. Para problemas de predicción de enlaces, por ejemplo, GraphStorm genera automáticamente el rango recíproco medio métrico (MRR). MRR es una métrica valiosa para evaluar los modelos de predicción de enlaces de gráficos porque evalúa qué tan alto se clasifican los enlaces reales entre los enlaces predichos. Esto captura la calidad de las predicciones, asegurándose de que nuestro modelo priorice correctamente las conexiones verdaderas, que es nuestro objetivo aquí.
Puede ejecutar la inferencia con una línea de comando, como se muestra en el siguiente código. En este caso, el modelo alcanza un MRR de 0.31 en el conjunto de prueba del grafo construido.
Tenga en cuenta que la canalización de inferencia genera incrustaciones a partir del modelo de predicción de enlaces. Para resolver el problema de encontrar el campo de estudio para cualquier artículo dado, simplemente realice una búsqueda del vecino más cercano en las incrustaciones.
Conclusión
GraphStorm es un nuevo marco de aprendizaje automático de gráficos que facilita la creación, el entrenamiento y la implementación de modelos de aprendizaje automático de gráficos en gráficos de la industria. Aborda algunos desafíos clave en Graph ML, incluida la escalabilidad y la usabilidad. Proporciona componentes integrados para procesar gráficos de miles de millones de escalas desde datos de entrada sin procesar hasta entrenamiento de modelos e inferencia de modelos, y ha permitido que varios equipos de Amazon entrenen modelos de aprendizaje automático de gráficos de última generación en varias aplicaciones. Echa un vistazo a nuestro Repositorio GitHub para obtener más información.
Acerca de los autores
Da Zheng es un científico aplicado sénior en la investigación de AI/ML de AWS que lidera un equipo de aprendizaje automático de gráficos para desarrollar técnicas y marcos para poner el aprendizaje automático de gráficos en producción. Da obtuvo su doctorado en informática de la Universidad Johns Hopkins.
florián saupé es gerente técnico principal de productos en la investigación de IA/ML de AWS que apoya a equipos científicos avanzados como el grupo de aprendizaje automático de gráficos y mejora productos como Amazon DataZone con capacidades de ML. Antes de unirse a AWS, Florian lideró la gestión técnica de productos para conducción automatizada en Bosch, fue consultor de estrategia en McKinsey & Company y trabajó como científico de sistemas de control/robótica, un campo en el que tiene un doctorado.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- EVM Finanzas. Interfaz unificada para finanzas descentralizadas. Accede Aquí.
- Grupo de medios cuánticos. IR/PR amplificado. Accede Aquí.
- PlatoAiStream. Inteligencia de datos Web3. Conocimiento amplificado. Accede Aquí.
- Fuente: https://aws.amazon.com/blogs/machine-learning/fast-track-graph-ml-with-graphstorm-a-new-way-to-solve-problems-on-enterprise-scale-graphs/
- :posee
- :es
- $ UP
- 1
- 1 TB
- 100
- 16
- 31
- 500
- 7
- 8
- 9
- a
- Poder
- Nuestra Empresa
- académico
- acelerar
- Mi Cuenta
- la exactitud
- actividad
- real
- Ad
- add
- adición
- direcciones
- Adopción
- Anuncios
- avanzado
- afiliaciones
- Después
- de nuevo
- AI / ML
- Alertar
- algoritmos
- Todos
- permitir
- permite
- también
- Amazon
- Amazon EC2
- Amazonas Neptuno
- flujo de tiempo de Amazon
- Amazon Web Services
- Amazon.com
- entre
- an
- análisis
- y
- Anunciar
- anticipando
- cualquier
- APACHE
- abejas
- Aplicación
- aplicaciones
- aplicada
- arquitectura
- somos
- AS
- Asociación
- At
- atributos
- Autorzy
- Confirmación de Viaje
- automáticamente
- Hoy Disponibles
- AWS
- basado
- Base
- básica
- Básicamente
- BE
- porque
- esto
- antes
- es el beneficio
- MEJOR
- entre
- mil millones
- miles de millones
- ambas
- Fondo
- cajas
- Brad
- llevar
- build
- construido
- incorporado
- pero
- by
- PUEDEN
- capacidades
- capturas
- Capturando
- case
- cadenas
- retos
- desafiante
- comprobar
- clasificación
- código
- --
- COM
- vibrante e inclusiva
- compañía
- integraciones
- complejidad
- componente
- componentes
- Calcular
- computadora
- Ciencias de la Computación
- Contacto
- Conexiones
- consiste
- construir
- construcción
- construcción
- consultor
- contiene
- control
- podría
- cobertura
- Para crear
- personalizado
- cliente
- Clientes
- da
- datos
- proceso de datos
- Ciencia de los datos
- conjuntos de datos
- Días
- profundo
- Define
- definir
- demostrar
- desplegar
- desplegado
- diseñado
- destino
- Detección
- desarrollar
- el desarrollo
- Desarrollo
- dgl
- una experiencia diferente
- difícil
- directamente
- distribuidos
- entrenamiento distribuido
- do
- No
- dominios
- decenas
- conducción
- dos
- cada una
- pasan fácilmente
- de forma sencilla
- Southern Implants
- Eficaz
- eficiente
- esfuerzo
- integrado
- incrustación
- emergentes
- habilitar
- facilita
- permite
- de extremo a extremo
- Ingeniería
- certificados
- mejorar
- Empresa
- entidades
- entidad
- evaluar
- evaluación
- evaluación
- Incluso
- ejemplo
- excede
- excitado
- experimento
- experto
- Experiencia
- externo
- extraerlos
- Feature
- Caracteristicas
- campo
- Terrenos
- Figura
- Archive
- archivos
- Finalmente
- la búsqueda de
- Nombre
- de tus señales
- Focus
- siguiendo
- formato
- Digital XNUMXk
- Marco conceptual
- marcos
- fraude
- detección de fraude
- Desde
- futuras
- General
- generar
- genera
- George
- obtener
- GitHub
- dado
- GM
- GPU
- GPU
- gráfica
- gráficos
- Grupo procesos
- encargarse de
- Difícil
- Tienen
- he
- ayuda
- esta página
- Alta
- altamente
- su
- mantiene
- Cómo
- Qué tan alto
- Como Hacer
- http
- HTTPS
- Cientos
- ID
- ids
- if
- importante
- mejorar
- es la mejora continua
- la mejora de
- in
- En otra
- Incluye
- energético
- información
- inherentemente
- Las opciones de entrada
- instalando
- ejemplo
- Intelligence
- interacciones
- Interfaz
- internamente
- dentro
- Introducción
- IT
- SUS
- Trabajos
- La Universidad Johns Hopkins
- unión
- jpg
- json
- solo
- Clave
- especialistas
- conocido
- Etiquetas
- large
- Gran escala
- lanzamiento
- lanzamiento
- .
- ponedoras
- Lead
- líder
- APRENDE:
- aprendizaje
- Biblioteca
- Licencia
- como
- que otros
- línea
- LINK
- enlaces
- Listas
- pequeño
- máquina
- máquina de aprendizaje
- Máquinas
- Mayo
- para lograr
- HACE
- Realizar
- Management
- gerente
- manera
- muchos
- marcado
- masivo
- McKinsey
- McKinsey & Company
- personalizado
- multiplataforma
- Salud Cerebral
- Método
- métodos
- métrico
- Métrica
- Ed. Media
- millones
- ML
- modelo
- modelos
- meses
- más,
- MEJOR DE TU
- múltiples
- nativo
- ¿ Necesita ayuda
- Neptuno
- del sistema,
- telecomunicaciones
- redes neuronales
- Nuevo
- nodo
- nodos
- cuaderno
- ahora
- objetivo
- of
- Ofertas
- on
- ONE
- , solamente
- de código abierto
- código de fuente abierta
- funcionamiento
- optimizando
- Opciones
- or
- Otro
- nuestros
- salir
- Más de
- total
- EL DESARROLLADOR
- Papel
- papeles
- Paralelo
- Realizar
- actuación
- recoger
- industrial
- Platón
- Inteligencia de datos de Platón
- PlatónDatos
- Popular
- Publicación
- la posibilidad
- predecir
- previsto
- predecir
- predicción
- Predicciones
- preferencias
- previamente
- Director de la escuela
- Problema
- problemas
- tratamiento
- Producto
- gestión de producto
- gerente de producto
- Producción
- Productos
- probado
- proporcionar
- proporciona un
- proporcionando
- poner
- piñón
- calidad
- con rapidez
- RAM
- clasificado
- Crudo
- en comunicarse
- alcances
- mundo real
- recomendaciones
- Reducción
- Relaciones
- ,
- repetir
- exigir
- Requisitos
- requiere
- la investigación
- Resultados
- Derecho
- riesgos
- rutinariamente
- FILA
- Ejecutar
- mismo
- dice
- Escalabilidad
- Escala
- escenarios
- Ciencia:
- Científico
- los científicos
- Buscar
- Sección
- ver
- mayor
- de coches
- Servicios
- set
- tienes
- Mostrar
- mostrado
- Shows
- Del mismo modo
- simplificar
- simplemente
- soltero
- Tamaño
- Social
- redes sociales
- Soluciones
- RESOLVER
- algo
- Fuente
- el estado de la técnica
- paso
- pasos
- STORAGE
- tienda
- almacenados
- Estrategia
- estructura
- ESTUDIO
- tal
- suministro
- Cadenas de suministro
- SOPORTE
- Apoyar
- soportes
- mesa
- ¡Prepárate!
- toma
- Tarea
- equipo
- equipos
- tecnología
- Técnico
- técnicas
- tener
- test
- esa
- La
- El futuro de las
- La gráfica
- La Fuente
- su
- Ahí.
- por lo tanto
- Estas
- ellos
- pensar
- así
- ¿aunque?
- miles
- amenaza
- Tres
- veces
- a
- parte superior
- tráfico
- Entrenar
- entrenado
- Formación
- transaccional
- Transformar
- transformador
- verdadero
- try
- dos
- tipo
- tipos
- bajo
- único
- universidad
- usabilidad
- utilizan el
- caso de uso
- usado
- usos
- usando
- Valioso
- diversos
- lugares
- verticalmente
- vía
- Visite
- fue
- Camino..
- we
- web
- servicios web
- WELL
- cuando
- que
- extensamente
- seguirá
- sin
- trabajado
- la escritura
- yaml
- Usted
- tú
- zephyrnet
- ZOO