Por: Gino Marín
Publicado el: 28 de agosto de 2026
Colaboración Académica para la Universidad CENFOTEC

Sacá una foto con el celular y guardala con todos sus colores. Ahora guardala otra vez, pero obligando a la imagen a usar apenas 256 colores en total. Poné las dos versiones una al lado de la otra en la pantalla, a tamaño normal. Vas a costarte distinguirlas. Se ven casi iguales.

Ahí, sin darte cuenta, acabás de ver cuantización. Y acabás de ver también las dos caras del asunto: la buena, que es que casi no se nota, y la que aparece cuando mirás de cerca, que es donde está todo lo interesante.

Esta es la última nota de la serie, y es donde las dos anteriores se juntan. En la primera vimos que las computadoras guardan los números en una regla despareja y que cada número carga una miga de error. En la segunda vimos que un modelo de inteligencia artificial es un tablero con millones o miles de millones de perillas, y que cada perilla es uno de esos números, y que todos juntos ocupan una montaña de memoria. Ahora la pregunta es directa: cómo se achica esa montaña sin romper el modelo.

Bajarle los colores a una foto, pero con los pesos

Cuantizar es cambiar un montón de valores finos por unos pocos valores gruesos. Es esa la idea entera. En una foto, esos valores son colores: pasás de millones de tonos posibles a un puñado. En un modelo, esos valores son los pesos, las perillas que aprendió durante el entrenamiento. En vez de guardar cada peso con toda su precisión, que cuesta cuatro bytes, lo redondeás a una grilla mucho más chica de valores posibles, que puede costar un solo byte. Ahí está la mayor parte del ahorro.

La imagen de la foto sirve de punta a punta, así que quedémonos con ella. Cuando reducís una imagen a 256 colores, lo que hace el programa es armar una paleta chica y mandar cada píxel al color de la paleta que más se le parece. El cielo, que tenía cientos de azules apenas distintos, pasa a tener cinco. Muchos tonos que antes eran diferentes ahora comparten el mismo lugar en la paleta. Con los pesos del modelo pasa exactamente lo mismo: muchos valores parecidos terminan cayendo en la misma casilla de la grilla.

Y como con los colores, el resultado depende de algo que es fácil pasar por alto: de cuán bien elegiste las 256 casillas. Una paleta bien armada, con los colores puestos donde de verdad hay tonos en la foto, da un resultado casi idéntico al original. Una paleta mal armada, con casillas desperdiciadas en colores que la foto ni tiene, deja el cielo lleno de escalones. Toda la diferencia entre una cuantización buena y una desastrosa está en dónde ponés las pocas casillas que te quedan.

 

El colapso, y dónde se ve

Cuando dos valores distintos caen en la misma casilla, dejan de distinguirse. Colapsaron. Ese colapso es el corazón de la cuantización, y es inevitable: si tenés menos casillas que valores originales, por fuerza varios van a compartir casilla, y al recuperarlos ya no hay forma de saber cuál era cuál.

En la foto ese colapso se ve clarísimo, pero no a tamaño normal. Se ve cuando ampliás. Los degradados suaves, un cielo que pasa de celeste a azul, una sombra que se apaga de a poco, el brillo tornasolado de una pluma, se parten en bandas, en escalones de color bien marcados. Ese efecto tiene nombre en fotografía, se llama «banding», y es exactamente el colapso de valores dibujado en píxeles. Donde antes el color cambiaba de forma continua, ahora cambia de a saltos.

En el modelo ocurre lo mismo, solo que con números en vez de colores. Y no todas las partes sufren igual. Los valores que estaban bien separados aguantan casi intactos. Los que se rompen son los que vivían amontonados, apenas distintos entre sí, porque son los que terminan compartiendo casilla. Cuantizar bien no es evitar el colapso, que es imposible. Es lograr que colapsen los valores que menos importan, y que las casillas queden donde están los que de verdad deciden la respuesta.

El mapa: dónde arranca y dónde termina la grilla

Para armar la grilla hay que decidir dos cosas nada más. Dónde empieza y dónde termina. Es decir, cuál es el valor más chico y cuál el más grande que la grilla va a cubrir. Con esos dos límites, el espacio del medio se reparte en casillas iguales, y cada peso salta a la casilla más cercana. Elegir bien esos dos límites es casi todo el trabajo, y tiene un nombre propio: calibración.

