Skip to main content

🏆 **Muon Optimizer: Un Enfoque Basado en Newton-Schulz**

📌 Normas Generales

🚫 No subir imágenes ni archivos, solo enlaces. Puedes usar Imgur para subir imágenes. (Eliminar esta sección luego de leerla)

En esta wiki se documenta el procesamiento de imágenes con un enfoque en el código. Se incluyen explicaciones detalladas, fragmentos de código y enlaces a recursos externos.


📂 Recursos Clave

📎 Aquí puedes encontrar enlaces importantes relacionados con el tema:

👥 Integrantes:

  • 👤 Andrea Parra
  • 👤 Jorge Andrey

📑 Material de apoyo:

📌 Introducción

El optimizador Muon es una variante del método de descenso de gradiente con momentum (SGD+Momentum) que introduce una corrección basada en la iteración de Newton-Schulz para mejorar la actualización de parámetros. Esta técnica permite estabilizar los gradientes y normalizar la actualización sin necesidad de cálculos costosos como la descomposición en valores singulares (SVD).

En esta sección exploraremos la motivación detrás de Muon, su estructura matemática y cómo Newton-Schulz contribuye a su eficacia.


📊 Antecedentes

Este método se basa en el método Newton-Schulz, utilizado para aproximar de la operación , donde es una matriz ortogonal. Sin embargo, los autores del paper proponen una modificación para obtener , lo que permite la normalización de gradientes en redes neuronales profundas.

Muon busca aproximar la función de signo de la matriz de gradientes, lo cual puede interpretarse como "ajustar los valores singulares a 1", asegurando que la actualización de parámetros mantenga una estructura ortogonal. Este proceso se conoce como "symmetric orthogonalization" y se diferencia del Gram-Schmidt porque no favorece una fila o columna específica.

Los autores eligieron Newton-Schulz por su capacidad para ejecutarse de manera estable en bfloat16, a diferencia de la SVD y otras iteraciones de Newton más costosas o inestables en GPUs modernas.


🎯 Objetivos

📢 EnEntender estala seccióimportancia de métodos de optimización secomo definenMuon.
los objetivos(Intentar) aprender la matemática detrás de la sesión:optimización.
¿Por qué es importante este tema?
✅ ¿Qué se espera lograr duranteAbrir la sesión?discusión sobre aplicaciones futuras.


📊🧐 ResultadosMotivación Esperadosy Contexto

📍Los Esta sección describemétodos de maneraoptimización generalconvencionales como SGD y Adam pueden sufrir de desaparición o explosión del gradiente, especialmente en redes neuronales profundas. Esto se debe a que la propagación del gradiente puede amplificar valores en ciertas direcciones, afectando la convergencia y estabilidad del entrenamiento.

Los autores de Muon encontraron que en modelos transformer-based, las actualizaciones de SGD-momentum y Adam tienen un número de condición muy alto. Es decir, las actualizaciones de pesos están dominadas por pocas direcciones, lo que selimita esperala obtener al finalcapacidad de aprendizaje. La ortogonalización mediante Newton-Schulz aumenta la sesión:

🔹 Mayor comprensión del tema tratado.
🔹 Identificaciónescala de conceptosdirecciones clave.
poco 🔹representadas
, Recopilaciónayudando dea informaciónmejorar relevantela para futuras implementaciones.optimización.


⚙️ MetodologíaMétodo Newton-Schulz en Muon

VeamosLa iteración de Newton-Schulz es un método iterativo que aproxima la inversa de una matriz sin requerir una factorización directa. En el pseudocódigocontexto del optimizador Muon, se utiliza para normalizar el gradiente acumulado ( B_t ) antes de muón.actualizar los parámetros.

Iteración Newton-Schulz Rectangular

Dado un gradiente acumulado ( B_t ), se inicia con:

muon pseudocodeX_0

ALgoLuego, se aplica la siguiente iteración para aproximar ( U V^T ) de la SVD de ( B_t ):

