SALOMI es un repositorio de investigación de Microsoft que desafía el optimismo sobre cuantización de transformers a 1 bit por parámetro. Sus hallazgos muestran que 1.00 bpp (bits por parámetro) en cuantización binaria estricta degrada demasiado la calidad en modelos de lenguaje tipo GPT-2, pero técnicas como cuantización guiada por información Hessian, mixed precision y vector quantization logran mantener desempeño aceptable con 1.2-1.35 bpp, abriendo caminos reales para inferencia en CPU y dispositivos edge (spoiler: no es tan simple como poner todo en un bit).
En 30 segundos
- SALOMI es un research repo que investigó los límites reales de extreme low-bit quantization en transformers, desafiando afirmaciones optimistas sobre 1-bit perfecto
- 1.00 bpp (1 bit por parámetro) en binary quantization estricta NO mantiene calidad aceptable; el resultado es pérdida significativa en GPT-2-class language modeling
- Las técnicas que funcionan en la práctica: Hessian-guided vector quantization, mixed precision por capa, magnitude-recovery methods (logran 1.2-1.35 bpp con calidad mantenida)
- Implicaciones reales: BitNet b1.58 y BitNet 1-bit logran 38.8x menos consumo de energía, speedups 2-6x en CPUs ARM/x86, habilitando IA en edge devices sin GPU
- Errores comunes: asumir que 1-bit = literalmente 1 bit total, confundir post-training quantization (PTQ) con quantization-aware training (QAT), o pensar que la cuantización es solo thresholding
¿Qué es SALOMI? La investigación que cuestiona la cuantización extrema
SALOMI es un repositorio de investigación que examina si weights binarios o near-binary pueden igualar o superar baselines ternarios en extreme low-bit quantization de transformers. En otras palabras: ¿hasta dónde podés comprimir parámetros sin que el modelo se haga pelota?
El proyecto nació de una pregunta legítima que el campo se hizo a sí mismo: si BitNet logró entrenar un modelo de 30B parámetros en 1.58 bits por parámetro con desempeño comparable (o mejor) a FP16, ¿por qué no intentar 1-bit estricto? Parecía el próximo step obvio.
Spoiler: no lo fue (al menos no tan directo).
Lo que SALOMI encontró fue más matizado. La cuantización extrema funciona, pero tiene un techo real. Ese techo no está donde muchos creían. Y si querés acercarte a él sin sacrificar demasiada calidad, necesitás algo más sofisticado que un simple threshold.
El límite real: por qué 1.00 bpp strict binary no es suficiente
Ponele que tomás un transformer, cuantizás cada peso a exactamente un bit (dos valores posibles: -1 y +1), y lo corres. ¿Funciona? Técnicamente sí. ¿Mantiene calidad? Ahí está el problema.
SALOMI demostró que 1.00 bpp strict binary quantization causa degradación severa en GPT-2-class language modeling. El modelo sigue funcionando, pero sus predicciones se degradan notablemente. La perplejidad sube, la precisión en benchmarks baja, y de repente no es un reemplazo viable de un modelo normal.
¿Por qué pasa esto? Porque un bit por parámetro es demasiado restrictivo. El problema es que los pesos en un transformer no son uniformes. Algunos parámetros son críticos para el comportamiento semántico del modelo; otros, decorativos. Cuando les imponés a todos exactamente dos valores posibles, estás forzando a los parámetros críticos a quedar representados de forma subóptima. Es como obligar a todo el mundo a entrar en una de dos talles de ropa: algunos van a zafar, otros van a andar incómodos durante toda la jornada.
Los números concretos: mientras que cuantización ternaria (1.58 bpp) puede lograr, ponele, 92% de la performance del modelo en FP16, cuantización binaria estricta (1.00 bpp) cae a 85-88% en el mejor de los casos. Para muchas aplicaciones, esa brecha es la diferencia entre “funciona” y “no, gracias”. Te puede servir nuestra cobertura de en soluciones de seguridad empresarial.
Las técnicas que sí funcionan: 1.2-1.35 bpp en la práctica
Ahora viene lo interesante. SALOMI identificó tres aproximaciones que logran mantener calidad aceptable mientras comprimen a límites extremos:
1. Cuantización vectorial guiada por Hessian
En vez de cuantizar cada parámetro de forma aislada, los agrupa en vectores y cuantiza el vector completo. Mejor aún: usa la información Hessian (esencialmente, qué tan sensible es el modelo a cambios en ese parámetro) para guiar hacia dónde caen esos vectores cuando se cuantiza. Resultado: 1.25-1.35 bpp con pérdida de calidad mínima. El modelo “sabe” qué parámetros son importantes y no los simplifica demasiado.
2. Mixed precision adaptativo
En lugar de usar la misma bitwidth en todo el modelo, asignás diferentes bitwidths a diferentes capas según criticidad. Las capas tempranas de atención (donde se forma la comprensión semántica) podrían quedarse con 4-6 bits. Las capas de proyección en el medio, con 2-3 bits. Las capas finales, tal vez 1-2 bits. Resultado: 1.2-1.3 bpp promedio, porque la mayoría de parámetros acaban siendo muy cuantizados, pero los críticos reciben un poco más de resolución.
3. Magnitude recovery methods
Algunos parámetros capturan información que se pierde fácilmente con cuantización agresiva. Los magnitude recovery methods reconstruyen esa información después de cuantizar, usando información local del tensor. Es como: “ok, cuantizo, pero luego me aviso si algo se vio muy dañado para recuperar eso”.
Las tres técnicas pueden combinarse. El resultado práctico: 1.2-1.35 bpp de bitwidth promedio, con perplejanidad que se mantiene dentro de 5-8% del original FP16. Eso ya es viable para muchos escenarios.
Cuantización guiada por Hessian: la matriz de información
La información Hessian suena a jerga de cálculo, pero la intuición es simple. Imaginate que querés simplificar un número. ¿Cómo sabés qué tan cuidado tenés que ser?
Si el número está en un contexto donde cambios pequeños causan grandes cambios en la salida (alta sensibilidad), tenés que ser cuidadoso. Si está en un contexto donde cambios pequeños casi no importan (baja sensibilidad), podés ser brutal.
La Hessian es exactamente eso: una matriz que te dice la sensibilidad de la pérdida (loss) con respecto a cada parámetro. Valores altos = parámetro crítico. Valores bajos = parámetro decorativo. Cubrimos ese tema en detalle en en modelos populares como ChatGPT.
Así que en lugar de usar una métrica simple como error cuadrático (MSE) para decidir cómo cuantizar, SALOMI usa la información Hessian para guiar. “Eh, según la Hessian, este parámetro es crítico, así que aunque sea más caro, trato de minimizar su error de cuantización. Ese otro? Decorativo, podés redondearlo sin miedo”.
Hay variaciones modernas, como APH (Average Perturbation Hessian), que aproximan la Hessian de forma más rápida y barata. Se ha usado en vision transformers como una forma de mejorar post-training quantization, y SALOMI lo adaptó al dominio de lenguaje.
Mixed precision y vector quantization: estrategias complementarias
Mixed precision es straightforward: no todos los parámetros de un transformer merecen el mismo bitwidth. Las capas de proyección de entrada, los embeddings, y los early transformer layers donde se forma la semántica son más sensibles. Las capas finales, más robustas.
El trade-off es que hardware generic (CPU, GPU) no siempre optimiza bien para mixed precision. Pero en inferencia edge donde controlás el runtime, podés hacer que valga la pena.
Vector quantization es el complemento. En lugar de cuantizar cada parámetro como escalar independiente, agrupa N parámetros en vectores (típicamente 4-16) y cuantiza el vector como unidad. Beneficio: compresión más eficiente porque los vectores pueden representar relaciones locales. Contrabeneficio: cálculo es un poco más complejo.
Microsoft implementó VPTQ (Vector Product Quantization) para esto. Los números: en un modelo 30B, mixed precision + vector quantization logra 1.3 bpp con menos de 5% pérdida de perplejanidad. Eso es el estado del arte práctico en este momento (2026).
Implicaciones prácticas: inferencia en CPU y edge devices
Porque acá es donde el rubber meets the road. ¿Para qué sirve todo esto? Para ejecutar LLMs sin GPU.
Tomá BitNet b1.58, el modelo de Microsoft con 1.58 bits por parámetro. Un 30B model cuantizado a 1.58 bpp pesa ~6 GB en disco. Un 30B en FP16 pesa ~60 GB. En CPU moderno (ARM o x86), ese modelo 1.58-bit corre 2-6x más rápido que la versión FP16 porque: menos datos que mover de memoria, menos cálculo en punto flotante (integer quantization es más barato), menos caché invalidation. Ya lo cubrimos antes en en la arquitectura de modelos GPT.
El consumo de energía es espectacular: según el anuncio de BitNet, la cuantización reduce el consumo a 38.8x menos en un modelo 30B. Eso significa que un dispositivo edge que normalmente necesitaría 500W ahora necesita ~13W. Repentinamente, correr un LLM en una Raspberry Pi o en un teléfono es… difícil pero posible.
¿Quién se beneficia? Edge AI (chips embarcados en autos, IoT), dispositivos móviles sin conectividad, servidores que no tienen GPU, datacenters en regiones donde electricidad es cara. PrismML sacó Bonsai 8B cuantizado, AppleML experimenta con cuantización en iPhone, y startups en Latinoamérica están empezando a mirar esta tecnología para deployments offline.
Tabla comparativa: técnicas de cuantización extrema
| Técnica | Bitwidth promedio | Pérdida de calidad | Velocidad en CPU | Implementación |
|---|---|---|---|---|
| Binary estricto (1.00 bpp) | 1.00 | 12-15% | 6-8x | Threshold simple, bajo costo |
| Ternario (1.58 bpp) | 1.58 | 5-8% | 4-6x | BitNet b1.58, producción |
| Hessian-guided vector (1.25-1.35 bpp) | 1.3 | 4-6% | 4-6x | SALOMI, research |
| Mixed precision + Vector (1.2-1.3 bpp) | 1.25 | 3-5% | 3-5x | VPTQ, research |
| 4-bit uniform | 4.0 | 1-2% | 1-2x | GPTQ, producción |

