English · Español
Fase 27 — Quizzes¶
🇪🇸 Espejo legible de
data/quizzes/phase-27-modern-attention.yaml. Respuestas detrás de bloques<details>.
Fuente de verdad: data/quizzes/phase-27-modern-attention.yaml.
q-27-01 — FlashAttention es exacta, no aproximada (libre)¶
Un compañero afirma "FlashAttention es una aproximación de la softmax attention porque tilea el cómputo." Refútalo en una frase.
Respuesta
La recurrencia online softmax es una **identidad** algebraica, no una aproximación. La ejecución tile-a-tile de Flash calcula la misma salida que la softmax monolítica, salvo redondeo de coma flotante no peor que el naive.q-27-02 — Qué permanece en SRAM durante el bucle interno de Flash¶
Durante el bucle interno del forward de Flash sobre el tile Q i y el tile K/V j, ¿qué cantidades viven en SRAM (nunca cruzan la barrera de HBM)?
- La matriz de logits materializada (N, N) S
- El máximo corriente por fila m_i y la suma l_i
- El tile de logits parciales S_ij de forma (B_r, B_c)
- La matriz pre-softmax completa QK^T
Respuesta
**Opciones 2 y 3.** Las matrices completas (N, N) nunca existen en Flash; sólo los logits parciales por tile y los vectores corrientes m, l por fila viven en SRAM.q-27-03 — Ratio de ahorro del KV cache con GQA¶
Un modelo tiene n_heads = 32 cabezas de query y kv_heads = 4. ¿Por qué factor reduce GQA los bytes-por-token del KV cache comparado con el equivalente MHA (kv_heads = n_heads)?
- 2×
- 4×
- 8×
- 32×
Respuesta
**Opción 3 (8×).** La ratio es exactamente `kv_heads / n_heads = 4 / 32 = 1/8`.q-27-04 — Por qué MQA daña la calidad¶
MQA (kv_heads = 1) ahorra la mayor cantidad de memoria KV de cualquier configuración GQA. ¿Por qué no es el default para modelos de producción a pesar de esa ganancia?
- Porque MQA requiere reentrenar desde cero.
- Porque todas las cabezas de query atienden entonces a posiciones K, V idénticas, colapsando la diversidad de patrones por cabeza y produciendo un impacto medible en calidad.
- Porque MQA duplica los FLOPs en inferencia.
- Porque MQA es incompatible con FlashAttention.
Respuesta
**Opción 2.** Con un único K, V compartido, las cabezas sólo pueden diferir en sus proyecciones Q y W_O; los *patrones* de attention colapsan. Producción típicamente se detiene en `kv_heads = n_heads / 8`.q-27-05 — Sliding window vs PagedAttention (libre)¶
Tanto sliding window attention como PagedAttention reducen la huella de memoria del KV cache. ¿Cuál es la diferencia cualitativa entre lo que consiguen?