Recent work in machine learning community proposed multiple methods for performing lossy compression (quantization) of large matrices. This quantization is important for accelerating matrix multiplication (main component of large language models), which is often bottlenecked by the speed of loading these matrices from memory. Unlike classical vector quantization and rate-distortion theory, the goal of these new compression algorithms is to be able to approximate not the matrices themselves, but their matrix product. Specifically, given a pair of real matrices $A,B$ an encoder (compressor) is applied to each of them independently producing descriptions with $R$ bits per entry. These representations subsequently are used by the decoder to estimate matrix product $A^\top B$. In this work, we provide a non-asymptotic lower bound on the mean squared error of this approximation (as a function of rate $R$) for the case of matrices $A,B$ with iid Gaussian entries. Algorithmically, we construct a universal quantizer based on nested lattices with an explicit guarantee of approximation error for any (non-random) pair of matrices $A$, $B$ in terms of only Frobenius norms $\|\bar{A}\|_F, \|\bar{B}\|_F$ and $\|\bar{A}^\top \bar{B}\|_F$, where $\bar{A},\bar{B}$ are versions of $A,B$ with zero-centered columns, respectively. For iid Gaussian matrices our quantizer achieves the lower bound and is, thus, asymptotically optimal. A practical low-complexity version of our quantizer achieves performance quite close to optimal. In addition, we derive rate-distortion function for matrix multiplication of iid Gaussian matrices, which exhibits an interesting phase-transition at $R\approx 0.906$ bit/entry, showing necessity of Johnson-Lindestrauss dimensionality reduction (sketching) in the low-rate regime.
- ID del Artículo: 2410.13780
- Título: Optimal Quantization for Matrix Multiplication
- Autores: Or Ordentlich (Hebrew University of Jerusalem), Yury Polyanskiy (MIT)
- Clasificación: cs.IT cs.AI cs.CL cs.LG math.IT
- Fecha de Publicación: Octubre de 2024 (preimpresión en arXiv)
- Enlace del Artículo: https://arxiv.org/abs/2410.13780
Este artículo realiza un estudio profundo sobre el problema de cuantificación para multiplicación de matrices a gran escala. A diferencia de la cuantificación vectorial tradicional, el objetivo no es aproximar las matrices en sí, sino aproximar sus productos matriciales. Dadas dos matrices reales A y B, el codificador comprime cada matriz de forma independiente, describiendo cada entrada con R bits, y luego el decodificador utiliza estas representaciones comprimidas para estimar el producto matricial A⊤B. El artículo proporciona límites inferiores no asintóticos del error cuadrático medio aproximado para matrices con entradas gaussianas independientes e idénticamente distribuidas, construye cuantificadores universales basados en retículas anidadas, y descubre un fenómeno de transición de fase interesante en R ≈ 0.906 bits/entrada, indicando que en casos de tasa baja se requieren técnicas de reducción de dimensionalidad de Johnson-Lindenstrauss.
Con el auge de las redes neuronales profundas y los modelos de lenguaje grandes, la multiplicación de matrices se ha convertido en el principal cuello de botella computacional. El hardware computacional moderno suele estar limitado por el ancho de banda de memoria, no por la capacidad de cálculo. Por lo tanto, la compresión con pérdida de matrices para reducir la transferencia de memoria se convierte en un problema importante.
Para modelos de lenguaje grandes, los autores estiman las tasas de cuantificación requeridas:
- En la fase de generación, la CPU necesita una tasa de cuantificación de 1-3 bits/entrada para utilizar adecuadamente los recursos computacionales
- En la fase de prefill, para LLMs pequeños ejecutándose en GPUs rápidas, se necesita una tasa de cuantificación de aproximadamente 11.7 bits/entrada
- Cuantificación Vectorial Clásica: La cuantificación independiente directa de matrices A y B, seguida del cálculo del producto de matrices cuantificadas, resulta en un error de O(n²)
- Métodos de Sketching: Aunque proporcionan estimaciones insesgadas, la varianza sigue siendo O(n²)
- Cuantificadores Deterministas: Existen límites inferiores de Ω(n²) para vectores en la esfera
- Límites Teóricos Inferiores: Proporciona límites inferiores no asintóticos para cuantificación de multiplicación de matrices con entradas gaussianas iid
- Cuantificador Universal: Construye un cuantificador universal basado en retículas anidadas con garantías de error explícitas para matrices arbitrarias
- Optimalidad Asintótica: Demuestra que el cuantificador propuesto alcanza el límite inferior para matrices gaussianas iid, siendo por lo tanto asintóticamente óptimo
- Fenómeno de Transición de Fase: Descubre una transición de fase en R ≈ 0.906 bits/entrada, revelando la necesidad de reducción de dimensionalidad en tasas bajas
- Algoritmo Práctico: Proporciona implementaciones de baja complejidad con rendimiento cercano al óptimo
Dadas matrices A ∈ R^(n×a) y B ∈ R^(n×b), el objetivo es diseñar codificadores f₁: R^(n×a) → 2^(naR) y f₂: R^(n×b) → 2^(nbR) así como un decodificador g, tales que:
E∥A⊤B−g(f1(A),f2(B))∥F2
sea minimizado, donde cada entrada de matriz se describe con R bits.
El artículo define la función de tasa-distorsión clave:
Γ(R)={1−(1−(2⋅2−2R∗−2−4R∗))R∗R2⋅2−2R−2−4RR<R∗R≥R∗
donde R* ≈ 0.906 es la solución de la ecuación de punto fijo R = ½log₂(1 + 4R ln 2).
Para vectores U, V correlacionados con ρ en la esfera, se utiliza la retícula anidada Λc ⊂ Λf:
Proceso de Codificación:
- Se añaden vectores de perturbación independientes Z₁, Z₂ a U y V respectivamente
- Se cuantifica a la retícula fina Λf
- Se genera la representación de coset en la retícula gruesa Λc
Proceso de Decodificación:
- Se recupera el punto cuantificado del coset
- Se elimina la perturbación
- Se calcula la estimación del producto interno
Pasos de Preprocesamiento:
- Centrado en Cero: Se calcula Ā = A - (1/n)1·1^⊤A, B̄ = B - (1/n)1·1^⊤B
- Cuantificación de Normas: Se describe con alta precisión la media y norma de cada columna
- Rotación Aleatoria: Se aplica la misma matriz ortogonal S a Ā y B̄
Pasos de Cuantificación:
- Se aplica el cuantificador de producto interno a cada columna rotada
- Se utilizan parámetros de compartición temporal κ y parámetro de escalado MMSE α
- Técnica de Perturbación: Hace que el error de cuantificación sea independiente de la entrada, evitando el error O(n²) de cuantificadores deterministas
- Estructura de Retícula Anidada: Proporciona tasa finita manteniendo buen rendimiento de cuantificación
- Compartición Temporal: Logra optimalidad en tasas bajas mediante reducción de dimensionalidad
- Rotación Aleatoria: Convierte vectores arbitrarios a distribución uniforme en la esfera, facilitando el análisis
Generación de Datos:
- Matrices A, B ∈ R^(n×n) con entradas iid N(0,1)
- n = 3 × 2¹¹
Detalles de Implementación:
- Retícula base: retícula D₃ (3 dimensiones)
- Razón de anidamiento: q = 6
- Tamaño de tabla de búsqueda: < 64KB (cabe en caché L1)
- Tasa efectiva: ≈ 3.015 bits/símbolo
- Cuantificador escalar de 3 bits (normalización ℓ∞)
- Límite teórico inferior Γ(R)
Comparación de Rendimiento:
- Método propuesto: 1/n³ ∥Â⊤B - A⊤B∥²F ≈ 0.0593
- Cuantificación escalar de 3 bits: ≈ 0.1668 (aproximadamente 3 veces de diferencia)
- Límite teórico inferior: Γ(3.015) = 0.0304
Hallazgos Clave:
- El esquema basado en retícula D₃ supera significativamente la cuantificación escalar
- El rendimiento está cerca del óptimo teórico (aproximadamente 2 veces de diferencia)
- La brecha de rendimiento se reducirá aún más con el crecimiento de n
Complejidad de Codificación: O(n log n) (usando transformada rápida de Hadamard)
Complejidad de Decodificación: O(1) (usando tabla de búsqueda)
Sobrecarga de Almacenamiento: Cada cuantificador requiere O(log n) bits adicionales para describir factores de escala
- Multiplicación de Matrices Monte Carlo (MCMM): Muestreo aleatorio de filas para aproximación
- Hashing Sensible a Localidad (LSH): Para sketching de baja dimensión de similitud de coseno
- Limitaciones: El error relativo crece con ∥A∥²F∥B∥²F/∥A⊤B∥²F
- Cuantificación Post-Entrenamiento: Métodos como OPTQ, GPTQ
- Técnicas de Rotación: QuIP, QuaRot utilizan transformadas de Hadamard
- Cuantificación con Retículas: QUIP# utiliza retícula E₈ para cuantificación de pesos
- Compresión Distribuida: Compresión para computación de funciones lineales
- Diseño de Códigos: Códigos de Voronoi y códigos de retícula anidada
- Optimalidad: Para matrices gaussianas iid, el esquema propuesto alcanza el límite de teoría de la información
- Universalidad: Proporciona garantías de rendimiento explícitas para matrices arbitrarias
- Fenómeno de Transición de Fase: R* ≈ 0.906 bits/entrada es el umbral crítico
- Practicidad: La implementación de baja complejidad se aproxima al rendimiento teórico
- Aleatoriedad Compartida: Requiere que el codificador y decodificador compartan una semilla aleatoria
- Condiciones de Matriz: Requiere que las entradas de matriz estén acotadas (M = n^(10^22000))
- Retículas de Alta Dimensión: La optimalidad teórica requiere retículas "buenas" de alta dimensión; en la práctica se utilizan productos de retículas de baja dimensión
- Esquema Determinista: No está claro si existe un esquema determinista óptimo que no requiera aleatoriedad
- Multiplicación de Múltiples Matrices: Extensión a productos de k>2 matrices
- Otras Métricas de Distancia: Medidas no-MSE como divergencia KL
- Cuantificadores Deterministas: Exploración de esquemas sin necesidad de aleatoriedad compartida
- Aplicación en Redes Profundas: Despliegue y optimización en LLMs reales
- Rigor Teórico: Proporciona análisis completo de teoría de la información, incluyendo límites superiores e inferiores
- Valor Práctico: Resuelve el cuello de botella real en inferencia de LLMs
- Innovación Técnica: Combina ingeniosamente cuantificación con retículas, rotación aleatoria y compartición temporal
- Universalidad: No depende de suposiciones de distribución de matriz específicas
- Complejidad: El análisis teórico es bastante complejo; la implementación real requiere múltiples componentes técnicos
- Factores Constantes: Aunque asintóticamente óptimo, los factores constantes en muestras finitas pueden ser grandes
- Adaptación de Hardware: Requiere optimización de implementación para diferentes plataformas de hardware
- Escalabilidad: La extensión de 2 matrices a múltiples productos matriciales no es trivial
Contribuciones Teóricas:
- Establece los fundamentos de teoría de la información para cuantificación de multiplicación de matrices
- Revela el fenómeno de transición de fase y la necesidad de reducción de dimensionalidad
- Proporciona un punto de referencia teórico importante para el campo
Aplicaciones Prácticas:
- Proporciona nueva orientación teórica para cuantificación de LLMs
- El trabajo posterior NestQuant ha logrado rendimiento SOTA en LLMs reales
- Proporciona base teórica para diseño de aceleradores de hardware
- Inferencia de Modelos de Lenguaje Grande: Cuantificación conjunta de pesos y activaciones
- Computación en el Borde: Operaciones matriciales en entornos con memoria limitada
- Computación Distribuida: Multiplicación de matrices con comunicación limitada
- Computación Científica: Problemas de álgebra lineal numérica a gran escala
El artículo cita 44 referencias relacionadas, cubriendo múltiples campos incluyendo teoría de la información, teoría de retículas, álgebra lineal aleatoria y cuantificación de redes neuronales. Las referencias particularmente destacables incluyen:
- La monografía de Zamir sobre codificación con retículas proporciona la base teórica
- El trabajo pionero de Erez y Zamir sobre retículas anidadas
- Métodos recientes de cuantificación de LLMs como OPTQ, QuIP, etc.
- Resultados de teoría de matrices aleatorias y geometría esférica
Evaluación General: Este es un artículo excelente con contribuciones importantes tanto en teoría como en práctica, proporcionando una base sólida de teoría de la información para el problema de cuantificación de multiplicación de matrices, y demostrando un algoritmo práctico cercano al óptimo. Este trabajo tiene una importancia significativa para entender y mejorar técnicas de cuantificación en sistemas de aprendizaje automático a gran escala.