Acá aparece una dificultad fina. Para los pesos, calibrar es fácil. Un modelo ya entrenado tiene sus perillas fijas, así que mirás la capa y ya sabés su valor más chico y su valor más grande. Pero los pesos no son lo único que hay que cuantizar. También están los números que viajan de capa en capa mientras el modelo trabaja, y esos no son fijos. Dependen de lo que le entra. Una foto oscura y una foto brillante producen números con rangos distintos. No podés saber ese rango mirando el modelo quieto. Tenés que verlo funcionando, pasarle un puñado de ejemplos representativos y anotar hasta dónde llegan los números en la práctica.

Y hay una trampa que arruina la calibración: los valores extremos, los «outliers». Alcanza con que un solo número se dispare muy lejos del resto para que la grilla tenga que estirarse hasta ese extremo. El problema es que, al estirarse, las casillas quedan tan separadas que el grueso de los valores, que vivía apretado en el medio, se queda casi sin resolución. Un valor raro y solitario le arruina la precisión a todos los demás. Saber qué hacer con esos outliers, si estirar la grilla o recortarlos, es una de las decisiones que separan una cuantización profesional de una ingenua.

Dos caminos, y una cuenta que cierra

Hay dos formas de encarar todo esto. La primera es entrenar el modelo normalmente y cuantizarlo después, al final, como último paso. Es rápida y barata, y la mayoría de las veces alcanza. La segunda es entrenar el modelo ya sabiendo que va a terminar cuantizado, dejándolo practicar desde el principio con las casillas puestas, para que aprenda a acomodar sus perillas de manera que sobrevivan al redondeo. Es más cara y más lenta, pero cuando cada punto de precisión cuenta, rinde. La primera se usa por defecto. La segunda se saca cuando la primera no alcanza.

Hay un ajuste más, y no es menor, que muestra cuánto importan los detalles. En vez de usar una sola grilla para toda una capa, se puede usar una grilla distinta para cada canal de esa capa. Suena a tecnicismo, pero el efecto es grande. Raghuraman Krishnamoorthi, en el whitepaper de cuantización de Google, mostró que pasar a una grilla por canal recupera casi toda la precisión que se pierde con una grilla única, y sin costo de entrenamiento. Es de esas decisiones que parecen un detalle y no lo son.

¿Y cuánto se gana con todo esto? La cuenta cierra sorprendentemente bien. Pasar los pesos de cuatro bytes a un byte reduce el tamaño del modelo a la cuarta parte. Cuatro veces más chico. Y con una calibración cuidada, la pérdida de precisión suele quedar por debajo del uno por ciento, un número que en la práctica casi nadie nota. Un modelo que antes no entraba en un teléfono, de golpe entra. Uno que costaba una fortuna correr, de golpe cuesta la cuarta parte.

Y hay un segundo premio, menos obvio que el ahorro de memoria. Las computadoras hacen cuentas con números enteros mucho más rápido, y gastando mucha menos energía, que con números de punto flotante. La aritmética de enteros es más simple de construir en el silicio de un chip. Así que cuando cuantizás los pesos de flotantes a enteros, el modelo pesa menos y además piensa más rápido y consume menos batería. En un teléfono, esa diferencia es la que decide si una función responde al instante o se arrastra.

Nada de esto es una promesa optimista de folleto. Song Han, hoy profesor en el Instituto Tecnológico de Massachusetts, mostró en su trabajo Deep Compression que un modelo se puede comprimir muchísimo sin tirar su precisión a la basura, siempre que se elijan con cuidado las casillas. Benoit Jacob y su equipo en Google llevaron esas ideas al terreno práctico, al que corre en los teléfonos que tenés en el bolsillo. La técnica dejó de ser un experimento hace rato. Hoy es rutina.

Queda una última advertencia, la que hay que grabarse. Cuantizar bien no se confía, se mide. Nunca alcanza con suponer que el modelo achicado sigue funcionando. Hay que ponerlo a prueba con datos de verdad y comparar su respuesta contra la del original, número contra número, antes de mandarlo al mundo. La cuantización promete mucho y casi siempre cumple, pero el casi es justo la parte que hay que verificar.

¿Perdés calidad al cuantizar? La respuesta corta: sí. La respuesta larga: perdés lo que igual no ibas a notar, los tonos apretados que nadie iba a distinguir, y a cambio te queda un modelo que entra donde antes no cabía. Como con la foto de 256 colores, el arte no está en no perder nada. Está en perder solo lo que no ibas a mirar.

Referencias

– Song Han, Huizi Mao, William J. Dally. Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding. ICLR, 2016. https://arxiv.org/abs/1510.00149

– Benoit Jacob et al. Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference. CVPR, 2018. https://arxiv.org/abs/1712.05877

– Raghuraman Krishnamoorthi. Quantizing Deep Convolutional Networks for Efficient Inference: A Whitepaper. Google, 2018. https://arxiv.org/abs/1806.08342