Cuatro laboratorios que no comparten datos, arquitectura, hardware ni opinión sobre casi nada publicaron entre 2020 y 2024 el mismo párrafo. GPT-3 se entrenó con Adam, β1=0,9\beta_1 = 0{,}9, β2=0,95\beta_2 = 0{,}95 y decaimiento de pesos 0,10{,}1. OPT, con AdamW, 0,90{,}9, 0,950{,}95 y 0,10{,}1. Llama 2, con AdamW, 0,90{,}9, 0,950{,}95 y 0,10{,}1. DeepSeek-V3, con AdamW, 0,90{,}9, 0,950{,}95 y 0,10{,}1. La regla de actualización cabe en cuatro líneas, se publicó en 2017 como corrección de otra de 2014, y los tres números que la acompañan no se han movido en cinco años ni entre continentes.

Y luego, en catorce meses, tres grietas. Kimi K2, en julio de 2025, un billón de parámetros entrenados sin AdamW. GLM-5, en febrero de 2026. DeepSeek-V4, en abril de 2026, con 1,6 billones de parámetros: el mismo laboratorio que dieciséis meses antes había escrito el párrafo de todos. Los tres usan Muon, un optimizador que en diciembre de 2024 era una entrada de blog.

modeloañooptimizadorβ1\beta_1β2\beta_2decaimiento
GPT-32020Adam0,90,950,1
OPT2022AdamW0,90,950,1
Llama 22023AdamW0,90,950,1
DeepSeek-V32024AdamW0,90,950,1
Kimi K22025Muon0,1
GLM-52026Muon
DeepSeek-V42026Muon

GPT-3 lo llama Adam y cita el artículo de AdamW para el decaimiento: es el mismo algoritmo. Y los tres de abajo no han abandonado AdamW del todo. DeepSeek-V4 lo mantiene para los embeddings, la capa de salida, los sesgos y las normalizaciones, y usa Muon para todo lo que sea una matriz. Ese reparto no es un detalle de implementación: es la idea de Muon, y este artículo termina en ella.

Empieza mucho antes. La optimización matemática lleva dos siglos acumulando métodos, y una parte sustancial de ellos es mejor que el descenso de gradiente en casi cualquier criterio que se quiera medir: pasos hasta llegar, sensibilidad a los ajustes, garantías. El de Newton, que tiene más de tres siglos, resuelve en un solo paso el problema en el que el descenso de gradiente da miles. Nadie entrena con Newton. La pregunta de este artículo es por qué, y la respuesta tiene tres partes: por qué a esta escala la única información que se puede pagar es el gradiente, cómo cada mejora del descenso recompra a plazos algo que Newton tenía gratis, y por qué la última de esas mejoras es la que ha movido el trono.

El orden va a ser lógico y no cronológico: cada método arregla un fallo concreto del anterior, y ese orden no es el de las fechas. Para tener las fechas delante:

Línea de tiempo, no a escala, con doce hitos: 1847 Cauchy, descenso de gradiente; 1951 Robbins y Monro, estocástico; 1964 Polyak, momentum; 1983 Nesterov, momentum acelerado; 2011 AdaGrad, una tasa por parámetro; 2012 RMSProp, media móvil; 2014 Adam, las dos ideas; 2017 AdamW, decaimiento desacoplado; 2018 Shampoo, precondicionar por matriz; 2024 Muon, ortogonalizar el paso; 2025 Kimi K2, un billón de parámetros con Muon; 2026 DeepSeek-V4, Muon a 1,6 billones. Ocho de los doce caen en los últimos quince años.

Ciento sesenta y cuatro años entre el primer hito y el quinto, y quince entre el quinto y el último. La escala no es uniforme; el orden sí.

Lo que hay que minimizar, y lo que se puede pagar por paso

Llamemos θ\theta a todos los parámetros del modelo, apilados en un solo vector de PP coordenadas, y L(θ)\mathcal{L}(\theta) a la pérdida: un número que mide cuánto se equivoca el modelo con esos parámetros, y que entrenar significa hacer pequeño. Para Llama 3 405B, PP vale 4,0510114{,}05 \cdot 10^{11}, y la pérdida es una media sobre 15,615{,}6 billones de tokens:

L(θ)=1Ni=1Ni(θ),\mathcal{L}(\theta) = \frac{1}{N}\sum_{i=1}^{N} \ell_i(\theta),

donde i\ell_i es lo que se equivoca el modelo en el token ii y NN son esos 15,615{,}6 billones. Tres cosas de esa definición deciden todo lo que viene después.

La primera es que L\mathcal{L} no se puede evaluar. Calcularla exacta es pasar el modelo entero por los NN tokens una vez, y eso es, con una aproximación razonable, lo que cuesta todo el entrenamiento: un modelo de lenguaje ve cada token del corpus una vez, o poco más. Evaluar la pérdida exacta una sola vez cuesta lo mismo que entrenar. Cualquier método que pida el valor exacto de L\mathcal{L} en cada paso está descartado antes de empezar.

La segunda es que no hace falta el mínimo. L\mathcal{L} no es convexa: tiene muchos valles, y ningún método que se pueda ejecutar garantiza encontrar el más hondo. Pero tampoco es lo que se pide. Lo que se mide es la pérdida del modelo que se entrega, y un valle que no sea el más hondo sirve si es lo bastante hondo. Esa concesión es la que hace posible todo lo demás.

La tercera es el precio de cada tipo de información, y conviene ponerle números. Evaluar L\mathcal{L} sobre un lote de datos es un forward pass. Calcular su gradiente, el vector de PP derivadas parciales que dice hacia dónde queda el suelo desde aquí, cuesta más o menos dos forward más, por la regla de la cadena aplicada hacia atrás: tres forward en total, y un vector de PP números que ocupa lo mismo que el modelo. Calcular la matriz de segundas derivadas, el hessiano HH, que dice cuánto se curva la pérdida en cada dirección, produce P2P^{2} números. Para Llama 3 son 1,610231{,}6 \cdot 10^{23}. Las 1638416\,384 GPUs H100 que se usaron para entrenarlo suman 1,310151{,}3 \cdot 10^{15} bytes de memoria, y guardar ese hessiano en la precisión más baja que se usa para entrenar pide 250250 millones de veces esa memoria. Ni siquiera hace falta la matriz entera para que salga mal: el producto de HH por un solo vector, que dice la curvatura en una sola dirección, cuesta aproximadamente lo mismo que un gradiente entero.

Ésa es la asimetría de la que sale todo. Con un gradiente se sabe hacia dónde bajar en las PP direcciones a la vez, y cuesta tres forward. Saber cuánto se curva la pérdida en una dirección cuesta lo mismo, y saberlo en todas no cabe en ningún sitio.

