Conoce FlexGen un motor de generación de alto rendimiento para ejecutar grandes modelos de lenguaje (LLM) con memoria limitada de GPU.

Conoce FlexGen, un motor de generación de alto rendimiento para LLM con GPU de memoria limitada.

Recientemente, los modelos de lenguaje grandes (LLMs, por sus siglas en inglés) han mostrado un rendimiento impresionante en diversas tareas. La inferencia generativa de LLMs tiene poderes nunca antes vistos, pero también enfrenta dificultades particulares. Estos modelos pueden incluir miles de millones o billones de parámetros, lo que significa que su ejecución requiere una enorme memoria y potencia de cálculo. Por ejemplo, GPT-175B solo necesita 325GB de memoria de GPU para cargar sus pesos de modelo. Se necesitarían al menos cinco GPUs A100 (80GB) y técnicas de paralelismo sofisticadas para poder ajustar este modelo en las GPUs. Por lo tanto, reducir los recursos necesarios para la inferencia de LLMs ha generado recientemente mucho interés.

Los LLMs se utilizan para diversas operaciones “internas”, como pruebas de referencia, extracción de información, manipulación de datos, procesamiento de formularios y casos de uso interactivos como chatbots. En este estudio, se centran en una situación que denominan inferencia generativa orientada al rendimiento. El hecho de que estas tareas a menudo requieran realizar inferencia de LLM en lotes a través de un gran número de tokens, como todos los documentos en el corpus de una empresa, y sean menos susceptibles al retraso en la generación de tokens, es una característica importante de estos trabajos. Debido a esto, existen posibilidades de reducir las necesidades de recursos en ciertas cargas de trabajo mediante el intercambio de la latencia por un mejor rendimiento.

Se han utilizado tres enfoques para reducir los recursos necesarios para la inferencia de LLMs: compresión del modelo para reducir la huella de memoria general, inferencia colaborativa para distribuir el costo de la inferencia mediante la descentralización y descarga para aprovechar mejor la memoria de la CPU y el disco. Aunque existen límites claros, estas estrategias han reducido considerablemente las necesidades de recursos para el uso de LLMs. La investigación en los dos primeros métodos a menudo necesita ayuda para ejecutar modelos a escala de 175B en una única GPU de uso general, ya que asume que el modelo cabe en la memoria de la GPU. Por otro lado, debido a la programación de E/S ineficiente y la ubicación de tensores, los sistemas de descarga de última generación en la tercera categoría no pueden alcanzar un rendimiento aceptable en una única GPU.

Con una única GPU de uso general, su principal objetivo es construir mecanismos de descarga efectivos para una inferencia generativa de alto rendimiento. Pueden cargar parcialmente un LLM y ejecutar la computación de manera fragmentada mediante su descarga en almacenamiento secundario para operar un LLM con memoria GPU limitada. La jerarquía de memoria se divide en tres niveles en un sistema típico. Los niveles inferiores son más lentos pero más abundantes, mientras que los niveles superiores son más rápidos pero más escasos. Los tamaños de lote pequeños pueden causar cuellos de botella en estos sistemas. Pueden comprometer la latencia en escenarios orientados al rendimiento utilizando un tamaño de lote grande y distribuyendo las operaciones de E/S costosas en varias jerarquías de memoria a lo largo de un gran lote de entradas superpuesto con el procesamiento.

Aunque pueden comprometer el retraso, lograr una inferencia generativa de alto rendimiento con memoria GPU limitada es difícil. La primera dificultad es idear un plan de descarga exitoso. El plan debe indicar qué tensores se deben descargar, dónde deben descargarse en la estructura de memoria de tres niveles y cuándo durante la inferencia. Se utilizan tres tipos de tensores en la inferencia generativa: pesos, activaciones y almacenamiento en caché de clave-valor (KV).

Existen varias formas de calcular debido a la estructura del algoritmo por lotes, token por token y capa por capa. Estas opciones se combinan para crear un espacio de diseño complicado. Los sistemas de inferencia basados en la descarga actualmente en uso heredan metodologías basadas en el entrenamiento que realizan E/S excesivas y logran un rendimiento muy por debajo de las restricciones teóricas del hardware, lo que los convierte en áreas deficientes para la inferencia. La creación de algoritmos de compresión eficientes presenta el segundo problema. Los pesos y las activaciones de los LLMs han mostrado resultados prometedores en compresión en publicaciones anteriores. Sin embargo, cuando se combinan la compresión y la descarga para la inferencia generativa de alto rendimiento, se requieren estrategias adicionales de compresión impulsadas por los costos de E/S y la reducción de memoria de los pesos y el almacenamiento en caché KV.

