Portátiles SLIMBOOK
Entradas Mensuales
Síguenos en:
Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon ¿Qué es la cuantización, los parámetros y la temperatura en los LLM?


Los grandes modelos lingüísticos (LLM) vienen en todos los sabores. Cada vez son más grandes en cuanto al número de parámetros y más capaces de aprender y procesar los datos. Cuantos más parámetros tenga un modelo, más complejo será y más datos podrá procesar. Sin embargo, esto tiene el inconveniente de que su formación y despliegue resultan caros.


Parámetros de IA

  • Los parámetros del LLM son ajustes que controlan y optimizan el modo en que el modelo genera respuestas textuales. 

Los parámetros de IA son fundamentales para el funcionamiento de un modelo de IA, ya que actúan como los caballos de batalla invisibles que impulsan el rendimiento de estos sistemas. En el caso de los LLM, estos parámetros se ajustan durante la fase de entrenamiento, aprendiendo a predecir palabras posteriores basándose en las anteriores en un contexto determinado.

Es importante entender que estos parámetros no tienen ningún significado inherente. En su lugar, funcionan colectivamente, trabajando al unísono para trazar intrincadas relaciones entre palabras y frases en los datos de entrenamiento. Este conjunto es lo que hace que los LLM sean capaces de generar textos que a menudo parecen humanos.

Al ajustar estos parámetros, los usuarios pueden afinar el comportamiento del modelo para producir respuestas coherentes, diversas y adecuadas al contexto. A diferencia de los parámetros de entrenamiento como pesos y sesgos, los LLM tienen estos parámetros de configuración que se aplican durante la inferencia para mejorar el rendimiento del modelo. Habiendo entendido lo que significan los parámetros en LLM, vamos a adentrarnos en la tierra de los parámetros LLM y explorar los ejemplos de parámetros LLM.  

Tamaño del modelo: El tamaño del modelo es el número de parámetros del LLM. Cuantos más parámetros tenga un modelo, más complejo será y más datos podrá procesar. Sin embargo, los modelos más grandes también son más caros de entrenar e implantar desde el punto de vista computacional.

¿Qué significa tener 70B parámetros?

Cuando alguien dice que un LLM tiene 70B parámetros, significa que el modelo tiene 70.000 millones de parámetros ajustables. Estos parámetros se utilizan para aprender la relación entre palabras y frases en los datos de entrenamiento. Cuantos más parámetros tiene un modelo, más complejo puede ser y más datos puede procesar. Sin embargo, los modelos de mayor tamaño también son más costosos de entrenar e implantar desde el punto de vista informático.

70B parámetros es un número muy grande, y es una de las razones por las que los LLM son tan potentes. Los LLM con 70B parámetros pueden generar texto que no se distingue del texto escrito por humanos, y también pueden realizar tareas complejas como la traducción y el resumen.

Cuantización en LLM

Las capacidades de los grandes modelos lingüísticos (LLM) han crecido a pasos agigantados en los últimos años, haciéndolos más fáciles de usar y aplicables en un número cada vez mayor de casos de uso. Sin embargo, a medida que los LLM han aumentado en inteligencia y complejidad, también ha crecido el número de parámetros, o pesos y activaciones, es decir, su capacidad para aprender de los datos y procesarlos. Por ejemplo, el GPT-3.5 tiene unos 175.000 millones de parámetros, mientras que el GPT-4 actual supera el billón de parámetros. 


Sin embargo, cuanto mayor es un LLM, más memoria necesita. Esto significa que sólo es posible ejecutar los LLM en hardware de alta especificación con la cantidad de GPU necesaria, lo que limita las opciones de despliegue y, en consecuencia, la facilidad con la que se pueden adoptar soluciones basadas en LLM. Afortunadamente, los investigadores en aprendizaje automático están ideando una gama cada vez más amplia de soluciones para hacer frente al reto que supone el aumento del tamaño de los modelos, y una de las más destacadas es la cuantización. 


A la hora de configurar una infraestructura para ejecutar estos modelos, cuanto mayor sea el modelo, más memoria necesitará. Por ejemplo, para ejecutar el modelo Mistral 7B de 7,7 GB se necesitaría una GPU con una VRAM de más de 8 GB. Esto significa que para ejecutar modelos más grandes se necesitaría un hardware con mayores especificaciones, lo que incrementaría el coste.

