Curso / LLM 2026 / Scaling laws
LLM 2026 · 3 de 4

LLM 2026 · Lo que los cursos no cubren · 3

Scaling laws: cómo se decide cuánto modelo y cuántos datos

Ningún capítulo del curso explica por qué Llama 3 tiene 8B, 70B y 405B, por qué se entrenó con 15 billones de tokens, o por qué DeepSeek R1 gasta más cómputo respondiendo que otros modelos entrenando. Todo eso sale de dos papers y una regla aritmética. Esta página los recorre con las cuentas hechas, para que cuando un paper diga "compute-optimal" o "over-trained" sepas qué trade-off está describiendo.

Antes de leerHF cap. 1 §1, next-token prediction · LLM 2026 · 2 §4, parámetros activos · HF cap. 12 §3, RL con recompensas verificables

🎯 Al terminar vas a poder

  • Estimar los FLOPs de entrenar un modelo con la regla 6ND y convertirlos en horas de GPU con una utilización realista.
  • Explicar qué encontró Kaplan (la loss cae como ley de potencias con parámetros, datos y cómputo) y qué corrigió Chinchilla (parámetros y datos escalan parejo, unos 20 tokens por parámetro).
  • Leer una curva isoFLOP y decir por qué un 70B con 1,4T tokens le ganó a un 280B con 300B tokens.
  • Explicar por qué Llama 3 8B se entrenó con 90 veces más datos que el óptimo de Chinchilla, y qué tiene que ver con el costo de inferencia.
  • Situar el cómputo en tiempo de prueba (o1, R1) como un segundo eje de escalado, y conectarlo con lo que viste en HF cap. 12.

0. Por qué los modelos tienen el tamaño que tienen

Hasta 2020 el tamaño de un modelo se elegía por prueba y error y por lo que entraba en el hardware. Lo que cambió es que la loss de pre-entrenamiento (la entropía cruzada por token del next-token prediction) resultó ser predecible: si sabés cuántos parámetros tiene el modelo y con cuántos tokens lo vas a entrenar, podés calcular con un margen chico a qué loss va a llegar, antes de gastar un dólar. Eso convierte la pregunta "¿qué tan grande hago el modelo?" en un problema de optimización con un presupuesto, y es exactamente cómo se planifican hoy los entrenamientos de miles de millones de dólares: se entrenan decenas de modelos chicos, se ajusta la ley, y se extrapola al grande una sola vez.

Tres cantidades aparecen en todo lo que sigue: N, parámetros del modelo (sin contar embeddings, en la convención de Kaplan); D, tokens de entrenamiento; y C, cómputo total en FLOPs. Las tres están atadas por una regla que conviene fijar primero.

1. La regla 6ND: cuánto cuesta entrenar

Procesar un token en el forward de un transformer cuesta aproximadamente 2 FLOPs por parámetro (una multiplicación y una suma por peso, en cada matmul). El backward cuesta el doble del forward: gradiente respecto de la entrada y respecto de los pesos. Total, unos 6 FLOPs por parámetro y por token:

C≈6ND,Cinferencia≈2Nactivospor token

Cómo se lee. FLOPs totales de entrenamiento: seis por parámetro y por token (dos del forward, cuatro del backward). En inferencia, dos por parámetro activo por token generado. La atención agrega un término proporcional al contexto al cuadrado, despreciable salvo con contexto muy largo.

# Llama 3 405B, 15,6T tokens:
6 × 405e9 × 15.6e12 = 3.8e25 FLOPs             # el paper reporta 3,8 × 10²⁵

# en horas de GPU: una H100 rinde ~1e15 FLOP/s en bf16 de pico; a 40 % de utilización (MFU) real:
3.8e25 / (0.4 × 1e15) / 3600 ≈ 26 millones de horas-GPU     # 16.000 H100 durante ~70 días

La misma regla en inferencia es 2ND: generar un token cuesta 2 FLOPs por parámetro activo, que es la cuenta que hizo la página de MoE. Con esta regla, fijar C es fijar el producto N·D, y la pregunta de scaling laws se vuelve concreta: para un C dado, ¿cómo lo reparto entre N y D?

2. Kaplan 2020: la loss es una ley de potencias

