¿Qué es la cuantización en el aprendizaje automático?

La cuantización permite que los modelos de aprendizaje automático utilicen menos memoria y potencia de cálculo para acelerar las respuestas y reducir los costes. Sin embargo, también puede causar que la inferencia de la IA sea menos precisa.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Definir la cuantización
  • Describir cómo la cuantización da como resultado más eficiencia pero menos precisión
  • Entender por qué y cuándo se utiliza la cuantización en la IA

Copiar enlace del artículo

¿Qué es la cuantización en el aprendizaje automático?

La cuantización es una técnica para aligerar la carga de la ejecución de modelos de aprendizaje automático e inteligencia artificial (IA). Su objetivo es reducir la memoria necesaria para la inferencia de la IA. La cuantización es especialmente útil para los modelos lingüísticos de gran tamaño (LLM).

En general, la cuantización es un proceso que convierte una señal digital de un formato muy preciso en un formato que ocupa menos espacio y, como resultado, es algo menos preciso. El objetivo es hacer que la señal sea más pequeña para que se pueda procesar más rápido. En el aprendizaje automático y la IA, la cuantización tiene como objetivo hacer que los modelos se ejecuten más rápido, que se utilice menos potencia de cálculo o ambas cosas. En última instancia, esto permite a los usuarios ejecutar modelos de IA en hardware menos costoso y sacrificar mínimamente la precisión.

Para visualizar cómo esto hace que la inferencia de la IA ocupe menos memoria, imagina un tubo de cierto ancho, quizá de un par de pulgadas, e imagina que alguien necesita hacer rodar muchas canicas por el tubo. Si se hacen rodar canicas grandes, solo dos o tres pueden pasar por un punto del tubo a la vez. Si se hacen rodar canicas pequeñas, pueden pasar muchas más a la vez. Por lo tanto, el uso de canicas pequeñas significa que más canicas pueden pasar más rápido por el tubo.

La cuantización convierte grandes canicas en pequeñas canicas. La información necesaria para calcular las inferencias ocupa menos espacio en la memoria; por lo tanto, más cantidad de información puede pasar más rápido, y el cálculo de la IA se hace más eficiente.

¿Por qué utilizar la cuantización?

Los modelos que se utilizan para el aprendizaje automático (que es un tipo de IA) son sumamente complejos. Utilizan enormes cantidades de memoria y potencia de cálculo. De hecho, la popularidad de la IA ha conllevado problemas de energía: los servidores que ejecutan modelos avanzados de aprendizaje automático necesitan enormes cantidades de electricidad. En algunos casos, la red eléctrica disponible al público no puede suministrar toda esta energía. Esto ha dado lugar a una serie de soluciones creativas, desde un mayor uso de energía solar hasta la reactivación de centrales nucleares que estaban fuera de servicio.

La cuantización tiene como objetivo reducir la carga computacional del otro lado, para que los propios modelos de IA utilicen menos energía. Para los desarrolladores y las organizaciones que ejecutan modelos de IA, esto puede ayudar a que la IA resulte mucho más rentable, ya que no todo el mundo puede reactivar centrales nucleares fuera de servicio.

¿De qué manera afecta la cuantización a la precisión?

Para entender por qué la cuantización afecta a la precisión, imagina que le pides una dirección a alguien. La persona podría brindar una lista de calles paso a paso, los nombres de cada calle y los nombres de las calles que están antes y después de cada calle. Esta serie de instrucciones es muy precisa, pero puede ser difícil de recordar. Por otro lado, alguien podría decir "segunda a la izquierda, cuarta a la derecha, primera a la izquierda". Esto es mucho más fácil de recordar, aunque menos preciso.

En la IA, la cuantización reduce la cantidad de bits utilizados por los puntos de datos. La pérdida de bits significa que se puede perder cierta precisión. El resultado puede implicar más errores en el resultado (al igual que un conductor podría identificar erróneamente la "cuarta a la izquierda" en el ejemplo anterior sin el nombre de la calle). Sin embargo, hay diferentes tipos de cuantización, algunos de los cuales son más precisos que otros.

En la práctica, las empresas o los usuarios tienen casos de uso en los que el modelo de IA cuantizado es "suficientemente bueno". El caso de uso a menudo no necesita resultados muy precisos. Un ejemplo de un caso de uso de este tipo es el seguimiento de las tendencias y las menciones en las redes sociales sin necesidad de puntos de datos exactos, centrándose en el sentimiento general y en la interacción.

¿Qué es la cuantización posterior a la formación (PTQ)?

La cuantización posterior a la formación (PTQ) es la aplicación de la cuantización a modelos preexistentes que ya fueron formados. La PTQ se puede aplicar con relativa rapidez a los modelos formados. Se diferencia del entrenamiento consciente de cuantización (QAT), que se hace antes de entrenar un modelo y requiere bastante potencia de cálculo. La PTQ convierte números de punto flotante en números de punto fijo.

¿Qué es la representación de coma flotante?

La representación de punto flotante es un método muy preciso para representar números que se suelen utilizar en el aprendizaje automático y el aprendizaje profundo. Los números almacenados a través de la representación de punto flotante ocupan una cantidad determinada de bits, 16 o 32 (según el tipo de representación de punto flotante utilizado).

Muchos tipos de cuantización reducen esto a 8 bits. El resultado es que los números cuantizados ocupan la mitad o una cuarta parte de ese espacio en la memoria. Por supuesto, con menos bits, los valores cuantizados no son tan precisos como los números de punto flotante, al igual que un número con menos decimales (p. ej., 3,14) es menos preciso que un número con más decimales (p. ej., 3,141592654).

¿Qué es la cuantización del peso con reconocimiento de activación (AWQ)?

La cuantización del peso con reconocimiento de activación (AWQ) es una técnica cuyo objetivo es equilibrar las mejoras de eficiencia en la precisión. La AWQ protege de la alteración a las ponderaciones más importantes dentro de un modelo (las ponderaciones son valores que miden la relación entre los elementos de un conjunto de datos). Piensa en el ejemplo anterior de las indicaciones. Imaginemos que en lugar de "segunda a la izquierda, cuarta a la derecha, primera a la izquierda", el que nos da las indicaciones dice "segunda a la izquierda, a la derecha en la calle 12, luego la primera a la izquierda". Tiene información más precisa, pero sigue siendo una lista de instrucciones relativamente corta (y fácil de recordar). La AWQ funciona de manera similar, manteniendo algunos enteros de un modelo sin cambios y alterando otros.

Cloudflare Workers AI es compatible con varios modelos lingüísticos de gran tamaño (LLM) que incorporan tanto la cuantización de punto flotante como la AWQ, por lo que son más ligeros en cuanto a memoria y utilizan menos potencia de cálculo, al mismo tiempo que conservan la precisión. Para obtener más información, consulta la documentación de Cloudflare Workers AI.