Si tienes la suerte de poder conseguir miles de GPU y un centro de datos con suficiente potencia y refrigeración para soportarlas, tu dolor de cabeza acaba de empezar.
Las cargas de trabajo de inteligencia artificial y aprendizaje automático requieren que estas GPU estén conectadas mediante una red densa y adaptable, que también conecta CPU, memoria y almacenamiento.
El más mínimo cuello de botella puede repercutir en un sistema y provocar problemas y un rendimiento lento durante todo el proceso de entrenamiento. Pero con innumerables nodos interconectados, es fácil que el tráfico se acumule.
El gigante de los chips Broadcom espera que parte de la solución al problema pueda estar en la IA y en el software en sí. Su nuevo silicio de conmutación Trident 5-X12 será el primero en utilizar el motor de inferencia de redes neuronales NetGNT integrado en el chip de la compañía, cuyo objetivo es mejorar las redes en tiempo real.
NetGNT (Networking General-purpose Neural-network Traffic-analyzer) es "de propósito general", según explicó a DCD Robin Grinley, el principal PLM de la empresa en el grupo de conmutación central de Broadcom. "No tiene una función específica; está pensado para muchos casos de uso diferentes", afirma Grinley.
La pequeña red neuronal se ubica en paralelo al flujo de procesamiento de paquetes normal, donde el cliente coloca una serie de reglas estáticas en el chip (políticas de descarte, políticas de reenvío, rangos de IP, etc.).
"En comparación, NetGNT tiene memoria, lo que significa que busca patrones", dice Grinley. "Se trata de patrones en el espacio, en diferentes puertos del chip o en el tiempo. De modo que, a medida que los flujos pasan por el chip y se producen diversos eventos, puede buscar patrones de nivel superior que no son realmente detectables mediante un conjunto estático de reglas que se han programado en estas tablas de bajo nivel".
Un cliente podría entrenar la red neuronal en ataques DDoS anteriores para ayudarla a identificar un evento similar en el futuro.
"Ahora bien, la acción podría ser local en el chip, podría ser normal. Cuando uno ve que se inicia uno de estos flujos DDoS, interrumpe el flujo y descarta el paquete. Al mismo tiempo, también puede hacer cosas como crear una notificación cuando lo identifica por primera vez y enviarla al Centro de operaciones de red".
Las ejecuciones de IA y ML a veces pueden sufrir un evento de incast, donde la cantidad de servidores de almacenamiento que envían datos a un cliente supera la capacidad de un conmutador Ethernet para almacenar paquetes en búfer, lo que puede causar una pérdida significativa de paquetes.
"Puede detectar esto: si hay una acumulación del buffer debido a una infusión, podría leer esa firma y decir: 'Está bien, puedo tomar una acción muy rápida para iniciar la contrapresión, tal vez algunos de estos flujos, o hacer algo más'", dijo Grinley. "En una carga de trabajo de IA/ML, se realiza en fases, y solo tienes unos pocos milisegundos entre fases. No tienes tiempo para involucrar al software en el ciclo e intentar tomar algunas decisiones sobre qué hacer".
Con NetGNT funcionando en paralelo, "no hay software en el circuito que, cuanto más complejo sea el procesamiento de paquetes, más tiempo llevará. Ya sea que NetGNT esté activado o desactivado, la latencia de cualquier paquete que pase por nuestro chip es la misma".
Teniendo en cuenta los requisitos únicos de las distintas redes, es importante señalar que NetGNT no funciona de manera inmediata. "Lo único que proporcionamos aquí es el modelo de hardware: ¿Cuántas neuronas? ¿Cómo están conectadas? ¿Cuáles son los pesos grandes, etcétera?".
El resto, el cliente tiene que entrenarse con el modelo. "Alguien tiene que ir a ver enormes cantidades de datos de rastreo de paquetes: aquí está mi red cuando está funcionando bien; esto es lo que quiero rastrear, incast, denegación de servicio, algún otro evento de seguridad, lo que sea", dijo Grinley.
"Algún arquitecto de red tiene que revisar todos estos enormes paquetes de datos de rastreo y etiquetarlos. Después, introduce todos esos datos de entrenamiento en un algoritmo de entrenamiento supervisado y genera los pesos que van a nuestro motor de red neuronal".
Esto significa que la precisión del sistema depende en cierta medida de la calidad de los datos, la duración del entrenamiento y la habilidad de la persona que etiqueta y entrena su sistema.
"Probablemente, tendrán que contratar a algunos expertos en IA y ML que sepan cómo ejecutarlo, y después lo ejecutarán en la nube o donde sea", dijo Grinley. También depende del cliente la frecuencia con la que vuelva a entrenar el sistema.
"Puedes recargarlo mientras el chip está en funcionamiento", añadió. "Así que pueden recargarlo a diario si quieren, pero el tiempo de entrenamiento suele ser del orden de unos pocos días a una semana".
Además de NetGNT, Broadcom pretende ayudar a reducir los cuellos de botella con el "enrutamiento cognitivo", que se implementó por primera vez con Tomahawk-5. "Si estás usando Trident-5 como Tor y Tomahawk-5 como estructura, estas características operan juntas", dijo Grinley.
En productos más antiguos, el equilibrio dinámico de carga se limitaba únicamente al chip. La congestión se detectaba y el flujo se trasladaba de forma autónoma a un enlace con menos carga. "Ahora, eso funciona bien en el chip", dijo Grinley. "Pero si se baja tres o cuatro saltos en la red, es posible que la nueva ruta que se elija esté congestionada en otro lugar".
Ahora, la plataforma intenta gestionar el equilibrio de carga global, dijo. "Estos chips, cuando detectan una congestión, pueden enviar notificaciones tanto hacia abajo como hacia arriba, y permiten que todos los chips funcionen con una visión global de la congestión y puedan lidiar con ella".
Esto se ejecuta en núcleos Arm integrados en el chip, porque "no es algo que se pueda esperar de la CPU host".
A medida que el sistema se desarrolla y la computación en el chip mejora, Grinley ve que sus diversos esfuerzos convergen. "NetGNT podría pasar a la versión dos de enrutamiento cognitivo, o a algún nuevo esquema de equilibrio de carga, o a algún esquema de telemetría ingenioso.
"Una vez que tengas este pequeño motor de inferencia instalado, podrás conectarlo para mejorar el rendimiento, la seguridad y la optimización de la red. Creo que descubriremos muchos más casos de uso a medida que pase el tiempo".