Kaplan et al. (OpenAI, enero 2020) entrenaron transformers desde 768 parámetros hasta 1,5B con distintos presupuestos de datos y encontraron que la loss sigue leyes de potencias limpias en cada variable cuando las otras no limitan: L ∝ N−0,076, L ∝ D−0,095, L ∝ C−0,050. Tres consecuencias que definieron la época GPT-3:

  • Los exponentes son chicos: para bajar la loss un poco hay que multiplicar el cómputo por mucho. No hay saturación a la vista en el rango medido.
  • La forma de la red (profundidad vs. ancho, cabezas) casi no importa dentro de un rango razonable; importa N. Esto liberó a la gente de buscar arquitecturas y la mandó a buscar cómputo.
  • Con cómputo fijo, según su ajuste convenía crecer más en parámetros que en datos: 10 veces más cómputo debía ir a un modelo 5,5 veces más grande con solo 1,8 veces más tokens. GPT-3 (175B con 300B tokens) siguió esa receta, y Gopher (280B, 300B tokens) también.

Esa tercera conclusión resultó estar sesgada por un detalle experimental: Kaplan usó un schedule de learning rate fijo en largo, no ajustado a cada corrida, y eso subestima lo que rinden los datos en corridas cortas. Lo detectó el paper siguiente.

3. Chinchilla 2022: 20 tokens por parámetro

Hoffmann et al. (DeepMind, marzo 2022) entrenaron más de 400 modelos de 70M a 16B con tres metodologías distintas y llegaron al mismo resultado por las tres: N y D deben crecer en la misma proporción. Si duplicás el cómputo, el modelo óptimo es √2 veces más grande y se entrena con √2 veces más tokens, no 2 veces más grande con los mismos datos. En números, el óptimo queda cerca de 20 tokens por parámetro: un 70B quiere 1,4T tokens; un 8B, 160B.

La forma más útil de ver el resultado es la curva isoFLOP: se fija un presupuesto de cómputo, se entrenan modelos de distintos tamaños gastando exactamente ese presupuesto (los más grandes ven menos tokens), y se mira dónde queda la loss mínima. La figura está calculada con la fórmula paramétrica que ajustó el paper:

L(N,D)=E+ANα+BDβ

Cómo se lee. La loss es una entropía irreducible E más lo que cuesta tener un modelo finito (cae como una potencia de N) más lo que cuesta tener datos finitos (cae como una potencia de D). Hoffmann et al.: E = 1,69, A = 406,4, B = 410,7, α = 0,34, β = 0,28. Ajuste corregido de Besiroglu et al. (2024), el de las figuras: E = 1,82, A = 482, B = 2085, α = 0,348, β = 0,366.

📐 Derivación analítica de los exponentes óptimos de Chinchilla mediante Multiplicadores de Lagrange

El problema de asignación óptima de presupuesto de cómputo se formula como la minimización de la pérdida paramétrica L(N,D)=E+AN-α+BD-β sujeta a la restricción lineal de cómputo C=6ND.

Construyendo el Lagrangiano del sistema:

L(N,D,λ)=AN-α+BD-β+λ(6ND-C)

Calculando las derivadas parciales de primer orden e igualándolas a cero:

∂L∂N=-αAN-α-1+6λD=0⟹αAN-α=6λND ∂L∂D=-βBD-β-1+6λN=0⟹βBD-β=6λND

Igualando ambos términos por medio del multiplicador 6λND:

αAN-α=βBD-β

Sustituyendo D=C6N:

αAN-α=βB(C6N)-β=βB6βC-βNβ⟹Nα+β=αAβB6βCβ

Despejando los tamaños óptimos de parámetros Nopt y tokens Dopt en función del cómputo C:

Nopt∝Cβα+β,Dopt∝Cαα+β

Dado que los ajustes empíricos demuestran que α≈β≈0.35, los exponentes son idénticos: αα+β≈0.5 y βα+β≈0.5. Esto prueba matemáticamente por qué parámetros y tokens deben escalar al unísono: N∝C y D∝C, fijando la constante de proporcionalidad universal de Chinchilla en DN≈20.