Errores comunes al interpretar cuantización extrema
Error #1: Confundir 1-bit con literalmente 1 bit total
Cuando dicen “1-bit model”, NO significa que el modelo pesa 1 bit en total. Significa cada parámetro ocupa ~1 bit (más overhead por estructura, índices, etc.). Un 30B model 1-bit sigue siendo ~6-7 GB en disco. Si fuera literalmente 1 bit, sería impossiblemente pequeño. Aclaración importante porque marketing muchas veces es vago al respecto.
Error #2: Asumir que PTQ y QAT son equivalentes
Post-training quantization (PTQ) significa: tomás un modelo ya entrenado, lo cuantizás al final, y lo mandás. Rápido, barato, pero menos óptimo. Quantization-aware training (QAT) significa: simulás la cuantización DURANTE el entrenamiento, así el modelo “aprende” a convivir con pesos cuantizados. Mucho más caro, pero resultados mejores. SALOMI usa técnicas que aproximan QAT en post-training, pero siguen siendo PTQ fundamentalmente. No son lo mismo.
Error #3: Pensar que la cuantización es solo thresholding
Gente no técnica a veces piensa: “ok, si el peso es mayor a 0, lo hago 1. Si es menor, lo hago -1”. Fin. Eso es thresholding naive y es horrible. La cuantización real usa information theory, busca puntos óptimos, considera histogramas de pesos, calcula quantization error, aplica técnicas como KL-divergence matching para elegir los boundary points correctos. No es mágico, pero es ciencia seria.
Qué está confirmado / Qué no
Confirmado:
– Binary quantization estricta (1.00 bpp) causa degradación inaceptable en GPT-2-class models (demostrado en SALOMI, reproducible)
– Técnicas Hessian-guided + mixed precision logran 1.2-1.35 bpp con 4-6% pérdida (papers publicados, código disponible)
– BitNet b1.58 funciona en producción: Microsoft ha confirmado desempeño comparable a FP16 en benchmarks (MMLU, ARC, HellaSwag)
– Speedups en CPU: 2-6x en ARM/x86 verificado en hardware real (no simulación)
Pendiente:
– Si Hessian-guided vector cuantization escala a 70B+ models manteniendo las mismas garantías de calidad (SALOMI testeó hasta 30B; extrapolación es especulativa) En en otros modelos como Gemini profundizamos sobre esto.
– Si mixed precision + vector quantization es lo suficientemente eficiente en GPU modern para justificar la complejidad (implementación no está optimizada en cuDNN todavía)
– Viabilidad comercial en dispositivos móvil reales: BitNet b1.58 logra buena velocidad en Qualcomm SnapDragon X, pero no hay datos publicados de Snapdragon regular o Apple Silicon M-series
– Si cuantización a 1-bit funciona bien en fine-tuning (adaptación a nuevas tareas después de cuantizar). Los papers hablan de inferencia, no fine-tuning post-cuantización.
Preguntas Frecuentes
¿Se puede usar un modelo cuantizado a 1-bit en producción?
Depende del use case. Si necesitás calidad igual a FP16, no. Si tolerás 5-8% pérdida de precisión pero ganás 2-6x speedup + 38x menos consumo, sí. BitNet b1.58 ya está en producción en algunos sitios. 1.00 bpp strict binary, aún no.
¿Puedo ejecutar un LLM 30B en mi CPU sin GPU?
Con cuantización extrema (1.3-1.58 bpp), sí, aunque lentamente. Un 30B en 1.58 bpp pesa ~6 GB. Una CPU moderna (16+ cores) lo ejecuta, pero el token throughput será bajo (~5-20 tokens/segundo en CPU, vs 100-500 en GPU). Para chat interactivo, es lento pero funciona. Para batch processing, acceptable.
¿Qué es la matriz Hessian en cuantización?
Una matriz de sensibilidad: te dice para cada parámetro, qué tanto afecta el error de cuantización a la pérdida total del modelo. Parámetros con alto valor Hessian son críticos; bajos valores, decorativos. Sirve para cuantizar inteligentemente: menos bit para los no-críticos, más para los críticos.
¿Puedo cuantizar un modelo ya entrenado o necesito entrenar desde cero?
Puedes cuantizar post-entrenamiento (PTQ) en minutos. Resultados: 5-10% pérdida típicamente. Si necesitás mejor calidad, puedes hacer QAT (fine-tuning durante cuantización), que toma horas/días pero logra 2-3% pérdida. SALOMI usa técnicas que hacen PTQ más cercano a QAT sin el costo de re-entrenar.
¿SALOMI es una herramienta que puedo descargar o es solo research?
SALOMI está disponible en GitHub como repositorio de investigación. Incluye código para reproducir los experimentos, pero no es una herramienta lista para producción. Es más un set de técnicas documentadas y un benchmark para entender los límites reales de extreme quantization. Puedes usarlo para investigación o como base para tu propia implementación.
Conclusión
SALOMI cambió la conversación sobre cuantización extrema de “¿podemos llegar a 1-bit?” a “¿cuál es el costo real de cada paso?”. Lo que encontró fue más maduro que el hype: no hay solución mágica de 1-bit puro, pero 1.2-1.35 bpp con técnicas sofisticadas (Hessian-guided, mixed precision, vector quantization) funciona bien en la práctica.
Eso importa porque abre puerta a IA en edge. Subís un modelo 30B cuantizado a dispositivo con 8GB RAM, arrancá en CPU sin GPU, y ejecutá. No es rápido, pero es viable. Para aplicaciones offline (análisis local, privacidad, bajo costo), eso es game-changer (sin exagerar).
¿Qué hacer si estás experimentando? Probá SALOMI si buscás entender los límites teóricos. Usá BitNet b1.58 si necesitás producción hoy. Montoreá la comunidad porque en 2026 se están probando nuevas técnicas semanalmente. Y si trabajás en infraestructura o edge, esta es la onda: menos GPU, más CPU eficiente, más privacía.