El catálogo, ordenado por lo que cada método pide

Los métodos de optimización matemática se pueden clasificar en cuatro familias según el tipo de información que exigen sobre la función de pérdida a cambio de dar un paso: sólo valores de la función, una promesa sobre su forma, sus segundas derivadas o sólo las primeras. Ése es el orden que sigue esta sección, y deja para el final la familia con la que se entrena.

Sin derivadas. Búsqueda en rejilla, búsqueda aleatoria, el simplex de Nelder-Mead de 1965, los algoritmos genéticos, las estrategias evolutivas, la optimización bayesiana. Todos piden lo mismo, que es lo mínimo: evaluar L\mathcal{L} en los puntos que ellos elijan. No derivan nada, y a cambio tienen que descubrir hacia dónde está el suelo comparando valores, y en PP dimensiones hay PP direcciones independientes que comparar. Aproximar el gradiente por diferencias finitas cuesta P+1P + 1 evaluaciones, contra las tres que cuesta calcularlo. Las estrategias evolutivas lo estiman más barato, perturbando los parámetros al azar y quedándose con las perturbaciones que bajan la pérdida, y en 2017 enseñaron a andar a un humanoide simulado en diez minutos repartiendo el trabajo entre más de mil procesadores. Pero el ruido de esa estimación crece con PP, y PP ha crecido cien mil veces desde entonces. Lo que se ahorra en no derivar se paga PP veces en evaluar.

Con estructura. El simplex de Dantzig de 1947 y los métodos de punto interior resuelven programas lineales con cientos de miles de variables; la programación cuadrática y la optimización convexa entera, con sus subgradientes, sus métodos proximales y sus garantías de que el mínimo encontrado es el único, resuelven problemas enormes en segundos. Lo que piden a cambio no es información sobre L\mathcal{L} sino una promesa sobre su forma: que sea lineal, cuadrática o convexa. La pérdida de una red no es ninguna de las tres, y no hay forma de hacérselo creer.

Segundo orden. Aquí está el método que resuelve el problema, y conviene ver por qué. Cerca de θ\theta la pérdida se parece a su aproximación de segundo orden, una cuadrática con el gradiente como término lineal y el hessiano como curvatura:

L(θ+Δ)L(θ)+(θL)Δ+12ΔHΔ.\mathcal{L}(\theta + \Delta) \approx \mathcal{L}(\theta) + \left(\nabla_{\theta}\mathcal{L}\right)^{\top}\Delta + \tfrac{1}{2}\,\Delta^{\top} H\, \Delta.

Si esa aproximación fuera exacta, el mejor paso sería el que la minimiza. Derivando respecto de Δ\Delta e igualando a cero queda θL+HΔ=0\nabla_{\theta}\mathcal{L} + H\Delta = 0, es decir,

Δ=H1θL,\Delta = -H^{-1}\,\nabla_{\theta}\mathcal{L},

que es el método de Newton. No tiene tasa de aprendizaje: el tamaño del paso lo decide la curvatura, y lo decide por separado en cada dirección. Donde la pérdida se curva mucho el paso es corto, y donde se curva poco es largo, sin que nadie se lo diga. Newton tiene gratis lo que a todo lo demás le va a costar: la curvatura de cada dirección.

Lo que cuesta ya está dicho: P2P^{2} números para guardar HH, y del orden de P3P^{3} operaciones para resolver el sistema. Los métodos cuasi-Newton nacieron para no pagar eso. BFGS, llamado así por sus autores Broyden, Fletcher, Goldfarb y Shanno, es uno de los métodos cuasi-Newton más conocidos. En lugar de calcular el hessiano, construye una aproximación de H1H^{-1} a partir de cómo cambia el gradiente entre un paso y el siguiente, que es información que ya tienes. Sigue ocupando P2P^{2}. L-BFGS (Limited-memory BFGS), propuesto posteriormente, evita almacenar toda la aproximación al hessiano inverso: conserva sólo los últimos mm pares de cambios, con mm entre cinco y veinte, y con ellos reconstruye el producto H1θLH^{-1}\nabla_{\theta}\mathcal{L} en 4mP4mP operaciones y 2mP2mP de memoria. Eso sí se puede pagar, y durante veinte años fue el método por defecto del aprendizaje automático: regresión logística, campos aleatorios condicionales, máquinas de vectores soporte con núcleo lineal. En 2011 se probó en redes profundas y en algunos problemas competía con el descenso de gradiente.

Cayó por dos cosas que necesita y que un lote de datos no le puede dar. La primera: el par de cambios que usa para actualizar su aproximación, cuánto se movió θ\theta y cuánto cambió el gradiente, sólo tiene sentido si los dos gradientes se calcularon sobre los mismos datos; con lotes distintos, la diferencia de gradientes es sobre todo la diferencia entre los lotes, y esa diferencia entra en la estimación de H1H^{-1} como si fuera curvatura. La segunda: para decidir cuánto avanzar en la dirección que propone, L-BFGS hace una búsqueda lineal, que prueba varios tamaños de paso y se queda con uno que baje la pérdida lo bastante, y para saber si la pérdida ha bajado hay que poder evaluarla. Las dos cosas piden valores exactos, y la primera sección dejó dicho lo que cuesta uno. Los métodos Hessian-free de 2010 intentaron la otra ruta: no guardar HH y usar sólo productos HvHv, cada uno al precio de un gradiente, para resolver el sistema de Newton por gradiente conjugado. Salía a decenas o cientos de productos por paso. En ese tiempo, el descenso de gradiente da decenas o cientos de pasos.

Primer orden. Lo que queda. Un gradiente por paso, tres forward, PP números de memoria, y ninguna promesa sobre la forma de L\mathcal{L}.

familiaqué pide por pasocoste por pasomemoria¿tolera un gradiente ruidoso?
sin derivadasP\sim P evaluaciones de L\mathcal{L}P\sim P forwardPP
con estructuraque L\mathcal{L} sea lineal, cuadrática o convexadependedependeno aplica
Newtongradiente, hessiano y resolver un sistemaP3\sim P^{3}P2P^{2}no
L-BFGSun gradiente y mm pares de cambios4mP\sim 4mP2mP2mPno: secante y búsqueda lineal
primer ordenun gradiente33 forwardPP

La última columna es la que decide, y merece su propio párrafo, porque la razón por la que el descenso de gradiente no sólo sobrevive sino que basta está ahí y no en el coste. La pérdida es una media de NN términos, así que su gradiente es la media de NN gradientes, y la media de un puñado de ellos elegidos al azar es un estimador insesgado de la media de todos: apunta, en promedio, exactamente al mismo sitio, y cuesta lo que cueste el puñado. El hessiano también se puede estimar así. Lo que no se puede estimar así es su inversa, que es lo que Newton necesita: la inversa de una estimación ruidosa no es una estimación de la inversa, y el ruido en las direcciones poco curvadas, que son las que tienen entradas pequeñas en HH, sale amplificado al invertir. El gradiente es la única pieza de información que es a la vez barata y estimable sin sesgo con un trozo de los datos.