Curvas isoFLOP calculadas con la fórmula de Chinchilla Tres curvas en forma de U de loss contra parámetros en escala logarítmica, una por presupuesto de cómputo (10 a la 21, 10 a la 22 y 10 a la 23 FLOPs). Cada mínimo está marcado con su N óptimo y su cociente D sobre N, cercano a 20 en los tres casos; los mínimos se desplazan hacia la derecha y hacia abajo al crecer el presupuesto. CURVAS isoFLOP · L(N, D) DE CHINCHILLA · D = C / 6N 100M 1B 10B 100B 1T 2,0 2,2 2,4 2,6 2,8 3,0 parámetros N (escala log) loss 10²¹ FLOPs · N* ≈ 2,8B, D/N ≈ 22 10²² · N* ≈ 9,1B, D/N ≈ 20 10²³ · N* ≈ 29,5B, D/N ≈ 19 cada curva gasta el mismo cómputo: a la izquierda, modelos chicos con muchos datos; a la derecha, grandes con pocos · el mínimo está en el medio, y se mueve en diagonal al subir el presupuesto: N y D crecen parejo (≈ √C cada uno) con D/N cerca de 20
Con el cómputo fijo, ni el modelo más grande ni el más chico ganan: el mínimo de cada curva está donde los dos términos de la fórmula, A/N^α y B/D^β, quedan parejos. Al multiplicar el presupuesto por 10 el óptimo se mueve unas 3 veces en N y 3 veces en D.

E es la entropía irreducible del texto (ni infinito modelo ni infinitos datos la bajan); A/Nα es lo que perdés por tener un modelo finito; B/Dβ, por tener datos finitos. Como α y β son parecidos, los dos términos hay que reducirlos juntos: gastar todo en N deja B/Dβ dominando, y viceversa. Para probarlo entrenaron Chinchilla, 70B con 1,4T tokens, con el mismo cómputo que Gopher (280B con 300B tokens), y le ganó en casi todos los benchmarks siendo 4 veces más chico y por lo tanto 4 veces más barato de servir. Ese último punto es el que cambió la industria: desde 2022 nadie entrena un modelo "grande y con pocos datos".

🟢 La réplica de 2024 y los números que se usan hoy

Besiroglu et al. (Epoch AI, 2024) reconstruyeron los datos del paper a partir de sus figuras y encontraron que el ajuste original de la fórmula paramétrica tenía un problema de optimización (intervalos de confianza demasiado estrechos, α y β inconsistentes con los otros dos métodos del mismo paper). El síntoma se ve con la propia fórmula: con las constantes originales, el mínimo de las curvas isoFLOP queda en 50 a 90 tokens por parámetro según el presupuesto, no en 20; con el ajuste corregido vuelve a 19 a 22, consistente con los otros dos métodos del paper, y el óptimo citado por Epoch es de unos 25. Por eso las figuras de esta página usan las constantes corregidas. En la práctica la regla de "20" se sigue citando porque la diferencia entre 20 y 25 es chica frente a lo que viene en la sección siguiente.

4. Después de Chinchilla: sobreentrenar para servir barato

Chinchilla optimiza el cómputo de entrenamiento. Pero un modelo se entrena una vez y se sirve miles de millones de veces, y el costo de servir escala con N, no con D. Si vas a gastar más en inferencia que en entrenamiento, conviene un modelo más chico que el óptimo de Chinchilla entrenado con muchos más tokens: pagás de más una vez para pagar de menos cada token generado. Sardana y Frankle (2023) lo formalizaron; Llama 3 lo llevó al extremo:

ModeloNDTokens por parámetroÓptimo Chinchilla para ese N
Chinchilla (2022)70B1,4T201,4T
Llama 2 7B (2023)7B2T~290140B
Llama 3 8B (2024)8B15T~1.900160B
Llama 3 405B (2024)405B15,6T~398T
Gemma 3 27B (2025)27B14T~520540B
Qwen3 (2025)0,6B a 235B36T150 a 60.000—

Llama 3 8B vio casi 100 veces más tokens que su óptimo. El paper de Llama 3 dice explícitamente que la loss "seguía bajando de forma log-lineal" a 15T, y que para el 405B ajustaron su propia ley de escalado con corridas chicas que predijo 402B parámetros con 16,55T tokens para su presupuesto de 3,8 × 10²⁵ FLOPs. Ahí el 405B sí está cerca de Chinchilla; los chicos están sobreentrenados a propósito, porque son los que se sirven masivamente. La figura muestra qué se gana con cada duplicación de datos a N fijo, según la misma fórmula:

Sobreentrenar un 8B: loss contra tokens de entrenamiento Curva de loss contra tokens de entrenamiento en escala logarítmica para un modelo de 8B, calculada con la fórmula de Chinchilla. Tres puntos marcados: el óptimo de Chinchilla a 160B tokens, Llama 2 7B a 2T y Llama 3 8B a 15T; una línea punteada marca el piso que fija el tamaño del modelo. LOSS DE UN MODELO DE 8B SEGÚN LOS TOKENS DE ENTRENAMIENTO · MISMA FÓRMULA 10B 100B 1T 10T 100T 1,9 2,0 2,1 2,2 2,3 2,4 tokens de entrenamiento D (escala log) loss piso de 8B: E + A/N^α = 1,990 Chinchilla: 160B (20 por parámetro) · L = 2,16 Llama 2 7B: 2T · L = 2,06 Llama 3 8B: 15T · L = 2,02 de 160B a 15T tokens la loss baja de 2,16 a 2,02: lo mismo que rinde un modelo Chinchilla-óptimo de ≈ 33B, que cuesta 4,1× más por token servido y los retornos decrecen sin anularse: cada ×10 en datos vale menos que el anterior, y el piso lo fija N
A tamaño fijo, más datos siguen bajando la loss mucho después del óptimo de Chinchilla, con retornos decrecientes y un piso que solo N puede mover. Llama 3 8B a 15T tokens rinde como un modelo Chinchilla-óptimo bastante más grande, y se sirve al costo de un 8B: esa es la cuenta que justifica sobreentrenar.

Dos lecturas de esa curva. Primera: los retornos decrecen pero no se anulan; con la fórmula corregida, pasar de 160B a 15T tokens en un 8B baja la loss tanto como pasar de 8B a unos 33B de parámetros con datos Chinchilla-óptimos, y el 8B se sirve 4 veces más barato. Segunda: el modelo chico sobreentrenado nunca alcanza al grande; la asíntota A/Nα la fija N. Por eso las familias abiertas traen varios tamaños: no es una escalera de calidad sola, es una escalera de costo de inferencia con calidad acotada por cada N.

🔧 En tu proyecto

Gemma 4 31B es un modelo sobreentrenado del mismo modo, y eso tiene una consecuencia para tu CPT generacional: la ley dice que a N fijo cada duplicación de datos rinde cada vez menos, y tu corpus de Lacan es minúsculo frente a los billones de tokens del pre-entrenamiento. El CPT no "mueve la curva"; mueve la distribución. La ganancia que medís viene de acercar el modelo a un dominio, no de bajar la loss general, y por eso tu curaduría por novedad pesa más que el volumen.

5. Los límites: datos, emergencia y el segundo eje

El techo de datos

Qwen3 se entrenó con 36T tokens y Llama 4 con más de 30T; las estimaciones de Epoch AI sitúan el stock de texto humano público de calidad en el orden de los 300T tokens, y varias épocas sobre los mismos datos rinden cada vez menos (Muennighoff et al., 2023, midieron que hasta 4 épocas cuestan poco y después el retorno se desploma). Las respuestas actuales son datos sintéticos (generados por modelos y filtrados, la base de la destilación de R1), más modalidades (código, imagen, audio, video) y el eje de la sección siguiente.

Emergencia: qué es real y qué es del métrico

Wei et al. (2022) catalogaron "habilidades emergentes": tareas donde los modelos chicos rinden al azar y a partir de cierto N el rendimiento salta. Schaeffer et al. (2023) mostraron que buena parte de esos saltos son artefactos de métricas discontinuas (exact match: o acertás los 5 dígitos o cero); medidas continuas como la loss por token en la misma tarea mejoran suave. La lección práctica: la loss de pre-entrenamiento es predecible; la métrica que a vos te importa (accuracy en tu benchmark) puede ser una función abrupta de esa loss, y por eso los laboratorios reportan predicciones de loss, no de capacidades.

El segundo eje: cómputo en tiempo de prueba

Todo lo anterior escala el cómputo de entrenamiento. Snell et al. (2024) mostraron que, a igualdad de FLOPs, dejar que un modelo chico genere más (más muestras, más pasos de razonamiento, búsqueda con un verificador) puede rendir más que un modelo 14 veces más grande respondiendo de una, siempre que el problema sea difícil pero no imposible para el chico. OpenAI o1 (septiembre 2024) y DeepSeek R1 (enero 2025) convirtieron eso en producto: el RL con recompensas verificables que viste en HF cap. 12 le enseña al modelo a usar más tokens cuando hace falta, y la calidad escala con la longitud del razonamiento. Hoy un modelo tiene dos presupuestos: el que se gastó entrenándolo (fijo) y el que gasta por respuesta (ajustable, con "thinking budgets" en la API). La tabla de la model card de Gemma 4 con y sin thinking es esa segunda ley de escalado en una sola fila.

🟢 MoE y las leyes

