Introducción

Los Modelos Extensos de Lenguaje (LLMs, por sus siglas en inglés) como GPT o LLaMA han revolucionado el procesamiento del lenguaje natural, permitiendo avances significativos en tareas como traducción automática, generación de texto, respuestas a preguntas y más. Sin embargo, estos logros han venido acompañados de enormes requerimientos computacionales y de almacenamiento, lo que limita su despliegue en dispositivos con recursos restringidos como teléfonos móviles, dispositivos IoT o incluso servidores con presupuesto ajustado.

Para abordar estas limitaciones, la compresión de modelos se ha convertido en un campo de investigación fundamental. El objetivo es reducir el tamaño de los modelos y su costo de inferencia sin sacrificar significativamente su rendimiento. Existen diversas técnicas para lograr esto, entre ellas la cuantización, la poda de parámetros, la distilación de modelos y, más recientemente, el uso de redes tensoriales.

Las redes tensoriales representan una aproximación matemática particularmente prometedora y elegante proveniente del mundo cuántico. Se basan en la idea de descomponer grandes matrices y tensores que componen los pesos de los modelos en representaciones más compactas y estructuradas. Esto no solo reduce la cantidad de parámetros almacenados, sino que también permite acelerar las operaciones de inferencia gracias a una menor complejidad algorítmica en algunas situaciones.

Técnicas como la descomposición CP (CANDECOMP/PARAFAC), la descomposición Tucker y las redes tensoriales tipo Tensor Train (TT) han mostrado resultados prometedores al aplicarse a capas densas y convolucionales de redes neuronales profundas, y recientemente también a modelos de atención como los Transformers. Estas aproximaciones pueden reducir drásticamente la huella de memoria sin incurrir en pérdidas sustanciales de precisión, siempre que se configuren adecuadamente.

¿Qué son las redes tensoriales?
Las redes tensoriales son representaciones compactas de objetos multilineales de alta dimensionalidad. Esta tecnología ha sido ampliamente utilizada en el contexto cuántico dada su capacidad de representar eficientemente y simular clásicamente sistemas cuánticos que serían imposibles de manejar con las técnicas usuales. A través de una factorización estructurada, como la descomposición de productos tensoriales (Tensor Train, Tucker, CP, etc.), se pueden representar matrices o tensores de gran tamaño utilizando un número significativamente menor de elementos.

cuantica blog matriz

Esta representación resulta ideal para describir las matrices de pesos de redes neuronales profundas, ya que permite explotar redundancias y estructuras latentes presentes en los datos. Gracias a estas descomposiciones, es posible convertir operaciones matriciales de gran escala en secuencias de operaciones más simples y eficientes, lo que reduce tanto el uso de memoria como el tiempo de cómputo en algunas situaciones. Además, el uso de estas representaciones facilita la implementación en hardware especializado como GPUs o TPUs, y permite mantener un rendimiento competitivo en tareas complejas de aprendizaje automático incluso en escenarios con restricciones severas de recursos.

Cuantica blog capa

Motivación para la compresión de LLMs
Los LLMs poseen cientos de millones o incluso billones de parámetros, lo que los hace difíciles de desplegar en dispositivos edge o incluso en servidores con recursos limitados. La compresión de modelos mediante redes tensoriales permite:

  • Reducir el uso de memoria.
  • Facilitar la transferencia y almacenamiento.
  • Acelerar la inferencia al disminuir la complejidad computacional para determinadas configuraciones.
  • Disminuir el consumo energético durante el entrenamiento e inferencia para ciertas estructuras.
  • Hacer viable el uso de modelos en escenarios con conectividad limitada o en tiempo real, como dispositivos IoT, smartphones o robots autónomos.

Entre las técnicas más comunes de compresión se encuentran la cuantización, el pruning, la factorización de matrices y el conocimiento destilado. Estas técnicas pueden aplicarse por separado o en combinación para lograr un equilibrio entre eficiencia y precisión. La selección de la técnica adecuada depende del caso de uso, el entorno de despliegue y los requisitos de rendimiento.

Técnicas de compresión mediante redes tensoriales

  1. Tensor Train (TT): Descompone un tensor en una cadena de tensores de tercer orden. Se ha aplicado con éxito en la compresión de capas lineales y embeddings.
Técnicas de compresión mediante redes tensoriales<br />
Tensor Train (TT)<br />

2- CP Decomposition: Representa un tensor como suma de componentes rank-1. Es útil para tareas de compresión extrema pero puede perder precisión.

3- Tucker Decomposition: Generaliza la SVD a tensores. Proporciona una representación jerárquica que permite equilibrar entre compresión y fidelidad.