Todo lo que viene desde aquí se puede leer así: el descenso de gradiente es lo único que se puede pagar, y cada una de sus mejoras es una forma de aproximar H1H^{-1} que sobreviva al ruido. La diagonal, en RMSProp y Adam. Un producto de matrices pequeñas, en Shampoo. El espectro de cada matriz de pesos, en Muon. Cada una recompra un trozo de lo que Newton tenía gratis, al precio que se puede pagar.

El descenso de gradiente, y el único número que eliges

En 1847, Cauchy presentó a la Academia de Ciencias de París una nota de tres páginas para resolver, sin despejar nada, los sistemas de ecuaciones que dan la órbita de un astro. La idea cabe en una frase: donde estés, mira hacia dónde sube más deprisa la función y muévete un poco en la dirección contraria. Lo que lleva un artículo es lo que significa «un poco».

El gradiente θLRP\nabla_{\theta}\mathcal{L} \in \mathbb{R}^{P} reúne una derivada parcial por parámetro: cada coordenada dice a qué ritmo cambia la pérdida cuando se mueve ese parámetro y los demás se quedan quietos. Que sea la dirección de subida más rápida no es una definición sino un teorema, y sale de una desigualdad. Toma cualquier dirección u\mathbf{u} de longitud 11; cuánto cambia la pérdida al avanzar un poco en ella es la derivada direccional, que es un producto escalar, (θL)u\left(\nabla_{\theta}\mathcal{L}\right)^{\top}\mathbf{u}, y por Cauchy-Schwarz ese producto está acotado por θL\lVert \nabla_{\theta}\mathcal{L} \rVert, con igualdad sólo cuando u\mathbf{u} es paralela al gradiente. Ninguna dirección sube más por unidad de paso que la del gradiente, luego ninguna baja más que la contraria. De ahí la regla entera:

θt+1=θtηθL(θt),\theta_{t+1} = \theta_t - \eta\,\nabla_{\theta}\mathcal{L}(\theta_t),

donde tt cuenta pasos y η>0\eta > 0 es la tasa de aprendizaje, el único número de la fórmula que eliges tú. Que cada paso baje la pérdida se ve con el plano tangente:

L(θt+Δ)L(θt)+(θL)Δ,\mathcal{L}(\theta_t + \Delta) \approx \mathcal{L}(\theta_t) + \left(\nabla_{\theta}\mathcal{L}\right)^{\top}\Delta,

y con Δ=ηθL\Delta = -\eta\,\nabla_{\theta}\mathcal{L} la pérdida cae ηθL2\eta\,\lVert\nabla_{\theta}\mathcal{L}\rVert^{2}, que no es negativo. Toda la deuda está en el \approx: vale cerca de θt\theta_t, y cuánto es cerca lo decide η\eta.

La cuenta sale entera sobre una parábola

Toma la pérdida más pequeña que existe, un solo parámetro y L(w)=w2\mathcal{L}(w) = w^{2}, con derivada 2w2w. La regla queda wt+1=wt2ηwt=(12η)wtw_{t+1} = w_t - 2\eta\,w_t = (1 - 2\eta)\,w_t: multiplicar por la misma constante en cada paso. Iterando desde w0w_0,

wt=(12η)tw0,w_t = \left(1 - 2\eta\right)^{t} w_0,

y una potencia tiende a cero si y sólo si la base mide menos que 11. La condición es 12η<1\lvert 1 - 2\eta \rvert < 1, o sea 0<η<10 < \eta < 1, y el propio factor cuenta lo que pasa en cada tramo: entre 00 y 0,50{,}5 el peso se encoge sin cambiar de signo; en 0,50{,}5 cae en el mínimo de un solo paso; entre 0,50{,}5 y 11 alterna de signo y se encoge; en 11 alterna para siempre; por encima, alterna y crece.

Tres gráficas apiladas, las tres con la misma parábola: la pérdida en el eje vertical y el peso en el horizontal, con el mínimo en el centro. En las tres el primer punto está en el mismo sitio, a la derecha, donde el peso vale uno. Arriba, con tasa de aprendizaje 0,10, los seis puntos bajan por el brazo derecho acercándose al centro cada vez menos, y el último se queda a medio camino. En medio, con 0,40, el segundo punto ya está casi en el fondo y el tercero encima de él. Abajo, con 1,05, los puntos saltan de un brazo al otro y cada uno queda más alto que el anterior: el quinto llega casi al borde superior del dibujo.

Los dos fallos son opuestos: el paso corto baja siempre y no termina de llegar, y el paso largo cruza el fondo y sale más arriba de donde entró. No hay un tamaño de paso correcto por naturaleza; hay uno que depende de cuánto se curva la pérdida.

Ese 11 del límite es de esta parábola. Con L(w)=aw2\mathcal{L}(w) = a\,w^{2} la derivada es 2aw2aw, el factor pasa a 12ηa1 - 2\eta a y la condición a η<1/a\eta < 1/a: cuanto más se curva la pérdida, más corto tiene que ser el paso. Hasta aquí nada duele, porque aa es un número y η\eta se elige mirándolo.

Una tasa para dos curvaturas

Duele en cuanto hay dos direcciones que se curvan distinto, y una red tiene PP. La función L=x2+20y2\mathcal{L} = x^{2} + 20y^{2} es lo mínimo que hace falta para verlo: un cañón alargado, casi plano a lo largo de xx y muy empinado a lo largo de yy. La cuenta de la parábola, coordenada a coordenada, pide η<1\eta < 1 para xx y η<1/20=0,05\eta < 1/20 = 0{,}05 para yy, y manda la segunda. Los factores por paso son 12η1 - 2\eta en xx y 140η1 - 40\eta en yy.

Dos mapas de contorno del mismo cañón, la función x² más veinte y², alargado en horizontal: las elipses son mucho más anchas que altas. En los dos, la trayectoria del descenso de gradiente arranca arriba a la izquierda. A la izquierda, con tasa 0,02, baja al eje horizontal en tres pasos y después avanza hacia el centro en pasos cortos que se acortan; tarda 80 pasos en llegar. A la derecha, con tasa 0,045, cada paso cruza el eje y cae en la pared contraria, un zigzag que se estrecha mientras avanza hacia el centro; tarda 35 pasos.