Con MoE el N de la fórmula se desdobla: la calidad depende de los totales y el cómputo de los activos. Los ajustes recientes (Krajewski et al., 2024, para expertos finos) confirman que a igual cómputo de entrenamiento un MoE llega a menor loss que un denso, con un óptimo de granularidad que crece con el presupuesto. Es la justificación cuantitativa de la página anterior: más totales por activo, expertos más finos.

6. Errores comunes

ErrorPor qué pasaQué hacer
Aplicar "20 tokens por parámetro" como regla de calidadEs el óptimo de cómputo de entrenamiento; ignora el costo de inferencia, que es lo que hoy decide.Si el modelo se va a servir mucho, sobreentrenar un N menor; si es un experimento de una sola pasada, Chinchilla (§3, §4).
Extrapolar una ley ajustada en un rango chico varios órdenes de magnitudLos exponentes cambian con el schedule de learning rate, los datos y la arquitectura; Kaplan vs. Chinchilla es el ejemplo histórico.Ajustar la ley con corridas propias en el rango más cercano posible al objetivo, como hizo Llama 3, y reportar intervalos (§2, §3).
Comparar modelos por parámetros totalesUn 8B con 15T tokens le gana a un 13B con 1T; un MoE de 671B cuesta como 37B.Comparar por cómputo de entrenamiento (6ND con N activos) y por costo de inferencia (2N activos), no por N (§1, §4).
Esperar que la loss prediga tu benchmarkLa loss es suave y predecible; las métricas discontinuas (exact match, pass@1) no.Medir con métricas continuas cuando se pueda (log-probabilidad de la respuesta correcta) y no anunciar "emergencia" sin descartar el métrico (§5).
Usar 6ND para un modelo con contexto muy largo o para inferenciaLa atención agrega un término cuadrático en contexto que a 128K ya no es despreciable; y en inferencia el forward cuesta 2ND, no 6.Sumar el término de atención (aprox. 2 · capas · contexto · d_model por token) cuando el contexto supera unos 8K, y usar 2N para inferencia (§1).
Pensar que el escalado terminó porque se acaban los datosEl cómputo en tiempo de prueba y los datos sintéticos son ejes de escalado independientes del stock de texto humano.Separar los tres ejes al leer un paper: N y D de pre-entrenamiento, tokens por respuesta, y de dónde salen los datos (§5).

7. Resumen

  1. Entrenar cuesta unos 6 FLOPs por parámetro y por token (6ND); inferir, 2 por parámetro activo. Con esa regla, un presupuesto de cómputo es un producto N·D a repartir.
  2. Kaplan (2020): la loss cae como ley de potencias con N, D y C, con exponentes chicos, y la forma de la red importa poco frente al tamaño.
  3. Chinchilla (2022): N y D escalan parejo; el óptimo de entrenamiento está en unos 20 a 25 tokens por parámetro. Un 70B con 1,4T le ganó a un 280B con 300B por el mismo cómputo.
  4. Desde Llama 3 los modelos chicos se sobreentrenan 10 a 100 veces por encima de Chinchilla porque el costo de inferencia escala con N; el grande de cada familia queda cerca del óptimo.
  5. Los límites son el stock de datos humanos y la no linealidad de las métricas; el cómputo en tiempo de prueba (o1, R1, thinking budgets) es un segundo eje de escalado, y MoE desdobla N en totales y activos.

8. Ponete a prueba

Respondé antes de abrir cada respuesta. Si fallás una, volvé a la sección indicada.

1. Tenés 1 × 10²³ FLOPs. Según Chinchilla, ¿qué modelo entrenás y con cuántos tokens?

Con D = 20N y C = 6ND = 120N², N = √(1e23 / 120) ≈ 2,9 × 10¹⁰: un modelo de unos 29B con unos 580B tokens. Con la réplica de Epoch (25 tokens por parámetro) sale un 26B con 650B. (§1, §3)

2. ¿Por qué Kaplan concluyó que había que crecer más en parámetros que en datos, y qué cambió en Chinchilla?

Un artefacto experimental: Kaplan usó un schedule de learning rate largo fijo para todas las corridas, lo que castiga a las corridas cortas con muchos datos por parámetro y hace parecer que los datos rinden menos. Chinchilla ajustó el schedule a cada corrida y encontró que N y D deben crecer en la misma proporción. (§2, §3)

3. Llama 3 8B se entrenó con 15T tokens, unas 90 veces su óptimo de Chinchilla. ¿Es un error de Meta?

