Decodificación anticipada un algoritmo de decodificación paralela para acelerar la inferencia de LLM

Decodificación anticipada un algoritmo de decodificación paralela para acelerar la inferencia de LLM

Aunque los modelos de lenguaje grandes (LLM) como GPT-4 y LLaMA están reimaginando rápidamente las aplicaciones modernas, su inferencia es lenta y difícil de optimizar debido a que se basa en la decodificación autoregresiva. La demora de una solicitud de LLM depende principalmente de la longitud de la respuesta de la solicitud o, equivalentemente, el número de pasos de decodificación, ya que cada paso de decodificación autoregresiva produce solo un token a la vez. Desafortunadamente, la capacidad de procesamiento en paralelo de las GPUs actuales se utiliza generalmente de manera insuficiente porque cada paso de decodificación no la aprovecha. Esto presenta un problema para muchas aplicaciones prácticas de LLM, como los chatbots y asistentes personales, que dependen de respuestas instantáneas y regularmente generan secuencias largas con baja latencia.

La decodificación auto-regresiva se puede acelerar mediante el uso de métodos de decodificación especulativa como Medusa y OSD, que utilizan una estrategia de “adivinar y verificar” en la que un modelo preliminar hace predicciones sobre varios posibles tokens en el futuro, y el LLM original verifica estas predicciones en paralelo. Estos métodos pueden reducir la latencia aprovechando situaciones en las que se requieren menos pasos de decodificación. Sin embargo, tienen algunas restricciones. En primer lugar, la tasa de aceptación de tokens, es decir, qué tan correctamente el modelo preliminar puede anticipar las salidas del modelo principal, es el límite superior de la máxima aceleración que pueden lograr los enfoques basados en la decodificación especulativa. En segundo lugar, desarrollar un modelo preliminar confiable no es fácil; normalmente requiere más entrenamiento y ajustes cuidadosos para tener en cuenta las variaciones en el tráfico a lo largo del tiempo.

Un nuevo estudio realizado por LMSYS ORG presenta la decodificación lookahead, una novedosa técnica de decodificación precisa desarrollada para abordar estas dificultades. Aunque es computacionalmente prohibitivo decodificar muchos tokens consecutivos en un solo paso, se ha observado que un LLM puede producir numerosos n-gramas ortogonales simultáneamente. Estos n-gramas podrían ajustarse potencialmente a partes futuras de la secuencia creada. La tradicional técnica de iteración de Jacobi se adapta para la decodificación en paralelo, lo que permite ver la decodificación autoregresiva como la solución de ecuaciones no lineales. Los n-gramas que se producen se registran, verifican y, si corresponde, se incorporan a la secuencia. La decodificación lookahead es particularmente notable, ya que:

  • No utiliza un modelo preliminar, lo que acelera la implementación.
  • Reduce el número total de pasos de decodificación por un factor de log(FLOPs) en cada etapa.

Los investigadores demuestran que la decodificación lookahead reduce significativamente la latencia de 1.5x a 2.3x sin un aumento considerable en la carga computacional. Quizás lo más importante, permite el intercambio de procesamiento por una menor latencia, aunque con beneficios decrecientes.

Han creado su implementación para que la decodificación lookahead funcione con huggingface/transformers. HuggingFace proporciona una función generada nativamente, pero los usuarios pueden mejorar significativamente su eficiencia con unas pocas líneas de código.

La iteración de Jacobi es una técnica probada en el tiempo para resolver sistemas no lineales. La inferencia de LLM también se puede utilizar para la creación de tokens en paralelo sin necesidad de un modelo preentrenado. Dado que cada paso de la decodificación de Jacobi implica el cálculo hacia adelante del LLM en >1 token, es significativamente más costoso en términos de FLOPs requeridos que cada paso de la decodificación autoregresiva. Los investigadores han observado varias dificultades que se pueden encontrar al intentar mejorar significativamente el rendimiento en tiempo real de la decodificación de Jacobi en aplicaciones del mundo real. Si bien puede decodificar muchos tokens en una serie de pasos, a menudo se equivoca en su orden. Incluso cuando se anticipan correctamente, los tokens a menudo se reemplazan en los ciclos siguientes. Como resultado, pocas iteraciones decodifican correctamente y colocan numerosos tokens simultáneamente. Esto anula todo el punto de usar la decodificación en paralelo. En general, no afecta el rendimiento debido a las capacidades de procesamiento en paralelo de las unidades de procesamiento gráfico (GPU).