Aplicaciones en arquitecturas LLM

Aplicaciones en arquitecturas LLM<br />
  • Compresión de matrices de atención: Las matrices WQ, WK y WV pueden representarse mediante descomposiciones tensoriales. Estas matrices suponen una gran parte del tamaño del modelo, especialmente en arquitecturas Transformer con múltiples cabezas de atención. Al descomponer estas matrices en componentes de menor rango, como en la descomposición de Tucker o Tensor Train (TT), se reduce significativamente la cantidad de parámetros necesarios, disminuyendo el uso de memoria para su almacenamiento.
  • Compresión de MLP: Las redes neuronales multicapa (MLP), ampliamente utilizadas tanto en los bloques FFN de los Transformers como en etapas de salida para tareas de clasificación, también pueden beneficiarse de la compresión mediante descomposiciones tensoriales. Las capas densas que componen las MLP pueden ser descompuestas usando técnicas como CP, Tucker o Tensor Train, reduciendo drásticamente el número de parámetros. Esta optimización permite desplegar modelos en escenarios con alta demanda de eficiencia, manteniendo una buena capacidad de representación.

Estas aproximaciones forman parte de una estrategia más amplia de optimización estructural, que busca mantener el rendimiento del modelo mientras se adapta a las restricciones del entorno de ejecución.

 

Ventajas y desafíos
Ventajas:

  • Alta tasa de compresión sin necesidad de retraining completo: Las redes tensoriales permiten reducir significativamente el número de parámetros de un modelo sin necesidad de reentrenarlo desde cero. En muchos casos, basta con una reafinación leve (healing) sobre el modelo comprimido, lo que ahorra tiempo y recursos computacionales.

     

  • Posibilidad de adaptación a diferentes niveles de fidelidad: Las descomposiciones tensoriales permiten ajustar el rango de compresión, lo que ofrece flexibilidad para adaptar el modelo a distintos escenarios. Es posible generar versiones ligeras para dispositivos edge o versiones más completas para entornos de servidor, manteniendo un equilibrio entre precisión y eficiencia.

     

  • Interpretabilidad potencial de las señales tensoriales: Al descomponer un modelo en sus componentes tensoriales, es posible analizar cada señal lógica tensorial de forma separada. Esto abre la puerta a una mejor interpretabilidad del modelo, ya que cada señal puede asociarse con una dimensión específica de la información (por ejemplo, temporal, espacial o semántica), facilitando la comprensión de cómo se procesa la información internamente.

     

Desafíos:

  • Selección óptima del rango tensorial: Determinar el rango adecuado para la descomposición es un proceso crítico que impacta directamente en el rendimiento del modelo. Un rango muy bajo puede degradar la calidad del modelo, mientras que un rango demasiado alto limita los beneficios de la compresión. Esta selección muchas veces requiere experimentación empírica.

     

  • Coste computacional del entrenamiento en la forma comprimida: Aunque la representación comprimida reduce el tamaño del modelo, entrenarlo directamente en forma tensorial puede ser computacionalmente costoso debido a la complejidad de las operaciones involucradas. Además, algunas optimizaciones convencionales no se aplican directamente a estas formas.

     

  • Falta de estandarización en librerías y herramientas: Aunque existen herramientas como Tensorly o TensorNetwork, la adopción generalizada de redes tensoriales en frameworks como PyTorch o TensorFlow es todavía limitada. Esto complica la integración de estas técnicas en flujos de trabajo ya establecidos y puede requerir implementaciones personalizadas. Además, limita el uso eficiente de la reutilización de cálculos intermedios y diversas aceleraciones tensoriales.

Trabajo del ITCL en el campo

El ITCL lleva cerca de un año trabajando profundamente en redes tensoriales, y varios meses en la compresión de modelos con redes tensoriales. En este campo, el equipo de computación cuántica, en conjunto con el equipo de agentes IA, ha sido capaz de comprimir modelos LLMs y traductores de texto con estas técnicas y nuevas técnicas propias desarrolladas. En este aspecto, el ITCL busca poder introducir modelos complejos en dispositivos cuanto más modestos mejor, para su posible uso en diversos proyectos y contextos.

Conclusión
La compresión de LLMs mediante redes tensoriales ofrece un enfoque prometedor para escalar modelos sin comprometer su rendimiento. Al permitir una representación eficiente de los pesos, estas técnicas abren la puerta a una democratización del uso de modelos avanzados en entornos con recursos limitados. El futuro probablemente verá una integración más estrecha entre el diseño arquitectónico de modelos y estas representaciones comprimidas.