No: es una decisión sobre inferencia. El óptimo de Chinchilla minimiza el cómputo de entrenar; un modelo que se va a servir miles de millones de veces conviene que sea chico, y para que un 8B rinda como uno más grande se le dan muchos más datos. Se paga una vez para ahorrar en cada token generado. (§4)

4. En la fórmula L = E + A/Nα + B/Dβ, ¿qué representa E y qué implica para un modelo sobreentrenado?

E es la entropía irreducible del texto: la loss que ni infinitos parámetros ni infinitos datos pueden bajar. Para un N fijo, aumentar D solo reduce B/Dβ; el término A/Nα queda como piso, así que un modelo chico sobreentrenado nunca alcanza a uno grande con datos óptimos. (§3, §4)

5. ¿Qué diferencia hay entre "escalar el cómputo de entrenamiento" y "escalar el cómputo en tiempo de prueba", y qué capítulo del curso trata el segundo?

El primero se gasta una vez y fija N y D; el segundo se gasta por respuesta (más tokens de razonamiento, más muestras, búsqueda con verificador) y es ajustable. Snell et al. mostraron que a igual FLOPs puede rendir más que un modelo mucho más grande; o1 y R1 lo hicieron producto con RL verificable, que es el tema de HF cap. 12. (§5)

6. Un paper anuncia que una habilidad "emerge" a partir de 30B. ¿Qué preguntarías antes de creerlo?

Con qué métrica se midió. Si es discontinua (exact match, acierto total o nada), el salto puede ser del métrico y no del modelo: la log-probabilidad de la respuesta correcta suele mejorar suave con N. Pediría la curva con una métrica continua sobre los mismos modelos. (§5)

9. Para practicar

✏️ Ejercicio 1 — reproducir la curva isoFLOP con la fórmula de Chinchilla

Implementá L(N, D) con las constantes de §3. Para C = 1e21, 1e22 y 1e23, barré N en escala logarítmica de 1e8 a 1e12, calculá D = C / (6N) y la loss, y encontrá el N del mínimo. Después calculá D/N en el mínimo.

import numpy as np
E, A, B, a, b = 1.8172, 482.01, 2085.43, 0.3478, 0.3658   # probá también las originales: 1.69, 406.4, 410.7, 0.34, 0.28
L = lambda N, D: E + A / N**a + B / D**b
N = np.logspace(8, 12, 2000)
for C in (1e21, 1e22, 1e23):
    D = C / (6 * N)
    i = np.argmin(L(N, D))
    print(f"C={C:.0e}  N*={N[i]:.2e}  D*={D[i]:.2e}  tokens/param={D[i]/N[i]:.1f}")
Pista / qué esperar

Con las constantes corregidas los tres mínimos dan entre 19 y 22 tokens por parámetro (baja despacio con C, porque β > α). N* crece como √C: multiplicar el cómputo por 10 mueve el óptimo unas 3,2 veces en N y 3,2 en D. Con las constantes originales de Hoffmann el mismo script da 50, 62 y 78: ese es el desajuste que encontró la réplica de Epoch. Si te da tokens/param constante exacto, revisá que no hayas puesto α = β.

✏️ Ejercicio 2 — el presupuesto de tu propia GPU

Sin código, o con tres líneas: tu RTX 5090 rinde del orden de 2 × 10¹⁴ FLOP/s densos en bf16 de pico. Con una utilización realista del 35 %, ¿cuántos FLOPs entrenás en 30 días? ¿Qué modelo Chinchilla-óptimo es ese presupuesto? ¿Y cuántos tokens de CPT podés pasarle a Gemma 4 31B en ese mes con LoRA, si el forward+backward de LoRA cuesta casi lo mismo que el full (unos 6N por token) porque el backward igual atraviesa todo el modelo?

Pista / qué esperar

30 días × 86.400 s × 0,35 × 2e14 ≈ 1,8 × 10²⁰ FLOPs. Chinchilla-óptimo: N = √(1,8e20 / 120) ≈ 1,2B con 24B tokens, un modelo chico. Para CPT del 31B: 1,8e20 / (6 × 31e9) ≈ 1.000 millones de tokens en el mes, sin contar que en NVFP4 el backward no corre sobre los pesos cuantizados. Lo que debería quedarte: en tu hardware el escalado por datos de un 31B es imposible, y el margen está en la calidad del corpus y en el segundo eje, el cómputo por respuesta.

10. Fuentes y para seguir