El mismo cañón, el mismo punto de partida. Con η=0,02\eta = 0{,}02 los factores valen 0,960{,}96 y 0,20{,}2: la coordenada empinada llega al fondo en tres pasos y la plana avanza un 44 % por paso, y tarda 8080. Con η=0,045\eta = 0{,}045 valen 0,910{,}91 y 0,8-0{,}8: la plana va el doble de rápido, y la empinada cruza el fondo en cada paso y rebota en la pared de enfrente. Llega en 3535, zigzagueando.

Las dos trayectorias son el mismo dilema visto desde cada lado. Una tasa pequeña respeta la dirección empinada y desperdicia la plana; una grande aprovecha la plana y rebota en la empinada. Ninguna η\eta sirve bien a las dos, porque η\eta es un solo número y las curvaturas son dos.

Al cociente entre la curvatura mayor y la menor se le llama número de condición, κ\kappa, y aquí vale 2020. Llamemos amaxa_{\max} a la curvatura en la dirección más empinada y amina_{\min} a la de la más plana. El número de condición manda en el número de pasos: la mejor η\eta posible es del orden de 1/amax1/a_{\max}, y con ella la dirección plana se contrae un factor 1amin/amax1 - a_{\min}/a_{\max} por paso, así que llegar a una precisión dada cuesta un número de pasos proporcional a κ\kappa. En una red, calcular ese κ\kappa no se puede pagar, pero sí hay una medida que se repite en todos los modelos que lo han mirado: las direcciones más y menos curvadas difieren en varios órdenes de magnitud. En un cañón de κ=20\kappa = 20 hablamos de unas pocas decenas de pasos. Uno cien veces más estrecho, en la sección de Adam, va a costar 36193\,619.

El problema tiene nombre, mal condicionamiento, y todo lo que viene después de esta sección es una forma de tratarlo. Newton lo trata dividiendo por HH, y no se puede pagar. Lo demás son maneras de aproximar esa división con lo que sí se puede.

Estocástico: el gradiente que nadie puede calcular entero

Antes de tratar el cañón hay que resolver el otro problema de la primera sección, que es previo: el gradiente exacto cuesta lo mismo que el entrenamiento entero, así que nadie lo calcula. Lo que se calcula es el gradiente sobre un lote (batch) de BB ejemplos elegidos al azar,

g^=1Biloteθi(θ),\hat{\mathbf{g}} = \frac{1}{B}\sum_{i \in \text{lote}} \nabla_{\theta}\,\ell_i(\theta),

y se resta ése. Es un estimador: su media sobre todos los lotes posibles es exactamente θL\nabla_{\theta}\mathcal{L}, porque el gradiente de una media es la media de los gradientes, y su varianza se reduce como 1/B1/B. Cuesta lo que cuesta BB, no lo que cuesta NN. Para Kimi K2, cada lote son 6767 millones de tokens de un corpus de 15,515{,}5 billones: cada paso mira un 0,00040{,}0004 % de los datos y apunta, en promedio, al mismo sitio que si los mirara todos. Con el mismo cómputo que un solo paso exacto se dan doscientos mil ruidosos, y el ruido se promedia por el camino.

Eso es el descenso de gradiente estocástico, SGD, y no es una aproximación del método sino un teorema de 1951 sobre cómo encontrar el cero de una función que sólo se puede observar con ruido. Robbins y Monro demostraron que la iteración converge si la tasa decrece de una manera concreta: la suma de todas las ηt\eta_t tiene que divergir, para que el método pueda llegar a cualquier distancia, y la suma de sus cuadrados tiene que converger, para que el ruido acabe apagándose.

Ese ruido del que hablan Robbins y Monro es, en nuestro caso, la diferencia entre el gradiente que calculamos y el que querríamos calcular: el del lote menos el exacto,

g^θL.\hat{\mathbf{g}} - \nabla_{\theta}\mathcal{L}.

Tiene media cero, en promedio apuntamos al sitio correcto, pero no es gratis. Cuesta tres cosas, y las tres importan más adelante. La primera es que un paso concreto puede subir la pérdida; la garantía de bajada de la sección anterior pasa a ser una garantía en promedio. La segunda es que cerca del fondo la trayectoria no se para: tiembla con una amplitud proporcional a η\eta por el tamaño del ruido, y la única forma de asentarla es bajar η\eta. Por eso ningún modelo se entrena con una tasa constante hasta el final. La tercera es la que cerró la puerta de la sección anterior: con un gradiente ruidoso, la búsqueda lineal no sabe si la pérdida ha bajado y la condición de la secante mide ruido. Los métodos de segundo orden no perdieron sólo por coste; perdieron porque el ruido contamina la estimación de la curvatura, y las garantías de convergencia que sobreviven a ese ruido son las de primer orden.

Hay una cosa que el ruido regala, y conviene decirla con cuidado porque se ha exagerado mucho. Un punto de silla, donde el gradiente es cero pero la pérdida baja en alguna dirección, es un equilibrio inestable: el descenso exacto se queda parado encima, y al ruidoso le basta un empujón en cualquier dirección que baje para salir. En alta dimensión, casi todos los puntos donde el gradiente se anula son sillas y no mínimos, así que esto no es un detalle. Pero no es lo que hace que SGD funcione; es lo que hace que no se quede atascado.

Con esto ya está el método que entrena todos los modelos de la tabla: un gradiente ruidoso, restado con una tasa que decrece. Lo que falta es hacerlo soportable en un cañón, y ahí empiezan las variantes.

Momentum: recordar el paso anterior

El zigzag del cañón tiene una propiedad que se puede explotar: en la dirección empinada el gradiente cambia de signo en cada paso, y en la plana lo mantiene. Un método que promedie los gradientes recientes cancela lo primero y acumula lo segundo, sin saber cuál dirección es cuál. Polyak lo propuso en 1964 con una imagen física, una bola pesada que rueda por la superficie y conserva parte de su velocidad, y de ahí el nombre:

vt+1=βvt+θL(θt),θt+1=θtηvt+1,\mathbf{v}_{t+1} = \beta\,\mathbf{v}_t + \nabla_{\theta}\mathcal{L}(\theta_t), \qquad \theta_{t+1} = \theta_t - \eta\,\mathbf{v}_{t+1},

con β\beta entre 00 y 11, y casi siempre 0,90{,}9. Para simplificar, escribimos gt=θL(θt)\mathbf{g}_{t} = \nabla_{\theta}\mathcal{L}(\theta_t). Desplegando la primera línea, vt\mathbf{v}_t es una suma de todos los gradientes anteriores con pesos que decaen geométricamente:

vt=gt1+βgt2+β2gt3+.\mathbf{v}_t = \mathbf{g}_{t-1} + \beta\,\mathbf{g}_{t-2} + \beta^{2}\,\mathbf{g}_{t-3} + \cdots.