La decodificación lookahead puede sortear sus deficiencias aprovechando la capacidad de la decodificación de Jacobi para generar n-gramas paralelos. Cada nuevo token en un punto se decodifica utilizando los valores en esa posición en iteraciones anteriores, tal como se ve en la decodificación de Jacobi. Debido a este proceso, se forman muchos n-gramas, lo que construye una línea de tiempo de tokens históricos en cada posición de token. Para utilizar esto, la decodificación lookahead recopilará y almacenará en caché estos n-gramas en función de sus trayectorias. La decodificación lookahead verifica simultáneamente los n-gramas prometedores en caché mientras realiza la decodificación en paralelo utilizando iteraciones de Jacobi para los tokens futuros.

Cada fase de decodificación de lookahead se divide en dos ramas paralelas: la rama de lookahead y la rama de verificación, para mejorar la eficiencia. Para producir n-gramas a partir de la trayectoria de la iteración de Jacobi, la rama de lookahead mantiene una ventana de dos dimensiones de tamaño constante. Al mismo tiempo, la rama de verificación elige y verifica candidatos prometedores para los n-gramas.

Dado que el ancho de banda de memoria es el principal cuello de botella en la decodificación de LLM, los investigadores combinan las ramas de lookahead y verificación en un solo pase, aprovechando la capacidad de procesamiento paralelo de la GPU mientras ocultan cualquier sobrecarga asociada.

El equipo probó diferentes tamaños de LLaMA-2-Chat y CodeLLaMA en MT-bench, HumanEval y GSM8K para ver qué tan efectiva es su decodificación de lookahead. La técnica de decodificación de lookahead proporciona aceleración sin necesidad de ajustes finos o modelos preliminares. En precisión fp16, evalúan los modelos de 7B, 13B y 33B en una sola GPU A100 y el modelo de 70B en dos GPU A100 con paralelismo de tuberías.

  • Discusión de MT-Bench LLaMA: En muchas configuraciones de modelos, la aceleración lograda por la decodificación de lookahead es de alrededor de 1,5 veces.
  • CodeLLaMA de HumanEval: La latencia de CodeLLaMA se reduce en más de dos veces al usar la decodificación de lookahead en HumanEval. Esto se debe a que hay numerosos n-gramas fácilmente adivinables incluidos en el código.
  • CodeLLaMA instructivo para GSM8K: La decodificación de lookahead reduce la latencia en 1,8 gracias a la aplicación de CodeLLama-Instructor a los desafíos matemáticos de GSM8K.

La publicación ‘Decodificación de lookahead’: un algoritmo de decodificación paralela para acelerar la inferencia de LLM 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

Investigadores de Corea del Sur proponen VITS2 un avance en los modelos de síntesis de voz de una sola etapa para una mayor naturalidad y eficiencia.

El artículo presenta VITS2, un modelo de síntesis de texto a voz de una sola etapa que sintetiza un habla más natural...

Ciencias de la Computación

El Avance en la Computación Cuántica Inicia una Nueva Era, Dice IBM.

Un ordenador cuántico encontró mejores respuestas a un problema de física que un superordenador convencional.

Inteligencia Artificial

Investigadores de la Universidad de Zurich desarrollan SwissBERT un modelo de lenguaje multilingüe para los cuatro idiomas nacionales de Suiza

El famoso modelo BERT ha sido recientemente uno de los principales modelos de lenguaje para el procesamiento del leng...

Inteligencia Artificial

Por qué los científicos se adentran en el mundo virtual

Un número creciente de investigadores científicos están utilizando la tecnología de realidad virtual (VR) en el labor...

Inteligencia Artificial

Salvando las bibliotecas digitales y el Internet Archive

Una batalla sobre la verdad y quién tiene acceso a ella en la era digital.