La cuantización es una técnica para reducir la precisión numérica utilizada para representar los pesos de una red neuronal y, en algunos casos, sus activaciones, con el fin de reducir el tamaño del modelo y la computación necesaria para ejecutarlo. Las redes neuronales suelen entrenarse con números de coma flotante de 32 o 16 bits, pero muchos de los valores que un modelo entrenado realmente necesita representar bien pueden aproximarse con formatos de precisión mucho menor, como enteros de 8 o incluso 4 bits, con una pérdida de precisión pequeña y, a menudo, aceptable. Aplicada a un modelo de lenguaje de gran tamaño, la cuantización puede reducir la huella de memoria de un modelo en un factor de cuatro o más en comparación con su precisión de entrenamiento original, lo que permite ejecutar modelos en hardware con mucha menos memoria de la que se requeriría de otro modo.
La cuantización como técnica general en el procesamiento de señales digitales y la informática precede con mucho al aprendizaje profundo, pero su aplicación a redes neuronales, y específicamente a modelos de lenguaje de gran tamaño, se volvió una práctica extendida a partir de principios de la década de 2020, a medida que los tamaños de los modelos crecieron hasta decenas y cientos de miles de millones de parámetros, haciendo que el despliegue a precisión completa fuera prohibitivamente costoso para muchos usuarios. El lanzamiento de modelos de pesos abiertos de gran tamaño como Llama en 2023 impulsó un aumento del interés comunitario en la cuantización específicamente, ya que permitía a individuos ejecutar modelos con decenas de miles de millones de parámetros en una sola GPU de consumo o incluso en una computadora portátil, algo que de otro modo sería inviable a precisión completa.
Cómo funciona
La cuantización mapea un rango continuo o de alta precisión de valores de pesos a un conjunto discreto más pequeño de valores de menor precisión, típicamente escalando los valores originales al rango representable del formato objetivo y redondeando. La cuantización posterior al entrenamiento aplica esta conversión a un modelo ya entrenado sin entrenamiento adicional, y es el enfoque más común y económico; puede ser tan simple como convertir cada peso de forma independiente o más sofisticado, utilizando datos de calibración para elegir factores de escala que minimicen el error introducido para el modelo específico y, a veces, por capa o por grupo de pesos. El entrenamiento consciente de la cuantización, en cambio, incorpora los efectos de la precisión reducida durante el propio proceso de entrenamiento, lo que generalmente preserva más precisión en anchos de bit muy bajos, pero requiere acceso a infraestructura y datos de entrenamiento que la mayoría de los usuarios de un modelo preentrenado no tienen. Los formatos objetivo comunes a mediados de la década de 2020 incluían la cuantización de enteros de 8 bits, que suele producir una pérdida de calidad insignificante, y formatos más agresivos de 4 bits y, a veces, inferiores, que intercambian una reducción de calidad mayor, aunque a menudo aún moderada, por un tamaño de modelo sustancialmente menor.
Aplicaciones
La cuantización es una de las técnicas principales, junto con la destilación y enfoques arquitectónicos como el mezcla de expertos, utilizadas para hacer que los modelos grandes sean prácticos de desplegar fuera de los centros de datos con abundante memoria de GPU. Sustenta la mayoría del despliegue local y de IA en el borde de modelos de lenguaje, permitiendo que los modelos de pesos abiertos se ejecuten en hardware de consumo, tarjetas aceleradoras individuales o incluso dispositivos móviles. También se utiliza en infraestructura de servicio de producción en grandes laboratorios de IA para reducir el costo de la inferencia a escala, ya que la computación de menor precisión es generalmente más rápida y económica en aceleradores modernos como hardware de GPU construido con unidades aritméticas dedicadas de baja precisión. Las herramientas de código abierto populares para cuantizar y ejecutar modelos grandes localmente, incluidos formatos y bibliotecas construidos en torno a la inferencia eficiente de enteros y de bits bajos, se convirtieron en partes generalizadas del ecosistema de pesos abiertos junto con repositorios como Hugging Face.
Compensaciones y límites
La compensación central en la cuantización es el equilibrio entre las ganancias de tamaño y velocidad frente a la pérdida de precisión, y esta pérdida no es uniforme: algunas tareas, particularmente aquellas que requieren aritmética precisa o razonamiento detallado, tienden a degradarse de manera más notable bajo una cuantización agresiva que la generación de texto abierta. Los anchos de bit extremadamente bajos, como 2 bits o menos, generalmente producen una caída de calidad sustancial y a menudo inaceptable para la mayoría de los casos de uso sin técnicas especializadas que lo compensen. Debido a que la cuantización se aplica típicamente después del entrenamiento y es comparativamente barata y rápida de realizar, a menudo es la primera y más fácil palanca a la que recurren los profesionales cuando un modelo necesita ejecutarse bajo restricciones de memoria o latencia más estrictas que las que permite la versión original a precisión completa, y se usa frecuentemente junto con técnicas de LoRA basadas en ajuste fino como QLoRA, que combinan pesos base cuantizados con un pequeño conjunto de adaptadores entrenables de bajo rango.