Con eso la cuenta de las dos direcciones sale entera. Si el gradiente vale siempre lo mismo, g\mathbf{g}, la suma tiende a g/(1β)\mathbf{g}/(1 - \beta): con β=0,9\beta = 0{,}9, diez veces el gradiente, y el paso efectivo es diez veces η\eta. Si alterna entre g\mathbf{g} y g-\mathbf{g}, la suma tiende a g/(1+β)\mathbf{g}/(1 + \beta): poco más de la mitad. La misma regla amplifica por diez la dirección en la que el gradiente insiste y reduce a la mitad aquella en la que se contradice. El promedio en el tiempo distingue lo que la tasa de aprendizaje no podía distinguir.

Lo que no cambia es que sigue habiendo una sola η\eta. Momentum no elimina el límite de la dirección empinada, lo desplaza: con los parámetros bien elegidos, el número de pasos hasta una precisión dada pasa de ser proporcional a κ\kappa a serlo a κ\sqrt{\kappa}, y los parámetros bien elegidos dependen de κ\kappa, que nadie conoce.

Nesterov propuso en 1983 una variante que evalúa el gradiente no donde está la bola sino donde va a estar tras el impulso, un paso de anticipación que mejora la garantía teórica, y en 2013 se comprobó que entrenaba mejor redes profundas. La diferencia con Polyak en la práctica es pequeña; en la última sección importa, porque Muon usa la de Nesterov.

Una tasa por parámetro: AdaGrad y RMSProp

El otro ataque al cañón no promedia en el tiempo, reescala en el espacio: en lugar de una η\eta, una por parámetro, y que las elija el propio método. La regla es dividir cada coordenada del gradiente por una medida de lo grandes que han sido los gradientes de esa coordenada. AdaGrad, de 2011, acumula sus cuadrados:

st+1=st+gt2,θt+1=θtηst+1+εgt,\mathbf{s}_{t+1} = \mathbf{s}_t + \mathbf{g}_t^{2}, \qquad \theta_{t+1} = \theta_t - \frac{\eta}{\sqrt{\mathbf{s}_{t+1}} + \varepsilon}\,\mathbf{g}_t,

donde el cuadrado, la raíz y la división son coordenada a coordenada, y ε\varepsilon es un número diminuto que evita dividir por cero. Nació para problemas con entradas raras. Piensa en un modelo de lenguaje: la fila del embedding de una palabra sólo recibe gradiente en los pasos en que la palabra aparece, y la mayoría de las palabras aparecen poco. Con una η\eta común, las palabras frecuentes fijan el límite y las raras apenas se mueven. Con AdaGrad, cada parámetro tiene su s\mathbf{s}: los que reciben gradiente en cada paso lo acumulan deprisa y se frenan, y los que lo reciben una vez cada mil pasos siguen dando pasos grandes. Vuelve más adelante, porque ésta es buena parte de la razón por la que un modelo de lenguaje no se entrena con SGD puro, sino con métodos que adaptan la tasa parámetro a parámetro.

El fallo está a la vista: s\mathbf{s} sólo crece, luego la tasa efectiva sólo baja, y en un problema no convexo, donde hay que seguir moviéndose después de mucho tiempo, acaba parándose antes de llegar. RMSProp arregla eso cambiando la suma por una media móvil exponencial, que olvida:

vt+1=β2vt+(1β2)gt2,θt+1=θtηvt+1+εgt.\mathbf{v}_{t+1} = \beta_2\,\mathbf{v}_t + (1 - \beta_2)\,\mathbf{g}_t^{2}, \qquad \theta_{t+1} = \theta_t - \frac{\eta}{\sqrt{\mathbf{v}_{t+1}} + \varepsilon}\,\mathbf{g}_t.

La memoria de esa media es de unos 1/(1β2)1/(1 - \beta_2) pasos: diez con β2=0,9\beta_2 = 0{,}9, mil con 0,9990{,}999. RMSProp nunca se publicó. Es la diapositiva de un curso en línea de Hinton de 2012, y durante años se citó así, «Lecture 6.5», porque no había otra cosa que citar.

Lo que hace sobre el cañón, L=x2+20y2\mathcal{L} = x^{2} + 20y^{2}, se ve sin dibujarlo. En la dirección empinada el gradiente vale 40y40y; en la plana, 2x2x. Dividir cada uno por la raíz de su propia media de cuadrados, que es más o menos su magnitud, deja en cada coordenada un paso de tamaño η\eta con el signo del gradiente, sea cual sea su escala: el paso ha dejado de depender de la curvatura. Eso es exactamente una aproximación diagonal de H1H^{-1} con las magnitudes del gradiente como sustituto de la curvatura, y cuesta un vector más de memoria. El segundo orden vuelve por la ventana, en forma de diagonal, al precio que se puede pagar.

Tiene un defecto de arranque que conviene medir, porque es el que Adam va a corregir. En el primer paso v1=(1β2)g02\mathbf{v}_1 = (1 - \beta_2)\,\mathbf{g}_0^{2}, así que la división deja η/1β2\eta / \sqrt{1 - \beta_2} por coordenada: con β2=0,9\beta_2 = 0{,}9 son 3,2η3{,}2\,\eta, y con 0,9990{,}999 son 31,6η31{,}6\,\eta. Sobre el cañón, con η=0,1\eta = 0{,}1 y β2=0,999\beta_2 = 0{,}999, el primer paso lleva la trayectoria de (2,6; 1,2)(-2{,}6;\ 1{,}2) a (0,56; 1,96)(0{,}56;\ -1{,}96): cruza el fondo y sale por la pared de enfrente, porque la media móvil aún no ha visto nada y subestima el tamaño del gradiente treinta veces.

Adam: las dos ideas juntas

Adam, de diciembre de 2014, junta las dos: una media móvil del gradiente, que es momentum escrito como media, y una media móvil de su cuadrado, que es RMSProp.

mt=β1mt1+(1β1)gt,vt=β2vt1+(1β2)gt2.\mathbf{m}_t = \beta_1\,\mathbf{m}_{t-1} + (1 - \beta_1)\,\mathbf{g}_t, \qquad \mathbf{v}_t = \beta_2\,\mathbf{v}_{t-1} + (1 - \beta_2)\,\mathbf{g}_t^{2}.

Y corrige el arranque. Desplegando mt\mathbf{m}_t como antes, es (1β1)(1 - \beta_1) por la suma de los gradientes con pesos β1tk\beta_1^{t-k}; si todos los gradientes valieran g\mathbf{g}, la suma geométrica da mt=(1β1t)g\mathbf{m}_t = \left(1 - \beta_1^{t}\right)\mathbf{g}. En el primer paso la media vale (1β1)g(1 - \beta_1)\,\mathbf{g}, una décima parte del gradiente; en el paso tt, una fracción 1β1t1 - \beta_1^{t} que sube hacia 11. Dividir por esa fracción devuelve la escala correcta desde el primer paso, y lo mismo para vt\mathbf{v}_t con β2\beta_2:

m^t=mt1β1t,v^t=vt1β2t,θt+1=θtηm^tv^t+ε.\hat{\mathbf{m}}_t = \frac{\mathbf{m}_t}{1 - \beta_1^{t}}, \qquad \hat{\mathbf{v}}_t = \frac{\mathbf{v}_t}{1 - \beta_2^{t}}, \qquad \theta_{t+1} = \theta_t - \eta\,\frac{\hat{\mathbf{m}}_t}{\sqrt{\hat{\mathbf{v}}_t} + \varepsilon}.

Con esa corrección el primer paso vale η\eta por coordenada, con el signo del gradiente, y no 31,6η31{,}6\,\eta. Ésas son las cuatro líneas de la tabla del principio, y dos vectores más de memoria, m\mathbf{m} y v\mathbf{v}, del tamaño del modelo.

La lectura que explica por qué funciona en casi todo está en el cociente. m^t\hat{\mathbf{m}}_t estima la media del gradiente y v^t\sqrt{\hat{\mathbf{v}}_t} estima la raíz de la media de su cuadrado, y la primera nunca supera a la segunda en valor absoluto. El cociente vale, coordenada a coordenada, entre 1-1 y 11: cerca de ±1\pm 1 donde el gradiente insiste en un signo, cerca de 00 donde su media es ruido. Ningún parámetro se mueve más de η\eta por paso, sea cual sea la escala de su gradiente. Por eso η\eta se puede elegir en unidades del parámetro, por eso la misma 10410^{-4} sirve para modelos que no se parecen en nada, y por eso una tasa de 31043 \cdot 10^{-4} significa una cosa concreta: ningún peso cambia más de tres diezmilésimas por paso.

Cuatro mapas de contorno del mismo cañón alargado, uno por método, todos con la trayectoria arrancando arriba a la izquierda y veinte pasos dibujados. Descenso de gradiente, arriba a la izquierda: zigzag entre las dos paredes, 35 pasos. Momentum, arriba a la derecha: los primeros rebotes son más cortos cada vez y la trayectoria avanza más deprisa hacia el centro, 14 pasos. RMSProp, abajo a la izquierda: una curva suave que baja en diagonal y luego sigue el eje, sin rebotar, 31 pasos. Adam, abajo a la derecha: una recta en diagonal a cuarenta y cinco grados hasta el eje y luego a lo largo de él, con todos los pasos de la misma longitud, 36 pasos.

Los cuatro métodos sobre el mismo cañón, desde el mismo punto, veinte pasos dibujados y el total hasta el fondo en cada etiqueta. Momentum lleva β=0,5\beta = 0{,}5 y no el 0,90{,}9 habitual porque el 0,90{,}9 está pensado para cañones unas setenta veces más estrechos que éste, y aquí se pasa de frenada en la dirección plana. RMSProp y Adam dan pasos de la misma longitud en las dos coordenadas: la diagonal a 4545 grados es la firma del reescalado.

Mira los pasos hasta el fondo antes de sacar conclusiones: Adam tarda 3636 y el descenso 3535. Sobre un cañón de κ=20\kappa = 20 con la tasa bien elegida, Adam no es más rápido. Su ventaja es otra, y para verla hay que cambiar el cañón sin cambiar la tasa.

Dos mapas de contorno con la misma trayectoria de Adam encima, treinta pasos en línea recta: diagonal a cuarenta y cinco grados desde arriba a la izquierda hasta el eje horizontal y luego hacia el centro. A la izquierda el cañón es x² más veinte y², con elipses alargadas. A la derecha es x² más dos mil y², cien veces más estrecho: los contornos son casi rayas horizontales y el fondo es una rendija. Los treinta pasos son idénticos en los dos dibujos. Las etiquetas dicen que Adam llega en 36 y 75 pasos con la misma tasa 0,1, y que el descenso de gradiente necesita 35 pasos con tasa 0,045 en el primero y 3619 pasos con tasa 0,00045 en el segundo.

A la derecha, el mismo cañón cien veces más estrecho. El descenso de gradiente necesita una tasa cien veces menor para no divergir, y con ella tarda 36193\,619 pasos. Adam da los mismos treinta pasos que a la izquierda, con la misma η=0,1\eta = 0{,}1, y llega en 7575. No ha hecho falta tocar nada.

Eso es lo que compra Adam: no velocidad sobre un problema conocido, sino independencia de la curvatura sobre uno desconocido. Una red tiene millones de cañones de anchuras distintas dentro, y nadie va a medir ninguno.

La W: un error de regularización que duró tres años

Casi todos los modelos se entrenan con decaimiento de pesos: en cada paso, además de restar el gradiente, se encoge cada peso un poco hacia cero, θθηλθ\theta \leftarrow \theta - \eta\lambda\,\theta, para que ninguno crezca sin control. Con descenso de gradiente eso es idéntico a añadir a la pérdida un término λ2θ2\tfrac{\lambda}{2}\lVert\theta\rVert^{2}, la regularización L2, porque el gradiente de ese término es λθ\lambda\theta y restarlo con η\eta da la misma fórmula. Dos nombres, un algoritmo, y durante décadas nadie tuvo que distinguirlos.

Con Adam dejan de ser lo mismo, y la cuenta lo enseña. Si el decaimiento entra como término de la pérdida, entra en g\mathbf{g}, y de ahí en m\mathbf{m} y en v\mathbf{v}: pasa por la división. Para un parámetro con gradientes históricamente grandes, v^\sqrt{\hat{\mathbf{v}}} es grande y su λθ\lambda\theta sale dividido por un número grande: apenas decae. Para uno con gradientes pequeños, decae entero. La fuerza de la regularización pasa a depender de la historia del gradiente de cada peso, y en el sentido contrario al razonable: los pesos que más se mueven son los que menos se frenan.

Loshchilov y Hutter lo señalaron en noviembre de 2017 y propusieron sacar el decaimiento de la división:

θt+1=θtη(m^tv^t+ε+λθt).\theta_{t+1} = \theta_t - \eta\left(\frac{\hat{\mathbf{m}}_t}{\sqrt{\hat{\mathbf{v}}_t} + \varepsilon} + \lambda\,\theta_t\right).

Eso es AdamW, y la W es weight decay, desacoplado. La diferencia con la fórmula anterior es dónde está λθt\lambda\theta_t: fuera del cociente, en lugar de dentro de g\mathbf{g}. En ese momento había un resultado de ese mismo año según el cual Adam generalizaba peor que SGD con momentum en visión, y buena parte de esa diferencia era esto: Adam se estaba regularizando mal. Con el decaimiento desacoplado la distancia se cerró en las tareas que probaron. El 0,10{,}1 de la tabla del principio es el λ\lambda de esta fórmula, y va multiplicado por η\eta: con η=3104\eta = 3 \cdot 10^{-4}, cada peso se encoge tres cienmilésimas por paso.

