Compresión sin pérdidas para GLM-5.2: un experimento con codificación de 4 bits

Fuentes: Lossless Model Compression Experiment

Un experimento reciente evalúa una técnica de compresión sin pérdidas sobre el modelo GLM-5.2, un gran modelo de lenguaje de código abierto. Cada peso en formato BF16 ocupa 16 bits (1 de signo, 8 de exponente y 7 de mantisa); dado que los exponentes se repiten con mucha frecuencia dentro de un modelo entrenado, un conjunto reducido de valores puede cubrir la práctica totalidad de los pesos.

La prueba emplea un esquema bautizado K15, que sustituye el símbolo de 9 bits de signo y exponente por un código de 4 bits dirigido a una tabla de 15 entradas. Los símbolos de 9 bits poco frecuentes se desvían a un flujo de escape exacto, mientras que los 7 bits de mantisa se conservan sin modificar. Con todos los costes secundarios contabilizados, un escaneo completo del modelo arroja un tamaño de 11,173 bits por peso, equivalente a una reducción del 30,168 %.

De forma paralela, el experimento valida una representación alternativa de byte dividido decodificando bit a bit los 59.509 tensores BF16 del modelo, con una reducción del 24,967 % (12,005 bits por peso). Un prototipo denso de 12 bits alcanzó 0,733 veces el tiempo de GEMV en BF16 sobre una GPU A40, aunque la corrección dispersa por escapes no se integró en esa medición. El autor concluye que una aceleración sin pérdidas exacta, un contenedor K15 a escala GLM y la integración completa en producción siguen siendo tareas pendientes. La herramienta se ejecuta con un único script (uv run verify.py zai-org/GLM-5.2) que transmite el checkpoint desde Hugging Face y verifica la reconstrucción sin necesidad de GPU.