Una de las soluciones consiste en cuantificar los modelos para reducir su tamaño.

  • ¿Sabes cuánta memoria GPU necesitas para servir LLaMA 70B? 

 Usa esta fórmula sencilla Por ejemplo, para LLaMA 70B con 16 bits, necesitas 168GB. Con cuantización a 4 bits, solo necesitas 42GB. La cuantización optimiza el uso de memoria sin comprometer mucho el rendimiento.

¿Qué es la cuantización?

La cuantización es una técnica de compresión que consiste en asignar valores de alta precisión a valores de menor precisión. Para un LLM, eso significa modificar la precisión de sus pesos y activaciones haciéndolo menos intensivo en memoria. Sin duda, esto repercute en las capacidades del modelo, incluida su precisión. A menudo se trata de elegir un modelo cuantizado en función del caso de uso. En algunos casos es posible obtener resultados comparables con una precisión significativamente menor. La cuantización mejora el rendimiento al reducir los requisitos de ancho de banda de la memoria y aumentar la utilización de la caché.




Con un modelo LLM, el proceso de cuantización a diferentes niveles de precisión permite ejecutar un modelo en una gama más amplia de dispositivos.


¿Cómo funciona la cuantización?


Los LLM se entrenan generalmente con números de coma flotante de precisión completa (float32) o media precisión (float16). Un float16 tiene 16 bits, lo que equivale a 2 bytes. Por tanto, se necesitan dos gigabytes para un modelo de mil millones de parámetros entrenado con FP16.

El proceso de cuantización consiste en encontrar una manera de representar el rango (que es [min, max] para el tipo de dato) de los valores de peso FP32 a valores de menor precisión como FP16 o incluso INT4 (Integer 4 bit). El caso típico es uno de FP32 a INT8.

  • FP32: a 32-bit floating point number called “full precision”
  • FP16: a 16-bit floating point number called “half precision.”
  • FP8: an 8-bit floating point number supported on L4 and H100 GPUs.
  • INT8: an 8-bit integer format.
  • INT4: a 4-bit integer format.

El impacto global sobre la calidad del LLM depende de la técnica utilizada.

Los dos tipos de cuantificación LLM: PTQ y QAT


Aunque existen varias técnicas de cuantización, las más notables de las cuales detallaremos más adelante en esta guía, en términos generales, la cuantización de LLMs se divide en dos categorías:


  • Cuantización Post-Entrenamiento (PTQ): se refiere a las técnicas que cuantizan un LLM después de haber sido entrenado. La PTQ es más fácil de implementar que la QAT, ya que requiere menos datos de entrenamiento y es más rápida. Sin embargo, también puede reducir la precisión del modelo debido a la pérdida de precisión en el valor de los pesos. 
  • Quantization-Aware Training (QAT): se refiere a métodos de ajuste fino sobre datos teniendo en cuenta la cuantización. A diferencia de las técnicas PTQ, QAT integra el proceso de conversión de pesos, es decir, calibración, estimación de rangos, recorte, redondeo, etc., durante la fase de entrenamiento. Esto suele dar lugar a un rendimiento superior del modelo, pero es más exigente desde el punto de vista computacional. 

Por qué la cuantización


Ventajas


  • Menor consumo de memoria: Una menor anchura de bits se traduce en menos memoria para el almacenamiento
  • Inferencia rápida: Esto se debe a un cómputo eficiente debido a sus menores requisitos de ancho de banda de memoria
  • Menor consumo de energía: Un modelo más grande requiere más movimiento y almacenamiento de datos, lo que se traduce en un mayor consumo de energía. Por lo tanto, un modelo más pequeño consume menos energía en comparación.
  • Modelos más pequeños: Pueden cuantificarse en función de las necesidades y desplegarse en dispositivos con especificaciones de hadware más similares.


Desventajas


  • Posible pérdida de precisión debido a la reducción del peso de alta precisión a una precisión menor.


Temperatura de los LLM



