Skip to content

English · Español

Fase 26 — Cuestionarios

Espejo legible de data/quizzes/phase-26-quantization.yaml. Respuestas detrás de bloques <details> para autoevaluación sin spoilers.

Fuente de verdad: data/quizzes/phase-26-quantization.yaml.


q-26-01 — Por qué la cuantización no es lo mismo que la compresión (libre)

En una frase, ¿por qué la cuantización (quantization) de pesos INT8 es una optimización roofline y no meramente un esquema de compresión de disco?

Respuesta La cuantización reduce los **bytes** cargados por FLOP durante cada forward pass, elevando la **intensidad** aritmética en un kernel memory-bound. La compresión reduce solo el tamaño en disco.

q-26-02 — Escalas por-tensor vs por-canal

Cuantizas un peso de Linear W (out × in) a INT8. ¿Qué granularidades de escala son defaults legítimos para modelos en producción, y cuál está acotada contra outliers por-fila?

  1. Por-tensor (un escalar para todo el W)
  2. Por-canal (una escala por fila de salida)
  3. Por-elemento (una escala por peso; idéntico a FP32)
  4. Por-grupo (una escala por bloque de K elementos dentro de una fila)
Respuesta **Opciones 2 y 4.** Por-canal y por-grupo acotan el error por-fila y son los defaults de producción. Por-tensor es el modo de fallo que aborda LLM.int8(); por-elemento colapsa de vuelta a FP32.

q-26-03 — El codo de la frontera Pareto en Mini-GPT

Para las variantes int8-w vs int8-wa de Mini-GPT (theory 05-pareto-frontier-worked.md), ¿cuál es el tamaño aproximado de la ganancia adicional de latencia de decode al añadir cuantización de activaciones encima de INT8 solo-pesos?

  1. ≈ 50% de speedup adicional, justificando el coste de PPL
  2. ≈ 10% de speedup adicional, menor que el coste de PPL
  3. ≈ 4× de speedup adicional, como pesos a INT8 sobre FP32
  4. Sin speedup adicional; las activaciones ya son pequeñas
Respuesta **Opción 2.** La cuota de bytes de las activaciones es pequeña para las dimensiones ocultas de Mini-GPT. La ganancia del 10% en latencia es real pero menor que el coste de 4-5% en PPL — haciendo de `int8-w` el default y de `int8-wa` el codo Pareto.

q-26-04 — GPTQ vs round-to-nearest

El paso de cuantización de GPTQ difiere del naive round-to-nearest en una forma esencial. ¿Cuál de las siguientes la describe con más precisión?

  1. GPTQ usa INT4 en vez de INT8.
  2. GPTQ usa la Hessiana de la distribución de activaciones para redistribuir el error de redondeo a columnas aún no cuantizadas.
  3. GPTQ entrena el modelo más para compensar la cuantización.
  4. GPTQ almacena pesos en NF4 en vez de INT4.
Respuesta **Opción 2.** GPTQ cuantiza ávidamente columna por columna y actualiza los pesos restantes para compensar el error introducido hasta ese momento, ponderado por la Hessiana de las activaciones.

q-26-05 — Cuándo ayuda más la cuantización de activaciones (libre)

¿Para qué tipo de capa la cuantización de activaciones (INT8 W+A vs INT8 solo-W) produce el speedup adicional más grande, y por qué?

Respuesta La **capa de expansión del FFN** (`in=d_model, out=4·d_model`) lleva la activación más grande del modelo. Cuantizar esa activación reduce una fracción significativa de los bytes-cargados. En Mini-GPT la cuota es pequeña (así que la ganancia W+A es pequeña); en transformers de producción con `d_model ≥ 4096` se vuelve decisiva.