¿Qué significan estos nombres de archivo crípticos? Su guía para la cuantificación de LLM

La semana pasada hicimos sí. Trabajando con el LM Studio, pero hubo algunas preguntas, por lo que me gustaría entrar en estos detalles aquí hoy.

Si miras las opciones de descarga para un modelo como Qwen en Hugging Face o en LM Studio, te topas con nombres crípticos como Q4_K_M, Q8_0 o Q6_K. Espontáneamente piensas: «Si Q8 tiene un número mayor, debe ser mejor que Q4, ¿verdad?»

Técnicamente, es Q8 Más preciso que Q4, Pero eso no significa que sea una mejor opción para ti. Estas abreviaturas crípticas no son números arbitrarios. Te cuentan una historia sobre el rendimiento, el tamaño y la precisión del modelo incluso antes de descargarlo.

Este artículo descifra estos sufijos de una vez por todas, para que tome la decisión correcta para su hardware y nunca tenga que adivinar a ciegas de nuevo o solo elija «mayor número = mejor» según el esquema F.

¿Qué es la cuantificación? La explicación simple

Muy bien, en el tema. ¿Qué significan estos nombres de archivo crípticos? Imagina que tienes una pintura enorme y detallada (el modelo no cuantificado). Cada color se representa con 16 o 32 bits, lo que ocupa una enorme cantidad de espacio de almacenamiento y potencia de cálculo. Este es el estado original de un LLM, el llamado FP16– o FP32modelos.

cuantización es el proceso de comprimir esta pintura reduciendo el número de bits por color, por ejemplo, a 8 o incluso solo 4. Esto hace que la imagen sea más pequeña y se pueda procesar más rápido, a menudo con una pérdida mínima de calidad.

Cada vez que envía un mensaje a un LLM, procesa miles de millones de estos «píxeles de color», los llamados «píxeles de color». pesos (Pesos). Estos pesos son el corazón del modelo. Cuando los comprimimos, necesitamos mucho menos espacio de almacenamiento y los cálculos se ejecutan muchas veces más rápido. Esto es exactamente lo que hace posible ejecutar LLM grandes en hardware de consumo normal, como su computadora portátil o PC.

La anatomía de una abreviatura de cuantización

Un nombre como Q4_K_M Puede parecer complicado, pero es solo una cadena de información:

  • Q: significa «cuantizado».
  • El número (por ejemplo, Q4): Especifica cuántos bits tiene cada peso ahora. Uno Q4La versión utiliza 4 bits por peso. Cuanto mayor es el número, más preciso, pero también más grande y más lento es el modelo.
  • K: significa cuantización agrupada. Este es un método moderno y muy preciso. El modelo cuantifica los pesos no todos a la vez, sino en pequeños grupos (por ejemplo, 64 piezas). Los factores de escala individuales se calculan para cada grupo, lo que resulta en una precisión significativamente mayor que los métodos más antiguos.
  • 0 o 1: Estas cifras representan métodos de cuantificación más antiguos y menos precisos. Utilizan una sola escala global para todo el modelo, que es menos preciso pero a menudo más rápido. Si usted tiene una opción, K Casi siempre la mejor opción.
  • S, M, L: Estas letras indican la precisión y a menudo vienen en conjunción con el K-sufijo antes. Quieren decir Pequeño, medio o grande. Ayudan a distinguir los modelos si tienen el mismo número de bits. S representa la variante más rápida pero inexacta, mientras que L representa la más lenta pero más precisa. M es a menudo un buen compromiso.

Uno Q4_K_M es, por tanto, un «modelo cuantizado con 4 bits por peso utilizando el método moderno basado en el grupo (K) y la precisión media (M)».

Perplejidad y divergencia KL: ¿Cómo medir la calidad?

Pero, ¿cómo saber exactamente si un modelo cuantificado es lo suficientemente bueno?
Hay dos métricas importantes para esto:

Perplejidad (PPL)

perplejidad Mide qué tan bien un modelo predice el texto. Je inferior el valor PPL, el «menos confuso» es el modelo y mejor se compara con el original.

Los desarrolladores de llama.cpp lista de valores PPL para las diferentes cuantificaciones. Por ejemplo, se puede ver que un Q8_0modelo tiene casi el mismo rendimiento que el original no cuantificado, mientras que un Q2_K Ya muestra pérdidas significativas.

Divergencia de KL

Divergencia de KL Es una métrica más avanzada. Mide cuánto difiere la distribución de probabilidad de la versión cuantificada de la del modelo original.

Esto es importante porque la perplejidad puede compensar los errores. Un modelo puede tener un buen valor promedio, pero es totalmente incorrecto con palabras raras o difíciles. El Divergencia de KL detecta estos «puntos ciegos». Je inferior El valor, mejor.

Sin embargo, si todavía eres demasiado inexacto y quieres leer más sobre el tema, te recomiendo los siguientes autores y fuentes: Paul Ilvez | René Peinl | Michael Jentsch | Maarten Grootendorst


Entonces, después de que ya estamos relativamente lejos en el tema, aquí por el bien de la integridad:

Más allá de PPL+KLD: Otras métricas de evaluación

La perplejidad y la divergencia de KL son importantes, pero son solo una parte de la imagen cuando se trata de evaluar los LLM. Para tareas específicas, hay otras métricas a medida que proporcionan una declaración más precisa sobre la calidad de los textos generados.

  • Puntuación de F1: Este valor es Medios armoniosos de dos cifras clave: Precisión (¿Cuántos de los elementos detectados eran correctos?) y recordar (¿Cuántos de los elementos correctos se detectaron en absoluto?) La puntuación de F1 es particularmente común en tareas como Reconocimiento de entidades designadas (NER) se utiliza para identificar entidades específicas, como nombres o lugares en un texto.
  • Puntuación BLEU (Evaluación bilingüe): Esta puntuación es el estándar en el Traducción automática. Mide cuánto coincide la traducción generada por máquina con las traducciones de referencia creadas por expertos humanos. Cuanto más cerca esté el texto generado de los textos de referencia, mayor será el valor BLEU.
  • Puntuación ROUGE (Estudio orientado a la recuperación para la evaluación de Gisting): ROUGE es un conjunto de métricas que evalúa la superposición entre el texto generado y el texto de referencia. A menudo se asocian con Tareas resumidas utilizado. ROUGE ayuda a cuantificar qué tan bien el modelo filtra la información más importante de un texto y la reproduce en una forma nueva y concisa.

Y para todos ustedes que todavía no tienen suficiente, te dejaré éste todavía está allí. Pero luego nos alejamos bastante. ??

Tomar la decisión correcta

Ahora que conoce los términos, puede elegir los modelos sabiamente.

  • Q4_K_M Muchos desarrolladores lo recomiendan como el mejor compromiso entre tamaño, velocidad y precisión. A menudo es una excelente opción estándar.
  • Q5_K_M y Q5_K_S Proporcione aún más precisión con solo un tamaño de archivo ligeramente mayor.
  • Q6_K y Q8_0 son los pesos pesados de la cuantificación. Son casi tan buenos como los modelos originales, pero requieren significativamente más espacio de almacenamiento y son más lentos. Utilícelos cuando necesite la mejor precisión posible y su hardware puede hacerlo.

TL:DR

Al final del día, el mejor método es simplemente probar diferentes variantes. Gracias a herramientas como LM Studio o Sitios como Hugginface.co Usted puede hacer esto fácilmente sin ser disuadido por los detalles técnicos. Sin embargo, con esta información, al menos debe facilitar la preselección.