Investigadores de UCB, Stanford, CMU, Meta, Yandex, ETH y HSE presentan conjuntamente FlexGen, un marco de descarga para la inferencia de alto rendimiento de LLMs, para superar estos problemas. FlexGen programa eficazmente las actividades de E/S, las técnicas de compresión potenciales y el paralelismo de canalización distribuida al combinar la memoria de la GPU, la CPU y el disco. Estas son las contribuciones que realizaron:

  • Describen explícitamente un espacio de búsqueda de opciones potenciales de descarga al considerar la programación de cálculo, la ubicación de tensores y la delegación de cálculo. Demuestran que su espacio de búsqueda captura un orden de cálculo con una complejidad de E/S dentro de un rango de 2 de optimalidad. A continuación, crean un algoritmo de búsqueda basado en programación lineal para maximizar el rendimiento dentro del espacio de búsqueda.
  • Demuestran que, sin necesidad de volver a entrenar ni calibrar, es posible reducir los pesos y el almacenamiento en caché KV de LLMs como el OPT-175B a 4 bits con una pérdida de precisión mínima o nula. Esto se logra mediante una cuantificación detallada por grupos, adecuada para reducir los costos de E/S y el uso de memoria durante la descarga.
  • Demuestran la eficiencia de FlexGen ejecutando OPT-175B en GPUs NVIDIA T4 (16GB). FlexGen a menudo permite un tamaño de lote mayor que los dos algoritmos de inferencia basados en descarga de última generación, DeepSpeed Zero-Inference y Hugging Face Accelerate. Como resultado, FlexGen puede lograr rendimientos sustancialmente mayores.

Visita el Paper y Github. Todo el crédito de esta investigación va para los investigadores de este proyecto. Además, no olvides unirte a nuestro SubReddit de ML de más de 16k seguidores, nuestro Canal de Discord y nuestro Boletín de Noticias por Correo Electrónico, donde compartimos las últimas noticias de investigación en IA, proyectos interesantes de IA y más.

Desbloqueando los secretos del aprendizaje profundo con la plataforma de explicabilidad Tensorleap

La publicación Meet FlexGen: Un motor de generación de alto rendimiento para ejecutar modelos de lenguaje grandes (LLMs) con memoria limitada de GPU apareció primero en MarkTechPost.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Revolucionando la tecnología portátil el algoritmo de frecuencia cardíaca ultrarrápido de Edge Impulse y la ampliación de la suite de atención médica

El aprendizaje automático se utiliza en casi todos los aspectos de nuestra vida y en diversos campos. Es una tecnolog...

Inteligencia Artificial

¿Es verdaderamente seguro el IA multilingüe? Exponiendo las vulnerabilidades de los grandes modelos de lenguaje en idiomas con recursos limitados

GPT-4 tiene como predeterminación decir: “Lo siento, pero no puedo ayudar con eso”, en respuesta a solici...

Inteligencia Artificial

Core42 y Cerebras establecen un nuevo referente para los modelos árabes de lenguaje grande con el lanzamiento de Jais 30B

Cerebras y Core42, una compañía de G42 y el facilitador nacional a nivel de la nube y la IA generativa con sede en lo...

Inteligencia Artificial

Honda comenzará un servicio de taxis sin conductor en Tokio, según el CEO

La alianza con GM, Cruise tiene como objetivo eventual contar con 500 robotaxis.

Inteligencia Artificial

Traducción de imágenes de bocetos a imágenes Transformando bocetos abstractos en imágenes fotorrealistas con GANs

Algunas personas son habilidosas para dibujar a mano alzada, mientras que otras pueden tener talento para otras tarea...

Inteligencia Artificial

Conoce a Watsonx Code Assistant de IBM Revolucionando la codificación empresarial con asistencia impulsada por IA

En el mundo actual de desarrollo de software, uno de los desafíos clave que enfrentan las empresas es la necesidad de...