Por qué AdamW, y por qué con esos números

Hasta aquí la respuesta genérica: Adam junta las dos ideas y AdamW arregla su regularización. La pregunta concreta es por qué un transformer no se entrena con SGD con momentum, que en visión funcionó durante años y guarda un solo vector de estado en lugar de dos, y la respuesta ha tardado en llegar.

Está en las palabras raras, que son casi todas. La pérdida de un modelo de lenguaje es una media sobre tokens, y los tokens siguen la ley de Zipf: unos pocos aparecen en cada lote y la inmensa mayoría, una vez cada muchos miles. Los parámetros que sólo tocan a un token raro, su fila en la matriz de embeddings y su fila en la capa de salida, reciben gradientes minúsculos en promedio, y con SGD un gradiente minúsculo es un paso minúsculo. Esos parámetros no aprenden, y la pérdida sobre los tokens raros, que son la mayor parte del vocabulario, no baja. Kunstner y otros lo midieron en 2024 clase por clase, y es el problema de AdaGrad tal cual: una tasa por parámetro es lo que hace que la fila de una palabra rara avance tanto por paso como la de una frecuente. A eso se suma que el ruido del gradiente en un modelo con atención tiene colas pesadas, lotes ocasionales con gradientes enormes, y que la escala de los gradientes difiere en órdenes de magnitud entre los embeddings, las matrices de atención y las normalizaciones. Son cañones dentro de cañones, y SGD tiene una sola η\eta para todos.

Los números de la tabla responden cada uno a un fallo con nombre.

β2=0,95\beta_2 = 0{,}95 y no el 0,9990{,}999 del artículo original. La memoria de v\mathbf{v} es de 1/(1β2)1/(1 - \beta_2) pasos: mil con 0,9990{,}999, veinte con 0,950{,}95. Con mil pasos de memoria, cuando un lote trae de pronto un gradiente grande en alguna coordenada, v\mathbf{v} tarda cientos de pasos en enterarse, y mientras tanto m^/v^\hat{\mathbf{m}}/\sqrt{\hat{\mathbf{v}}} vale mucho más de 11 en esa coordenada: un paso enorme, y la pérdida da un salto. Son los picos de pérdida que desvelan a todos los que entrenan a esta escala. Con veinte pasos de memoria, v\mathbf{v} reacciona antes. GPT-3 puso 0,950{,}95 y nadie ha tenido motivo para volver.

Recorte del gradiente a norma 11. Antes de que g\mathbf{g} entre en m\mathbf{m} y v\mathbf{v}, si su norma supera 11 se reescala a 11. Es la otra defensa contra las colas pesadas: un lote atípico no puede empujar las medias.

ε\varepsilon. En el artículo original vale 10810^{-8}; Llama 2 usó 10510^{-5}, y OLMo 2 volvió a 10810^{-8} porque con 10510^{-5} los parámetros cuyos gradientes son menores que eso, que en un modelo grande son muchos, ven su paso frenado por el ε\varepsilon en lugar de por v^\sqrt{\hat{\mathbf{v}}}. Un número que existe para evitar una división por cero acaba decidiendo cuánto aprenden los parámetros más silenciosos.

Calentamiento. La corrección de sesgo arregla la media de v^\hat{\mathbf{v}} en los primeros pasos, no su varianza: estimada con tres o cuatro gradientes, v^\hat{\mathbf{v}} es tan ruidosa que el cociente puede dar pasos grandes en direcciones equivocadas. El análisis de RAdam mostró que subir la tasa linealmente desde cero durante los primeros miles de pasos es exactamente una cura para eso. Llama 2 calienta 20002\,000 pasos; Llama 3, 80008\,000.

Calendario. Después del calentamiento, coseno hasta el 1010 % de la tasa máxima en GPT-3 y en Llama, o un tramo constante largo seguido de un enfriamiento en DeepSeek-V3 y Kimi K2, que mantienen la tasa fija durante los primeros diez billones de tokens y sólo entonces la bajan. Las dos formas dan resultados equivalentes, y las dos son la segunda condición de Robbins y Monro hecha barata: estar en la tasa más alta que aguanta el entrenamiento la mayor parte del tiempo, y bajarla al final para asentar el temblor.

Queda la factura. m\mathbf{m} y v\mathbf{v} son dos vectores del tamaño del modelo, y para 405405 mil millones de parámetros en precisión simple ocupan 3,23{,}2 TB: cuarenta H100 de 8080 GB dedicadas a recordar. Esa factura es donde empieza la última sección.

Lo que viene después: por matriz, no por coordenada

Adam cuesta dos cosas, memoria y una aproximación diagonal, y lo que se ha propuesto desde entonces ataca una de las dos.

Menos memoria. Adafactor, de 2018, no guarda v\mathbf{v} entero para una matriz de pesos de m×nm \times n: guarda las sumas por filas y por columnas, m+nm + n números en lugar de mnmn, y reconstruye la matriz como su producto. T5 se entrenó así. Adam en 8 bits guarda m\mathbf{m} y v\mathbf{v} cuantizados. Lion, de 2023, encontrado por búsqueda automática entre programas, se queda sólo con momentum y usa como paso el signo de una mezcla del momentum y el gradiente: un vector de estado en lugar de dos, y el signo es el caso extremo del reescalado de Adam, en el que todo paso mide exactamente η\eta.

Más curvatura. Aquí está lo que ha cambiado la tabla. Adam trata los mnmn números de una matriz de pesos como mnmn parámetros sin relación entre sí, y no lo son: la matriz multiplica un vector, y su gradiente G\mathbf{G} es también una matriz, con filas y columnas que significan algo. Shampoo, también de 2018, precondiciona con dos matrices pequeñas en lugar de con una diagonal, una a cada lado:

Lt=Lt1+GtGt,Rt=Rt1+GtGt,Wt+1=WtηLt1/4GtRt1/4.\mathbf{L}_t = \mathbf{L}_{t-1} + \mathbf{G}_t\mathbf{G}_t^{\top}, \qquad \mathbf{R}_t = \mathbf{R}_{t-1} + \mathbf{G}_t^{\top}\mathbf{G}_t, \qquad \mathbf{W}_{t+1} = \mathbf{W}_t - \eta\,\mathbf{L}_t^{-1/4}\,\mathbf{G}_t\,\mathbf{R}_t^{-1/4}.