Un parámetro intrigante dentro de los LLM es la «temperatura». La temperatura del LLM es un hiperparámetro que regula la aleatoriedad o creatividad de las respuestas de la IA. Un valor de temperatura más alto hace que el resultado sea más diverso y creativo, pero también puede aumentar la probabilidad de que se desvíe del contexto. Por el contrario, un valor de temperatura más bajo hace que las respuestas de la IA sean más centradas y deterministas, ciñéndose a la predicción más probable.

Gestionar la temperatura es un delicado acto de equilibrio. Si se fija demasiado alta, el modelo puede producir respuestas sin sentido o irrelevantes. Si es demasiado baja, los resultados del modelo pueden parecer demasiado robóticos o faltos de diversidad. Por lo tanto, el parámetro de temperatura desempeña un papel fundamental a la hora de ajustar el rendimiento de la IA a un nivel óptimo.

Temperatura en LLM: Entre la Creatividad y la Coherencia

La "temperatura" en los LLM es un hiperparámetro que influye en la generación de texto de la IA. Este parámetro controla la aleatoriedad de las respuestas generadas por el modelo. A una temperatura baja, cerca de 0, el modelo tenderá a ser más predecible y seguro, proporcionando respuestas más directas y coherentes. Por otro lado, una temperatura más alta, cercana a 1, permite que el modelo explore opciones más creativas y menos obvias, aunque a veces menos coherentes.

La elección de la temperatura adecuada depende del contexto y del propósito de la generación de texto. Por ejemplo, en aplicaciones donde la precisión y la información fiable son cruciales, como en entornos médicos o jurídicos, una temperatura baja es preferible. En cambio, para tareas creativas como escribir poesía o generar ideas innovadoras, una temperatura más alta puede ser beneficiosa.

¿Qué es el Top-K en un LLM?


El Top-K nos permite limitar el número de opciones que consideramos en el muestreo. Una vez aplicada la temperatura y calculadas las probabilidades mediante una fórmula llamada softmax, es posible que tengamos muchos miles de tokens (o palabras) entre los que elegir. 

Al especificar un Top K de 50, estamos diciendo: «Mira sólo los 50 mejores tokens». Esto puede servir para eliminar opciones de baja calidad, de modo que no las tengamos en cuenta. Sin embargo, en general, Top K no es un parámetro terriblemente útil. Cambiar la temperatura o cambiar Top P (ver más abajo) es una opción mucho más fiable y explicable.  

Que yo sepa, la API de Open AI no permite configurar este valor, aunque sospecho que tienen configurado uno por defecto. Las bibliotecas de Huggingface tienen un valor por defecto de 50 cuando se utiliza la configuración de generación.


Creo que hay dos usos razonables para Top K: 

    1: sólo quieres el mejor token y quieres que tus resultados sean repetibles.

    50: es el valor por defecto, y no tiene nada de especial más allá de que es bastante grande pero evita que aparezcan palabras poco probables.


Si tiene la tentación de utilizar cualquier otro valor, probablemente debería considerar Top P en su lugar.

  • Top K Sampling: es un método que selecciona el siguiente token de de un subconjunto formado por los k tokens más probables. A menor valor tenga más predecible será el texto generado.
  • Top P Sampling: similar a Top K, con la diferencia de que selecciona el siguiente token de un subconjunto de tokens que juntos tienen una probabilidad acumulada de al menos p. 


Top p

Top p, también conocido como muestreo de núcleos, es otro hiperparámetro de configuración que controla la aleatoriedad de la salida del modelo lingüístico. Establece un umbral de probabilidad y selecciona los tokens superiores cuya probabilidad acumulada supera el umbral. A continuación, el modelo toma muestras aleatorias de este conjunto de tokens para generar la salida. Este método puede producir resultados más diversos e interesantes que los métodos tradicionales, que muestrean aleatoriamente todo el vocabulario. Por ejemplo, si se fija top p en 0,9, el modelo sólo tendrá en cuenta las palabras más probables que constituyan el 90% de la masa de probabilidad.

Fuentes:

https://medium.com/@techresearchspace/what-is-quantization-in-llm-01ba61968a51

https://symbl.ai/developers/blog/a-guide-to-quantization-in-llms/


0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.