mayo 16, 2024

Blog de Habeas Data

Encuentra toda la información nacional e internacional sobre españa. Seleccione los temas sobre los que desea saber más

La guía Face Hug para mejorar los LLM en producción

La guía Face Hug para mejorar los LLM en producción

Cuando se trata de implementar grandes modelos de lenguaje (LLM) en producción, los dos desafíos principales surgen de la enorme cantidad de parámetros que requieren y la necesidad de lidiar con secuencias de entrada muy largas para representar información contextual. Hugging Face ha documentado una lista de técnicas para abordar estos obstáculos. Basado en su experiencia en el mantenimiento de dichos modelos.

Las tres técnicas que Patrick von Platen describe en su artículo sobre Hugging Face son: Funciona a baja resolución digitalUsando una variación del algoritmo de atención conocido como Atención flashy use Arquitecturas especializadas para inferencia..

Los LLM requieren la carga de una gran cantidad de VRAM, desde docenas (bigcode/starcoder) hasta cientos de gigabytes (Llama, Bloom, GPT3). La primera mejora es posible cambiando de float32`` to bfloat16« precisión:

Casi todos los modelos están entrenados en bfloat16 hoy en día, y no hay razón para ejecutar el modelo con resolución Float32 completa si su GPU es compatible con bfloat16. Float32 no dará resultados de inferencia mejores que la precisión que se utilizó para entrenar el modelo.

Esto permite reducir a la mitad el consumo total de memoria, pero desafortunadamente, la memoria requerida aún puede ser muy grande en muchos casos. Un enfoque más agresivo es cuantificar los pesos del modelo a 8 bits o 4 bits, lo cual se hace Se ha demostrado que no causa una pérdida significativa de rendimiento..

La cuantificación funciona particularmente bien para la generación de texto, ya que lo único que nos importa es elegir el siguiente conjunto de tokens más probable y realmente no nos importan los valores exactos de la distribución logit del siguiente token.

Esto permitirá reducir aún más el requisito de memoria, haciendo posible ejecutar modelos más pequeños en GPU disponibles en el mercado con solo 16 GB de VRAM, aunque a costa de un tiempo de inferencia ligeramente mayor.

READ  Twitch ha sido golpeado con reacciones violentas y amenazas de boicot, y los espectadores dicen que las nuevas reglas amenazan sus ingresos.

Usar Atención flashun nuevo algoritmo para capas de autoatención que los LLM aplican para comprender las relaciones contextuales entre símbolos de entrada, es otra mejora importante, dice von Platen, porque permite descomponer el crecimiento cuadrático de las capas por el número de símbolos de entrada.

El algoritmo es demasiado complejo para resumirlo aquí, pero basta decir que utilizando estadísticas de normalización softmax y algunas matemáticas inteligentes, proporcionan resultados idénticos mientras Sólo requiere memoria que crece linealmente con los códigos de entrada.. El rendimiento de inferencia también se ve beneficiado gracias al algoritmo que utiliza SRAM más rápida en lugar de VRAM de GPU más lenta.

En la práctica, actualmente no existe absolutamente ninguna razón para no utilizar Flash Attention si está disponible. El algoritmo proporciona el mismo resultado matemáticamente y es más rápido y más eficiente en cuanto a memoria.

La tercera área donde los LLM se pueden mejorar en producción es elegir la estructura adecuada para que puedan manejar entradas de texto largas de manera efectiva y eficiente. En este caso, la investigación moderna puede ayudar a tomar la decisión correcta a través de dos elementos que rápidamente se convierten en obstáculos, afirma von Platen: Implicaciones actuales Y el Caché de valores clave.

Las incrustaciones posicionales proporcionan una señal para que el LLM comprenda el orden de la secuencia codificando la posición de cada token en una presentación digital. Para los LLM destinados a resolver tareas que requieren lidiar con grandes entradas de texto, incrustaciones posicionales relativas como el embarazo Y Coartada Debe usarse para entrenamiento.

Tanto la codificación de posición de RoPE como la de ALiBi pueden extrapolar longitudes de entrada que no se observaron durante el entrenamiento, mientras que se ha demostrado que la extrapolación funciona mucho mejor para ALiBi en comparación con RoPE.

Ambos algoritmos ya están disponibles en varios programas LLM existentes.

READ  El nuevo tráiler de Marvel's Spider-Man 2 muestra viajes rápidos, un mapa enorme y trajes.

El chat de valor clave se puede utilizar como medio para cifrar el contexto de la conversación. La caché de valores-clave crece en un elemento en cada nueva interacción, lo que es más eficiente que el enfoque alternativo de codificar/decodificar el contexto con cada solicitud. Von Platen entra en detalles sobre dos clases de cachés de valores clave, a saber Atención multiconsulta (MQA) y Atención de consultas agregada (GQA) para mostrar las ventajas que aportan.

El artículo de Von Platen cubre mucho más terreno del que se puede resumir aquí y proporciona ejemplos prácticos para ilustrar sus puntos, así que no se pierda su artículo para tener una visión completa.