L\mathbf{L} es de m×mm \times m y R\mathbf{R} de n×nn \times n: para una matriz cuadrada, el doble de memoria que Adam y no el cuadrado, y a cambio una aproximación de H1H^{-1} que ya no es diagonal. Costó seis años hacerla correr a escala, y en 2024 ganó la competición AlgoPerf entrenando un 2828 % más rápido que la referencia, un AdamW con momentum de Nesterov. SOAP mete Adam dentro de la base que calcula Shampoo.

Muon hace algo más radical con la misma premisa. En lugar de precondicionar el gradiente, coge la matriz de momentum Mt\mathbf{M}_t de cada matriz de pesos y la sustituye por la matriz ortogonal más cercana: si Mt=UΣV\mathbf{M}_t = \mathbf{U}\boldsymbol{\Sigma}\mathbf{V}^{\top} es su descomposición en valores singulares, el paso es

Wt+1=WtηUV,\mathbf{W}_{t+1} = \mathbf{W}_t - \eta\,\mathbf{U}\mathbf{V}^{\top},

la misma matriz con todos sus valores singulares puestos a 11. Calcular esa descomposición sería caro; la entrada de blog de diciembre de 2024 que lo propuso la aproxima con cinco iteraciones de un polinomio en MM\mathbf{M}\mathbf{M}^{\top}, sólo productos de matrices, en precisión baja. Compara con lo anterior: Lion normaliza cada número, Adam normaliza cada coordenada por su magnitud reciente, y Muon normaliza cada matriz por su espectro. Es el mismo reescalado un nivel más arriba. Y el argumento de por qué ayuda es el cañón otra vez, dentro de cada matriz: el gradiente de una capa de un transformer es casi de rango bajo, unas pocas direcciones lo dominan, y ortogonalizarlo da a las direcciones raras el mismo tamaño de paso que a las dominantes. Hay una lectura que pone los tres en la misma fórmula: cada uno es el descenso más empinado bajo una norma distinta, y elegir el optimizador es elegir qué significa «un paso de tamaño η\eta».

Muon sólo existe para matrices. Los embeddings, la capa de salida, los sesgos y los pesos de las normalizaciones siguen con AdamW en todos los modelos que lo usan, y por eso las tres últimas filas de la tabla son, en rigor, Muon y AdamW a la vez. Lo que llevó Muon de un experimento a un modelo de producción fueron dos añadidos de febrero de 2025: decaimiento de pesos, y un reajuste de la escala del paso para que la η\eta y el λ\lambda de AdamW valgan sin volver a buscarlos. Con eso, Moonshot entrenó un modelo de 1616 mil millones de parámetros con 5,75{,}7 billones de tokens y reportó el doble de eficiencia de cómputo que AdamW. Cinco meses después, Kimi K2: un billón de parámetros, 15,515{,}5 billones de tokens y, según su informe, ni un solo pico de pérdida. Luego GLM-5 y DeepSeek-V4, que lo justifica con dos palabras, convergencia y estabilidad.

Sin calendario. La otra línea no toca la dirección del paso sino el resto de la receta. Schedule-Free AdamW sustituye el calendario de tasa por un promedio de los puntos por los que pasa la trayectoria, y ganó la modalidad sin ajuste de hiperparámetros de la misma AlgoPerf. Es la única de estas propuestas que quita un número en lugar de añadir una idea.

Conviene terminar con la medida honrada. La comparación más cuidadosa hasta la fecha, once optimizadores con la tasa de aprendizaje ajustada para cada uno, de 0,10{,}1 a 1,21{,}2 mil millones de parámetros, encontró que las mejoras anunciadas, de 1,41{,}4 a 22 veces, venían en parte de comparar con un AdamW mal ajustado; que las mejoras reales existen y son todas de los métodos que precondicionan por matriz, Muon, SOAP y sus parientes; y que valen 1,41{,}4 veces en el modelo más pequeño y 1,11{,}1 en el más grande, encogiéndose al crecer el modelo. Un 1010 % del cómputo de un entrenamiento de frontera sigue siendo mucho dinero, y la estabilidad que DeepSeek cita no se mide en esa tabla. Pero el cuadro es más modesto que los anuncios y más firme que el escepticismo: las mejoras son de las matrices, y son las que quedan.

Qué te llevas

Si te llevas una sola cosa, que sea ésta: el optimizador de los modelos de lenguaje no se eligió por bueno, se eligió por pagable. Newton tenía la curvatura de cada dirección y la resolvía en un paso; a esta escala no cabe en ningún sitio y no sobrevive al ruido. Todo lo que ha pasado desde Cauchy es recomprar a plazos lo que Newton tenía gratis: momentum promediando en el tiempo, RMSProp reescalando por coordenada, Adam con las dos, AdamW arreglando lo que el reescalado había roto, y Muon reescalando por matriz. La regla del descenso de gradiente no ha cambiado ni una letra. Lo que cambia, cada vez, es qué se puede pagar por paso.

Y si te llevas tres cosas más, que sean prácticas.

Los valores por defecto no son arbitrarios, y saber a qué responden te dice cuándo tocarlos. β2=0,95\beta_2 = 0{,}95 es contra los picos; el recorte a 11, contra los lotes atípicos; el calentamiento, contra la varianza de v\mathbf{v} al arrancar; el decaimiento de la tasa, la condición de Robbins y Monro; el 0,10{,}1 de decaimiento de pesos, la regularización que Adam sin la W aplicaba al revés. Si entrenas algo pequeño y tranquilo, el 0,9990{,}999 original de β2\beta_2 es razonable; si ves picos, ya sabes qué número mirar primero.

La tasa de aprendizaje sigue siendo el número. En Adam va en unidades del parámetro, así que 31043 \cdot 10^{-4} significa que ningún peso se mueve más de eso por paso, y ese significado no depende del modelo. Antes de probar otro optimizador, barre η\eta: buena parte de las mejoras anunciadas en los últimos años se explicaban con un AdamW al que nadie había barrido la suya.

Si ajustas un modelo que no es tuyo, la memoria del optimizador decide si cabe. m\mathbf{m} y v\mathbf{v} ocupan el doble que los pesos, y cada respuesta que has visto a eso, LoRA, Adam en 8 bits, Adafactor, es una forma de no pagar la factura de la sección de Adam. Y si lo que entrenas son matrices, Muon para las matrices y AdamW para el resto es, hoy, lo que hacen tres de los modelos más grandes que se han publicado.

Volvamos a la tabla. Cuatro laboratorios escribieron el mismo párrafo porque llegaron al mismo precio. Tres lo han reescrito porque encontraron cómo pagar un poco más de lo que Newton tenía gratis: no la curvatura de cada coordenada, sino la de cada matriz. El descenso de gradiente sigue siendo restar el gradiente. Lo que ha cambiado, otra vez, es qué cabe en un paso.