Enderezando los caminos de los grafos: cómo Meta aceleró el entrenamiento de redes neuronales en un 63% ✛

Original: "Optimus: A Generic Operator-Level PyTorch Model Transformation Framework"
arXiv:2607.02945 · 2026-07-03 · CC BY 4.0 · 4 min
Los desarrolladores de Meta han lanzado el framework Optimus, que endereza automáticamente las cadenas enredadas de operaciones en los modelos de recomendación, aumentando la velocidad hasta un 63% y reduciendo el tiempo de compilación en cientos de segundos.

Los sistemas de recomendación, que deciden qué publicación verás a continuación, funcionan con profundas redes neuronales de miles de operaciones: complejos grafos de cómputo (esquemas de operaciones sobre datos). Estos sistemas son sistemas dinámicos vivos y en constante evolución: el más mínimo cambio en la arquitectura se propaga en cascada por todo el grafo. A medida que aumenta la precisión de los modelos, los caminos se enredan: ramificaciones redundantes como «dividir un tensor (arreglo multidimensional de números) en trozos y luego pegarlos de vuelta» crean auténticos cuellos de botella en las GPU. Cada uno de estos meandros lanza un núcleo computacional separado, y en un día de entrenamiento pueden acumularse billones de lanzamientos innecesarios. Los ingenieros intentan despejar estos caminos manualmente, pero los modelos cambian cada semana, y poner orden en el caos entrópico sin ayuda automática se ha vuelto imposible.

Para ilustrarlo: en uno de los modelos de prueba, el número de lanzamientos de kernels en la GPU durante el entrenamiento superaba los 12 000. Después de la optimización, solo quedaron 24. Imagina que en lugar de una multitud de 12 772 mensajeros, cada uno llevando un solo paquete, la carga la entrega un solo camión con 24 compartimentos.

Optimus es un módulo dentro del compilador de PyTorch 2.x que funciona como un cartógrafo voraz. Está armado con una biblioteca de más de treinta patrones de optimización: típicas estructuras basura como la cadena dividir-y-luego-concatenar. El algoritmo parte de puntos de anclaje —operaciones críticas alrededor de las cuales se enreda la maraña— y recorre los nodos vecinos, verificando cada paso con un patrón de referencia. Al encontrar una coincidencia, extirpa la construcción voluminosa e inserta un equivalente compacto. La limpieza horizontal fusiona una decena de capas idénticas en una sola; la vertical elimina divisiones y uniones sin sentido. Todo el procedimiento no altera el resultado final, pero simplifica radicalmente el grafo interno. Precisamente a este tipo de optimización se someten los grafos de cualquier topología, ya que las reglas se aplican sobre la representación intermedia universal Torch-IR.

Las reglas operan sobre una representación intermedia universal, por lo que el mismo conjunto de patrones es aplicable a cientos de modelos diversos sin modificaciones.

El efecto en los sistemas industriales de Meta ha sido notable. Cinco modelos de recomendación con diferentes arquitecturas mostraron un aumento de rendimiento de hasta un 63%: más ejemplos de entrenamiento por segundo sin cambiar el hardware. Las limpiezas verticales eliminaron cientos de kernels Triton parásitos, y las horizontales fusionaron un conjunto de operaciones idénticas en una sola; cuantos más clones, mayor es la ganancia. El consumo máximo de memoria se redujo entre un 2% y un 6%, algo crítico para modelos con cuantización de activaciones, donde cada megabyte cuenta. En una prueba ilustrativa con TorchBench, la cantidad de kernels en el entrenamiento se desplomó de 12 772 a 24, y en inferencia, de 6 320 a 6, logrando aceleraciones de 11 y 364 veces, respectivamente. Este triunfo numérico fue posible porque Optimus opera a nivel del compilador, viendo el grafo en su totalidad.

Este framework convierte una enmarañada red de senderos en una autopista para los datos y, lo más importante, todas sus herramientas están abiertas a todo el mundo. El código está integrado en PyTorch, y cualquier desarrollador no solo puede usar los patrones ya creados, sino también añadir los suyos, enseñándole al sistema nuevas técnicas de enderezamiento. A futuro, los autores planean llevar la optimización a un nivel aún más bajo, Inductor-IR, y enseñarle al algoritmo a elegir por sí mismo la mejor secuencia de reglas, sin intervención humana. Esto no es solo acelerar el entrenamiento; es un paso hacia redes neuronales auto-optimizables que se ajustan automáticamente al hardware, ahorrando electricidad y tiempo. Los enredados caminos de los grafos ya no devorarán recursos en vano: serán enderezados por el piloto automático.

La reducción de 400 segundos en el tiempo de compilación —compáralo con preparar el café de la mañana y revisar el correo— ahora es tiempo que se aprovecha de manera productiva. Y compactar la inferencia de 6320 kernels a 6 es como reemplazar a 6320 mensajeros por un solo centro logístico que lo procesa todo en un solo lugar.

\min_{G'} \text{Cost}(G') \quad \text{s.t.} \quad \text{Result}(G') = \text{Result}(G)
El optimizador busca un grafo de cómputo que dé el mismo resultado con el mínimo coste: tiempo, memoria, número de kernels.
Científicos
Andrey Markov
Conceptos
optimización xgboost algoritmo genético entrenamiento Transformadores optimización de recursos en computación cuántica algoritmo cuántico grandes modelos de lenguaje