Pre-Compiled Pipeline Shards for Distributed LLM Inference on Intel AI PC Fleets
Este artículo presenta un sistema de inferencia distribuida que aprovecha fragmentos de pipeline de OpenVINO precompilados a través de múltiples PC con IA de Intel inactivos para permitir la ejecución a velocidad interactiva de LLMs de gran tamaño (hasta 70B de parámetros) que exceden los límites de memoria de un solo dispositivo, logrando un alto rendimiento mediante la fusión de grafos optimizada, la decodificación especulativa y el entrelazado de solicitudes.
Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
En el mundo de la informática moderna, ha surgido un nuevo tipo de computadora personal, equipada con procesadores potentes diseñados específicamente para la inteligencia artificial. Estas máquinas, que a menudo se encuentran en computadoras portátiles elegantes, contienen chips especializados que pueden ejecutar modelos de lenguaje extensos: programas capaces de escribir, razonar y conversar. Sin embargo, una sola máquina tiene un límite estricto: su memoria es demasiado pequeña para contener el "cerebro" masivo de los modelos más avanzados, que requieren mucho más almacenamiento del que cualquier dispositivo puede proporcionar. Tradicionalmente, para ejecutar estos modelos gigantes, los usuarios han tenido que depender de servidores en la nube distantes y costosos, enviando sus preguntas a través de Internet y esperando una respuesta. Esto crea una dependencia de la infraestructura externa y plantea preocupaciones sobre la privacidad de los datos, ya que la información sensible debe salir de la máquina local. La pregunta que enfrentaban los investigadores era si un grupo de estas computadoras personales ordinarias e inactivas podría trabajar en conjunto, conectadas por una red de oficina estándar, para ejecutar un modelo que es demasiado grande para cualquiera de ellas, todo esto manteniendo los datos locales y la respuesta lo suficientemente rápida para una conversación real.
Un equipo de investigadores se propuso responder a esto construyendo un sistema que divide un modelo de inteligencia artificial grande en piezas más pequeñas, asignando una pieza a cada computadora en una pequeña flota. Imagine un libro masivo que es demasiado pesado para que una sola persona lo cargue; en lugar de intentar levantarlo solo, un grupo de personas se coloca en línea, cada una sosteniendo un capítulo. A medida que la historia avanza, la primera persona lee su capítulo y pasa el contexto al siguiente, quien lee el suyo, y así sucesivamente, hasta que la última persona termina la frase. En este sistema, los "capítulos" son las capas del modelo de IA, y el "paso" ocurre a través de una conexión de red estándar. Los investigadores descubrieron que simplemente dividir el modelo de esta manera no era suficiente; el traspaso entre computadoras era demasiado lento y el proceso de verificar el trabajo era demasiado torpe, lo que hacía que el sistema fuera lento. Para solucionar esto, desarrollaron tres técnicas específicas que transformaron una configuración experimental y lenta en una herramienta rápida y utilizable.
El primer avance consistió en un cambio sutil en la forma en que se preparaban las piezas del modelo incluso antes de ser encendidas. Cuando los investigadores exportaron inicialmente las capas del modelo para ejecutarlas en el chip gráfico de la computadora, el software omitió una optimización crucial que usualmente acelera las cosas. Al inyectar una instrucción específica y simple en el código de cada pieza, desbloquearon una eficiencia oculta en el procesador gráfico. Este pequeño ajuste permitió que las piezas divididas funcionaran casi tan rápido como el modelo original y sin dividir en una sola máquina. Sin esta corrección, el sistema era significamente más lento, pero con ella, la brecha de rendimiento casi desapareció, demostrando que el modelo podía dividirse sin sacrificar la velocidad.
El segundo desafío fue manejar el proceso de "borrador" utilizado para acelerar el pensamiento de la IA. Normalmente, un modelo más pequeño y rápido adivina las siguientes palabras, y el modelo principal las verifica. Si la suposición es incorrecta, el modelo principal debe descartar la suposición incorrecta y comenzar de nuevo. En los chips especializados utilizados en estas computadoras, la forma estándar de descartar una suposición errónea era increíblemente lenta, tomando casi medio segundo por cada corrección, lo suficiente como para arruinar el flujo de la conversación. Los investigadores encontraron una solución ingeniosa: en lugar de eliminar físicamente las suposiciones incorrectas de la memoria de la computadora, simplemente le dijeron a la IA que las ignorara. Al marcar las suposiciones incorrectas como invisibles en los datos de fondo, el sistema logró exactamente el mismo resultado que borrar las suposiciones, pero en una fracción de segundo. Esto permitió que el sistema utilizara la técnica de borrador más rápida sin la penalización, haciendo que la IA se sintiera mucho más receptiva.
La tercera innovación permitió que el sistema sirviera a múltiples personas a la vez. En una configuración estándar, mientras una computadora en la línea está trabajando, las otras suelen permanecer inactivas, esperando su turno. Los investigadores diseñaron un método donde las computadoras podían alternar solicitudes de diferentes usuarios simultáneamente. Mientras una computadora terminaba una frase para el Usuario A, la siguiente computadora en la línea ya podía estar comenzando una frase para el Usuario B. Este entrelazado de tareas mantuvo cada máquina de la flota ocupada, multiplicando efectivamente la velocidad total del grupo. Cuando se combinó con las otras dos correcciones, este enfoque permitió que una flota de dos computadoras sirviera a dos usuarios a una velocidad casi dos veces más rápida de lo que una sola computadora podría servir a un solo usuario.
Los resultados se midieron en una flota de tres computadoras portátiles de alta gama conectadas por una red Wi-Fi estándar. En las pruebas, una configuración de dos computadoras que ejecutaba un modelo popular de 8 mil millones de parámetros sirvió a dos usuarios a una tasa de casi 44 palabras por segundo, lo cual es lo suficientemente rápido para una conversación natural e interactiva. Esto fue 1.79 veces más rápido que una sola computadora ejecutando el mismo modelo para un solo usuario. Aún más impresionante, cuando los investigadores simularon una conexión de Internet lenta y de larga distancia, el sistema permaneció utilizable, mientras que una versión no optimizada de la misma configuración se volvió demasiado lenta para ser práctica. El sistema también escaló con éxito para ejecutar un modelo masivo de 70 mil millones de parámetros, un tamaño que ninguna computadora individual en la flota podría contener por sí sola. Al dividir este modelo gigante entre cuatro computadoras, el equipo logró velocidades interactivas, demostrando que un grupo de dispositivos de consumo podía manejar tareas que antes estaban reservadas para centros de datos masivos.
El estudio también exploró cómo se comporta este sistema bajo diferentes condiciones. Encontraron que la velocidad de la red importaba menos que la eficiencia de los traspasos entre computadoras. Cuando la conexión era lenta, el sistema compensaba procesando más palabras a la vez en un solo paso, lo que suavizaba los retrasos. También probaron el sistema en una conexión de red de área amplia real a través de Internet, donde los resultados confirmaron que, con las optimizaciones adecuadas, la flota podía mantener una velocidad de conversación constante incluso cuando las computadoras estaban lejos entre sí. Los investigadores señalaron que, si bien el sistema funciona bien, depende de que las computadoras estén en un entorno confiable, ya que no incluye características de seguridad integradas como el cifrado o la autenticación. Además, observaron que el calor físico generado por las computadoras durante el uso sostenido podría eventualmente ralentizarlas, un factor que tendría que ser gestionado en un despliegue del mundo real.
En última instancia, este trabajo demuestra que la barrera para ejecutar inteligencia artificial potente no es solo el hardware, sino cómo se utiliza ese hardware. Al repensar la forma en que se dividen los modelos, cómo se corrigen los errores y cómo se atienden múltiples usuarios, un pequeño grupo de computadoras ordinarias puede actuar como una sola máquina poderosa. Los investigadores pusieron su código y datos a disposición del público, permitiendo que otros verifiquen los resultados y construyan sobre el sistema. Los hallazgos sugieren que, en un futuro cercano, las organizaciones podrían ejecutar sus propios clústeres privados de alta velocidad de IA utilizando las computadoras que ya poseen, manteniendo los datos locales y reduciendo la dependencia de los servicios externos en la nube. El sistema demostó que, con el software adecuado, el poder colectivo de una flota de máquinas inactivas puede aprovecharse para resolver problemas que antes se pensaba que requerían una supercomputadora.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.