X_t

Este método garantiza que modemoslos notar,valores singulares se ajusten de manera controlada y que la iteración converja de manera estable, incluso en matrices de bajo rango.

Los autores también exploraron el ajuste de coeficientes de Newton-Schulz para acelerar la convergencia, logrando reducir la cantidad de iteraciones necesarias a solo 5 en sus experimentos.


🚀 Diferencias entre Muon y SGD+Momentum

La principal diferencia de Muon con SGD+Momentum es quela suinclusión pseudocódigodel estérmino muy( similarO_t a), comoobtenido seríamediante elNewton-Schulz:

SDG

SGD+Momentum con aceleración. Es decir

(Convencional)

Require: Learning rate η, momentum μ
1:  Inicializar parámetros θ₀
2:  Inicializar velocidad v₀ ← 0
3:  for t = 1, … do
4:      Calcular gradiente Gₜ ← ∇θ ℒₜ(θₜ₋₁)
5:      Actualizar velocidad vₜ ← μ vₜ₋₁ + Gₜ
6:      Actualizar parámetros θₜ ← θₜ₋₁ - η vₜ
7:  end for
8:  return θₜ

Como

Muon podemosOptimizer

ver,
Require: muonLearning agregarate unη, términomomentum nuevo,μ
1:  Inicializar B₀ ← 0
2:  for t = 1, … do
3:      Calcular gradiente Gₜ ← ∇θ ℒₜ(θₜ₋₁)
4:      Bₜ ← μBₜ₋₁ + Gₜ
5:      Oₜ ← NewtonSchulz5(Bₜ)
6:      Actualizar parámetros θₜ ← θₜ₋₁ - ηOₜ
7:  end for
8:  return θₜ

🔹 ¿Qué cambia?

  • En SGD+Momentum, queel gradiente acumulado se calculausa condirectamente para actualizar los parámetros.
  • En Muon, el métodogradiente NewtonSchelz5.acumulado EsteB_t métodoes corregido mediante Newton-Schulz para obtener O_t, asegurando una actualización bien condicionada.

Esto ayuda a evitar direcciones de gradiente mal condicionadas y estabiliza la convergencia.


🔬 Aplicaciones y Beneficios

El uso de Muon y Newton-Schulz tiene comoaplicaciones objetivoen encontrardiversas unaáreas:

matriz

ortogonalRedes queneuronales representaprofundas: losMejora valores.la Hayestabilidad muchasen manerasentrenamientos largos.
Redes recurrentes (RNNs, Transformers): Evita problemas de hacerexplosión/desaparición esto,del perogradiente.
Generative Adversarial Networks (GANs): Regulariza el métodoentrenamiento máspara comúmejorar la calidad de las muestras generadas.
Optimización de hacerlo,alto esrendimiento: medianteReduce la descomposiciónnecesidad SVD,de peroajustes esmanuales costosoen computacionalmente.el learning rate.

[\sum]📌 Ventajas clave de Muon:

✔ Evita el costo computacional de la SVD.
✔ Mantiene estabilidad en gradientes.
✔ Regulariza la actualización de parámetros.


📚 Referencias

📖 Esta sección recopila enlaces a recursos relevantes sobre procesamiento de imágenes:
[2]: A. Nasef, M. Marjanović-Jakovljević, and A. Njeguš, “Stochastic gradient descent analysis for the evaluation of a speaker recognition,” Analog Integrated Circuits and Signal Processing, vol. 90, no. 2. Springer Science and Business Media LLC, pp. 389–397, Dec. 31, 2016. doi: 10.1007/s10470-016-0918-7.

🔹 📄 Muon Optimizer
🔹 📘 GuíaWebpage autores de NumPyMuon sobre Newton-Schulz
🔹 📄 ArtículoModular sobreduality procesamientoin dedeep imágeneslearning
🔹 [📘 Higham, N. J. Functions of Matrices. SIAM, 2008.]