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.
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.
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.