Calculadora de parámetros de LoRA
Datos de entrada
| Capas | 32 |
|---|---|
| Módulos adaptados por capa | 4 |
| Tamaño oculto | 4.096 |
| Rango de LoRA | 8 |
Calculadora de parámetros de LoRA
Estima el número de parámetros entrenables que añade un ajuste fino con LoRA, y la memoria de optimizador que requiere, a partir del número de capas, los módulos adaptados por capa, el tamaño oculto y el rango de LoRA.
Datos de entrada
Arquitectura del modelo
Adaptador LoRA
Resultados
Introduce un valor para ver los resultados.
Detalles
Parámetros de LoRA
La adaptación de bajo rango, o LoRA, es la forma más común de ajustar un modelo de lenguaje grande con un presupuesto limitado. En lugar de actualizar todos los pesos, congela el modelo base y entrena un pequeño par de matrices de bajo rango junto a cada matriz de pesos adaptada. El resultado se comporta casi como un ajuste fino completo tocando una fracción mínima de los parámetros. Esta calculadora estima a cuántos parámetros equivale esa fracción, y cuánta memoria de optimizador necesita, a partir de la forma del modelo y el rango del adaptador.
Cómo reduce LoRA el conjunto entrenable
Una matriz de pesos de un transformer transforma un vector oculto en otro, así que para una capa cuadrada contiene unos valores. Ajustarlos todos es costoso: el optimizador debe almacenar gradientes y estadísticas acumuladas para cada uno. LoRA sustituye esa actualización densa por el producto de dos matrices delgadas —una de forma y otra de forma , donde el rango es mucho menor que —. Los pesos base nunca se mueven; solo se entrenan estos dos factores, y en la inferencia su producto se vuelve a sumar a la matriz original.
Como cada matriz adaptada aporta valores entrenables —y cuando las anchuras de entrada y salida son iguales—, el conjunto entrenable suele estar muy por debajo del uno por ciento del modelo completo. Eso es lo que hace que LoRA sea práctico en un único acelerador.
La fórmula
Con capas, módulos adaptados por capa, rango y tamaño oculto , el número de parámetros entrenables es
P=L⋅m⋅2⋅r⋅dAdam de precisión mixta mantiene aproximadamente dieciséis bytes de estado de optimizador y de pesos maestros por parámetro entrenable —la copia maestra de 32 bits, más las estimaciones del primer y del segundo momento—, así que la memoria de optimizador en megabytes es
M=10616PEsto cuenta solo el estado del adaptador. El modelo base congelado sigue ocupando memoria para sus pesos, pero no necesita gradientes ni estado de optimizador, que es de donde proviene el ahorro.
Ejemplo resuelto
Tómese un modelo con 32 capas, que adapta las cuatro proyecciones de atención de cada capa, con rango 8 y un tamaño oculto de 4096:
P=32×4×2×8×4096=8388608Eso es alrededor de 8,39 millones de parámetros entrenables. El estado del optimizador es
M=10616×8388608≈134,2 MBPara un modelo base de siete mil millones de parámetros, esos 8,39 millones de adaptadores son aproximadamente una décima parte del uno por ciento del conjunto, y aun así bastan para especializar el modelo en muchas tareas posteriores.
Cómo elegir el rango y los módulos
El rango es el dial principal de capacidad. Los rangos de 4 a 8 son comunes para una adaptación ligera de tareas; de 16 a 64 dan más margen cuando la tarea objetivo está lejos del entrenamiento del modelo base. Duplicar el rango duplica tanto los parámetros entrenables como la memoria de optimizador, así que conviene subirlo solo cuando un rango menor infraajusta. El campo de módulos por capa refleja qué matrices reciben un adaptador: dos para consulta y valor solamente, cuatro para el bloque de atención completo, o más si se incluyen las matrices feed-forward.
Para comparar el adaptador con el tamaño del modelo completo, véase la Calculadora del número de parámetros de un transformer. Para dimensionar la memoria total de un entrenamiento incluyendo los pesos congelados y las activaciones, véase la Calculadora de VRAM para entrenar un LLM.
Preguntas frecuentes (FAQ)
¿Qué controla el rango de LoRA?
El rango fija la dimensión de la actualización de bajo rango añadida a cada matriz de pesos adaptada. Un rango mayor da al adaptador más capacidad para captar los cambios respecto al modelo base, a costa de más parámetros entrenables y más memoria de optimizador, que crecen ambos linealmente con el rango. Un rango menor es más pequeño y rápido, pero puede infraajustar tareas más difíciles.
La mayoría de los ajustes finos usan un rango entre 4 y 64, con 8 o 16 como punto de partida habitual; el mejor valor depende de cuánto se aleje la tarea objetivo del modelo base.
¿Cuánto más pequeño es un ajuste fino con LoRA que un ajuste fino completo?
LoRA entrena solo los adaptadores de bajo rango y congela los pesos base, por lo que el conjunto entrenable suele estar muy por debajo del uno por ciento del modelo completo. Un modelo de siete mil millones de parámetros adaptado con un rango modesto a menudo tiene solo unos pocos millones de parámetros entrenables.
Como el estado del optimizador escala con los parámetros entrenables en lugar de con los parámetros totales, el ahorro de memoria es grande. El tamaño del modelo completo, a efectos de comparación, puede estimarse con la calculadora de número de parámetros a partir de la arquitectura.
¿Qué módulos se adaptan habitualmente?
La elección más común son las matrices de proyección de atención —consulta, clave, valor y salida—, lo que corresponde a cuatro módulos por capa. Algunas recetas adaptan solo las proyecciones de consulta y valor (dos módulos), mientras que otras añaden las matrices feed-forward para una cobertura más amplia a un mayor coste en parámetros. Ajusta el campo de módulos por capa para que coincida con las matrices que apunta tu configuración.
Aviso legal
Esta estimación asume matrices adaptadas cuadradas y cuenta solo los factores de LoRA y su estado de optimizador Adam de precisión mixta a unos 16 bytes por parámetro. Excluye el modelo base congelado, las activaciones, los gradientes de los parámetros que no son del adaptador y cualquier ajuste de sesgos o incrustaciones. Tómala como una cifra de planificación, no como una contabilidad exacta de memoria.
Recomendaciones
Calculadora de VRAM para entrenar un LLM
Estima la VRAM de GPU necesaria para hacer fine-tuning completo de un modelo de lenguaje grande a partir de su número de parámetros, la elección del optimizador y la memoria de activaciones, usando la regla de precisión mixta con Adam de 16 bytes por parámetro.