- DFloat11 es un framework de compresión sin pérdida que reduce en un 30% el tamaño de los modelos de lenguaje grandes (LLM) mientras mantiene una salida idéntica bit a bit al modelo original
- Aprovecha la baja entropía de la representación de pesos BFloat16 para mejorar las ineficiencias de los formatos de almacenamiento existentes
- Para una inferencia eficiente en GPU, se desarrollaron kernels de GPU personalizados que permiten una descompresión en línea rápida
- Los experimentos con modelos recientes como Llama-3.1, Qwen-2.5 y Gemma-3 verifican una reducción del 30% en el tamaño del modelo y el mantenimiento exacto de la salida
- Con un presupuesto fijo de memoria GPU, permite una longitud de contexto entre 5.3 y 13.17 veces mayor que la de los modelos sin comprimir
70% del tamaño, 100% de exactitud: compresión sin pérdida de LLM para una inferencia eficiente en GPU
- El tamaño de los modelos de lenguaje grandes (LLM) ha aumentado drásticamente, lo que representa un gran desafío para su despliegue eficiente en hardware con recursos limitados
- Dynamic-Length Float (DFloat11) es un framework de compresión sin pérdida que reduce en un 30% el tamaño de los LLM mientras mantiene una salida idéntica bit a bit
- Aprovecha la baja entropía de la representación de pesos BFloat16 para mejorar las ineficiencias de los formatos de almacenamiento existentes
- Aplica codificación entrópica para asignar una codificación de longitud dinámica a los pesos según su frecuencia, logrando una compresión óptima en términos de información
- Para una inferencia eficiente, se desarrollaron kernels de GPU personalizados que permiten una descompresión en línea rápida
Diseño de DFloat11
- Descompone las tablas de consulta (LUT) intensivas en memoria en LUT comprimidas que caben en la SRAM de la GPU
- Desarrolla un kernel de dos etapas que ajusta las posiciones de lectura/escritura de los hilos mediante variables auxiliares ligeras
- Minimiza la latencia mediante la descompresión a nivel de bloque del transformador
Resultados experimentales
- En modelos recientes como Llama-3.1, Qwen-2.5 y Gemma-3, DFloat11 verifica una reducción del 30% en el tamaño del modelo y el mantenimiento exacto de la salida
- En comparación con alternativas que descargan parte del modelo sin comprimir al CPU, logra un throughput entre 1.9 y 38.8 veces mayor
- Con un presupuesto fijo de memoria GPU, permite una longitud de contexto entre 5.3 y 13.17 veces mayor que la de los modelos sin comprimir
Ventajas de DFloat11
- Hace posible la inferencia sin pérdida de Llama-3.1-405B, modelo de 810GB, en un solo nodo con 8x80GB GPU
- El código y el modelo están disponibles en una URL pública
1 comentarios
Comentarios de Hacker News
El alto rango dinámico de
bfloat16casi nunca se aprovechabfloat16es de 10-12 bitsfpzipde LLNL ydietgpude Facebook, entre otrosrANSes más eficiente que la codificación Huffman en conjuntos de instrucciones SIMDPosibilidad de ejecutar un modelo de 405B parámetros en un solo nodo
Agradecimiento por el rápido avance de los modelos de ML/transformers
llama.cppaprovecha biencublasCuando termine la guerra de formatos de pesos, el hardware podrá darles soporte
En casos reales de uso de agentes, es difícil equilibrar calidad, costo y rendimiento
dfloat11podría ayudar a reducir costosTrabajo en
xmad.aiEl ritmo del avance tecnológico es rápido
DFloat11ofrece entre 1.9 y 38.8 veces más rendimiento que descargar a CPU modelos sin comprimirMe pregunto si los LLM están limitados por el ancho de banda de memoria
Descubrí una forma de comprimir más las imágenes usando LLM
Me pregunto en qué se diferencia de
ZipNNCreo que usar ternario en lugar de binario podría lograr una mayor tasa de compresión