Quiz: Profundización en LoRA
Ponga a prueba sus conocimientos sobre las matemáticas, implementación y mejores prácticas de LoRA.
30 preguntas - Haga clic en cada pregunta para revelar la respuesta correcta.
Pregunta 1
¿Qué significa LoRA?
A) Adaptación de Bajo Rango
B) Algoritmo de Regularización de Salida Lineal
C) Optimización por Capas para Representaciones
D) Enfoque de Reducción de Salida Grande
Mostrar respuesta
Respuesta correcta: A
LoRA significa Adaptación de Bajo Rango (Low-Rank Adaptation), refiriéndose a la descomposición de matrices de bajo rango utilizada para representar las actualizaciones de pesos.
Pregunta 2
¿Cómo representa LoRA las actualizaciones de pesos?
A) Como una sola matriz
B) Como el producto de dos matrices de bajo rango (BA)
C) Como una matriz dispersa
D) Como un vector
Mostrar respuesta
Respuesta correcta: B
LoRA representa las actualizaciones de pesos ΔW como el producto de dos matrices: B (d×r) y A (r×k), donde r es mucho menor que d y k.
Pregunta 3
¿Por qué la matriz B se inicializa en cero?
A) Para acelerar el entrenamiento
B) Para que BA=0 al inicio, manteniendo la salida inicial sin cambios
C) Para ahorrar memoria
D) Se inicializa aleatoriamente, no en cero
Mostrar respuesta
Respuesta correcta: B
Cuando B se inicializa en cero, BA=0, lo que significa que el modelo comienza con exactamente el mismo comportamiento que el modelo base, asegurando un inicio de entrenamiento estable.
Pregunta 4
¿Cuál es el factor de escalado efectivo para r=16 y alpha=32?
A) 0.5
B) 1.0
C) 2.0
D) 16
Mostrar respuesta
Respuesta correcta: C
El escalado efectivo es alpha/r = 32/16 = 2.0.
Pregunta 5
Para una matriz de pesos de 4096×4096 con r=16, ¿cuántos parámetros LoRA se agregan?
A) 16,777,216
B) 131,072
C) 65,536
D) 4,194,304
Mostrar respuesta
Respuesta correcta: B
LoRA agrega r×d + r×k = 16×4096 + 16×4096 = 131,072 parámetros.
Pregunta 6
¿Qué capas se suelen seleccionar para LoRA en transformers?
A) Solo capas de embedding
B) Proyecciones de Query, Key, Value (q_proj, k_proj, v_proj)
C) Solo la capa de salida
D) Normalización de capa
Mostrar respuesta
Respuesta correcta: B
Las capas de proyección de atención (q_proj, k_proj, v_proj, o_proj) son las más comúnmente seleccionadas para LoRA.
Pregunta 7
¿Cuál es el propósito del parámetro lora_alpha?
A) Definir la tasa de aprendizaje
B) Escalar la contribución de las actualizaciones LoRA
C) Determinar el tamaño de lote
D) Controlar la tasa de dropout
Mostrar respuesta
Respuesta correcta: B
lora_alpha es un factor de escalado que controla la magnitud de la contribución de LoRA. El escalado efectivo es alpha/r.
Pregunta 8
¿Qué función se utiliza para aplicar LoRA a un modelo?
A) apply_lora()
B) get_peft_model()
C) create_lora()
D) add_adapter()
Mostrar respuesta
Respuesta correcta: B
get_peft_model(base_model, lora_config) se utiliza para envolver un modelo base con la configuración LoRA.
Pregunta 9
¿Qué hace model.merge_and_unload()?
A) Guarda el modelo en disco
B) Fusiona los pesos LoRA en el modelo base y elimina el adaptador
C) Carga un nuevo adaptador
D) Libera la memoria de la GPU
Mostrar respuesta
Respuesta correcta: B
merge_and_unload() fusiona los pesos del adaptador LoRA en los pesos del modelo base, creando un modelo estándar sin la sobrecarga del adaptador.
Pregunta 10
¿Cuál es la tasa de aprendizaje típica para el fine-tuning con LoRA?
A) 1e-2
B) 1e-4 a 5e-4
C) 1e-6
D) 1.0
Mostrar respuesta
Respuesta correcta: B
El fine-tuning con LoRA suele utilizar tasas de aprendizaje en el rango de 1e-4 a 5e-4, más altas que en el fine-tuning completo.
Pregunta 11
¿Cuál es el rango inicial recomendado para experimentos con LoRA?
A) r=1
B) r=16
C) r=256
D) r=1024
Mostrar respuesta
Respuesta correcta: B
r=16 es un punto de partida común, proporcionando un buen equilibrio entre capacidad y eficiencia.
Pregunta 12
¿Qué significa "bajo rango" en LoRA?
A) El modelo tiene baja calidad
B) Las matrices tienen baja dimensionalidad (r mucho menor que d)
C) La tasa de aprendizaje es baja
D) El modelo tiene pocas capas
Mostrar respuesta
Respuesta correcta: B
"Bajo rango" significa que la dimensión intermedia r es mucho menor que las dimensiones originales (r ≪ d), resultando en menos parámetros.
Pregunta 13
¿Cuál es la sobrecarga de inferencia de LoRA después de fusionar?
A) 10% más lento
B) 50% más lento
C) Cero (idéntico al modelo base)
D) 2x más lento
Mostrar respuesta
Respuesta correcta: C
Después de fusionar, los pesos LoRA pasan a formar parte de los pesos del modelo base, resultando en cero sobrecarga adicional en inferencia.
Pregunta 14
¿Cuál es la relación típica entre alpha y el rango?
A) Alpha debe ser mucho menor que el rango
B) Alpha suele ser 1-2x el rango
C) Alpha es igual al rango al cuadrado
D) No están relacionados
Mostrar respuesta
Respuesta correcta: B
La práctica común es establecer alpha en 1-2x el rango (por ejemplo, r=16, alpha=32).
Pregunta 15
¿Cómo se revisan los parámetros entrenables en un modelo PEFT?
A) model.count_params()
B) model.print_trainable_parameters()
C) model.trainable()
D) model.params()
Mostrar respuesta
Respuesta correcta: B
model.print_trainable_parameters() muestra el conteo y porcentaje de parámetros entrenables.
Pregunta 16
¿Para qué se utiliza lora_dropout?
A) Reducir el tamaño del modelo
B) Regularización para evitar sobreajuste
C) Acelerar el entrenamiento
D) Optimización de memoria
Mostrar respuesta
Respuesta correcta: B
lora_dropout aplica regularización por dropout a las capas LoRA para ayudar a prevenir el sobreajuste.
Pregunta 17
¿Qué es el parámetro bias en LoraConfig?
A) Definir el sesgo de la tasa de aprendizaje
B) Indicar si se entrenan los términos de bias en las capas LoRA
C) Sesgo en el muestreo de datos
D) Corrección de sesgo en el gradiente
Mostrar respuesta
Respuesta correcta: B
El parámetro bias controla si se entrenan los términos de bias: "none" (no entrenar), "all" (entrenar todos), o "lora_only" (solo biases de LoRA).
Pregunta 18
¿Cuál es la ecuación del forward pass en LoRA?
A) h = Wx
B) h = Wx + BAx
C) h = BA + Wx
D) h = W + BA
Mostrar respuesta
Respuesta correcta: B
El forward pass es h = Wx + (α/r)BAx, combinando la ruta base congelada con la ruta LoRA entrenable.
Pregunta 19
¿Qué hace que LoRA sea eficiente en memoria durante el entrenamiento?
A) Comprimir el modelo
B) Solo almacenar gradientes/optimizador para los pequeños adaptadores, no para los pesos congelados
C) Usar int8 por defecto
D) Reducir el tamaño de lote automáticamente
Mostrar respuesta
Respuesta correcta: B
El ahorro de memoria proviene de no almacenar gradientes ni estados del optimizador para los pesos base congelados—solo los pequeños parámetros LoRA los requieren.
Pregunta 20
¿Se pueden usar múltiples adaptadores LoRA en un solo modelo base?
A) No, solo se permite un adaptador
B) Sí, usando add_adapter y set_adapter
C) Solo dos adaptadores
D) Solo durante el entrenamiento
Mostrar respuesta
Respuesta correcta: B
Se pueden agregar múltiples adaptadores con add_adapter() y cambiar entre ellos usando set_adapter().
Pregunta 21
¿Para qué se utiliza TaskType.CAUSAL_LM?
A) Tareas de clasificación
B) Modelado de lenguaje causal (generación de texto)
C) Generación de imágenes
D) Solo traducción
Mostrar respuesta
Respuesta correcta: B
TaskType.CAUSAL_LM indica que el modelo se utiliza para modelado de lenguaje causal, que es la generación estándar de texto.
Pregunta 22
¿Qué debe hacer si la pérdida de entrenamiento es NaN?
A) Aumentar la tasa de aprendizaje
B) Bajar la tasa de aprendizaje, habilitar recorte de gradiente
C) Usar un tamaño de lote mayor
D) Entrenar por más tiempo
Mostrar respuesta
Respuesta correcta: B
La pérdida NaN suele indicar inestabilidad numérica. Las soluciones incluyen bajar la tasa de aprendizaje, habilitar el recorte de gradiente y revisar los datos.
Pregunta 23
¿Cuál es el tamaño típico del archivo del adaptador LoRA para un modelo de 7B?
A) ~15GB
B) ~1GB
C) ~10-50MB
D) ~500MB
Mostrar respuesta
Respuesta correcta: C
Los archivos de adaptador LoRA suelen ser de 10-50MB, en comparación con los modelos completos de ~15GB+ para 7B parámetros.
Pregunta 24
¿Qué es DoRA?
A) Un formato de dataset
B) Adaptación de Bajo Rango Descompuesta en Pesos (Weight-Decomposed Low-Rank Adaptation)
C) Un tipo de optimizador
D) Una arquitectura de modelo
Mostrar respuesta
Respuesta correcta: B
DoRA (Weight-Decomposed Low-Rank Adaptation) es una variante de LoRA que separa la magnitud y la dirección de los pesos.
Pregunta 25
¿Cómo se guarda solo el adaptador LoRA?
A) model.save_pretrained(path)
B) model.save_weights(path)
C) model.save_adapter(path)
D) Tanto A como C funcionan
Mostrar respuesta
Respuesta correcta: A
model.save_pretrained(path) en un modelo PEFT guarda solo el adaptador por defecto, no el modelo base.
Pregunta 26
¿Cuál es el propósito del gradient checkpointing con LoRA?
A) Guardar checkpoints de entrenamiento
B) Intercambiar cómputo por memoria para reducir el uso de VRAM
C) Entrenamiento más rápido
D) Mejor calidad
Mostrar respuesta
Respuesta correcta: B
El gradient checkpointing recompone las activaciones durante el backward pass en lugar de almacenarlas, reduciendo el uso de memoria a costa de mayor cómputo.
Pregunta 27
¿Qué parámetro determina qué capas reciben LoRA?
A) r
B) lora_alpha
C) target_modules
D) lora_dropout
Mostrar respuesta
Respuesta correcta: C
El parámetro target_modules especifica qué matrices de pesos reciben adaptadores LoRA.
Pregunta 28
¿Cuál es la fórmula para el conteo de parámetros en LoRA?
A) d × k
B) r × (d + k)
C) r × r
D) d + k
Mostrar respuesta
Respuesta correcta: B
LoRA agrega r×d (para B) + r×k (para A) = r×(d+k) parámetros por matriz de pesos.
Pregunta 29
¿Por qué LoRA funciona bien para el fine-tuning?
A) Usa más parámetros
B) Las actualizaciones de fine-tuning tienen baja dimensionalidad intrínseca
C) Siempre entrena más rápido
D) Fue diseñado por OpenAI
Mostrar respuesta
Respuesta correcta: B
La investigación muestra que las actualizaciones de fine-tuning suelen estar en un subespacio de baja dimensionalidad, por lo que pueden representarse eficazmente con matrices de bajo rango.
Pregunta 30
¿Cuál es el enfoque recomendado para el despliegue en producción?
A) Mantener siempre el adaptador por separado
B) Fusionar el adaptador en el modelo base para un despliegue más sencillo
C) Usar fine-tuning completo en su lugar
D) Nunca usar LoRA en producción
Mostrar respuesta
Respuesta correcta: B
Para producción, fusionar el adaptador en el modelo base simplifica el despliegue y elimina la sobrecarga del adaptador en inferencia.
Resultados
| Puntaje | Nivel |
|---|---|
| 27-30 | ¡Excelente - Maestro de LoRA! |
| 21-26 | Bueno - Repase detalles de implementación |
| 15-20 | Promedio - Revise todos los capítulos |
| Menos de 15 | Revisión integral necesaria |