Meet YOLO26: next-gen vision AI.

Link to this sectionReceta de entrenamiento de YOLO26#

Link to this sectionIntroducción#

Esta guía documenta la receta exacta de entrenamiento utilizada para producir los puntos de control preentrenados oficiales de YOLO26 en COCO. Cada hiperparámetro que se muestra aquí ya está integrado en los pesos .pt publicados y puede inspeccionarse mediante programación.

Conocer qué se incluyó en los puntos de control oficiales —no solo la arquitectura, sino los calendarios de tasa de aprendizaje, las canalizaciones de aumento y las ponderaciones de pérdida que determinaron su rendimiento— te ayuda a tomar mejores decisiones al realizar un ajuste fino: qué aumentos de datos mantener, qué ponderaciones de función de pérdida ajustar y qué configuraciones del optimizador funcionan mejor para el tamaño de tu conjunto de datos.

Link to this sectionDescripción general del entrenamiento#

Todos los modelos base de YOLO26 fueron entrenados en COCO a una resolución de 640x640 usando el optimizador MuSGD con un tamaño de lote de 128. En lugar de comenzar desde pesos aleatorios en una sola ejecución, los modelos se inicializaron a partir de pesos preentrenados intermedios y se refinaron con hiperparámetros encontrados mediante búsqueda evolutiva. Los registros de entrenamiento completos y las métricas para cada tamaño de modelo están disponibles en Ultralytics Platform:

Opciones de diseño clave en todos los tamaños:

  • Entrenamiento de extremo a extremo (end2end=True) con cabezal uno a uno sin NMS
  • Optimizador MuSGD que combina SGD con actualizaciones ortogonalizadas al estilo Muon para matrices de pesos (parámetros con ndim >= 2, como pesos de convolución y lineales)
  • Aumento de mosaico intenso (probabilidad de ~0.9-1.0) desactivado en las últimas 10 épocas (close_mosaic=10)
  • Aumento de escala agresivo (0.56-0.95) para manejar objetos de diferentes tamaños
  • Rotación/cizallamiento mínimo para la mayoría de los tamaños, manteniendo baja la distorsión geométrica

Link to this sectionInspección de los argumentos de entrenamiento de los puntos de control de YOLO26#

Cada punto de control de Ultralytics almacena la configuración de entrenamiento completa utilizada para producirlo, por lo que puedes verificar cada número de esta página tú mismo:

Inspecciona los argumentos de entrenamiento del punto de control
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
print(model.ckpt["train_args"])

La salida enumera la configuración completa de más de 100 entradas, incluido cada valor de receta documentado en esta página. Un extracto para yolo26n.pt:

batch: 128
...
box: 5.62767
...
close_mosaic: 10
cls: 0.56099
...
dfl: 9.03871
...
epochs: 245
...
lr0: 0.0054
lrf: 0.04952
...
optimizer: MuSGD

Esto funciona para cualquier punto de control .pt, tanto para versiones oficiales como para tus propios modelos ajustados. Para obtener la lista completa de argumentos de entrenamiento configurables, consulta la referencia de configuración de entrenamiento.

Link to this sectionHiperparámetros de entrenamiento de YOLO26 por tamaño de modelo#

Las siguientes tablas agrupan la receta por categoría: optimizador y calendario, ponderaciones de pérdida y aumento. Cada valor proviene directamente de los train_args integrados en los puntos de control publicados.

Link to this sectionOptimizador y tasa de aprendizaje#

Estas configuraciones de optimizador y calendario impulsaron el preentrenamiento en COCO para cada tamaño; observa cómo el modelo N se diferencia del resto:

ConfiguraciónNSMLX
optimizerMuSGDMuSGDMuSGDMuSGDMuSGD
lr00.00540.000380.000380.000380.00038
lrf0.04950.8820.8820.8820.882
momentum0.9470.9480.9480.9480.948
weight_decay0.000640.000270.000270.000270.00027
warmup_epochs0.980.990.990.990.99
epochs24570806040
batch128128128128128
imgsz640640640640640
Estrategia de tasa de aprendizaje

El modelo N utilizó una tasa de aprendizaje inicial más alta con una caída pronunciada (lrf=0.0495), mientras que los modelos S/M/L/X utilizaron una tasa inicial mucho más baja con un calendario más suave (lrf=0.882). Esto refleja las diferentes dinámicas de convergencia de los modelos más pequeños frente a los más grandes: los modelos más pequeños necesitan actualizaciones más agresivas para aprender de manera efectiva.

Link to this sectionPesos de pérdida#

Las ponderaciones de pérdida equilibran los tres componentes de la pérdida de detección: regresión de IoU de cuadro delimitador (box), clasificación (cls) y un término de regresión de distancia del cuadro (dfl). Ten en cuenta que YOLO26, al no usar DFL, reutiliza la ganancia dfl para ponderar una pérdida L1 en las distancias normalizadas del cuadro en lugar de la pérdida focal de distribución:

ConfiguraciónNSMLX
box5.639.839.839.839.83
cls0.560.650.650.650.65
dfl9.040.960.960.960.96

El modelo N prioriza el término de regresión de distancia dfl, mientras que los modelos S/M/L/X cambian el énfasis a la regresión de cuadro basada en IoU. La pérdida de clasificación permanece relativamente constante en todos los tamaños.

Link to this sectionCanalización de aumento#

Para obtener una explicación detallada de cada técnica, consulta la guía de aumento de datos de YOLO.

ConfiguraciónNSMLX
mosaic0.9090.9920.9920.9920.992
mixup0.0120.050.4270.4270.427
copy_paste0.0750.4040.3040.4040.404
scale0.5620.90.950.950.95
fliplr0.6060.3040.3040.3040.304
degrees1.11~0~0~0~0
shear1.46~0~0~0~0
translate0.0710.2750.2750.2750.275
hsv_h0.0140.0130.0130.0130.013
hsv_s0.6450.3530.3530.3530.353
hsv_v0.5660.1940.1940.1940.194
bgr0.1060.00.00.00.0

Los valores que se muestran como ~0 están por debajo de 0.01 en los puntos de control reales (por ejemplo, degrees=0.00012 para el modelo S): el aumento está efectivamente deshabilitado.

Los modelos más grandes utilizan un aumento más agresivo en general (mayor mixup, copy-paste y escala), ya que tienen más capacidad y se benefician de una regularización más fuerte. El modelo N es el único tamaño con aumento significativo de rotación, cizallamiento y BGR.

Link to this sectionParámetros de entrenamiento internos#

Avanzado: parámetros de canalización interna

Los puntos de control también contienen parámetros que se utilizaron en la canalización de entrenamiento interna pero que no se exponen como configuraciones configurables por el usuario en default.yaml:

ConfiguraciónDescripciónNSMLX
muon_wPeso de actualización de Muon en MuSGD0.5280.4360.4360.4360.436
sgd_wPeso de actualización de SGD en MuSGD0.6740.4790.4790.4790.479
cls_wPeso de clasificación interno2.743.483.483.483.48
o2mPeso de pérdida de la cabecera one-to-many1.00.7050.7050.7050.705
topkAsignación de etiquetas Top-k85555

Consulta la entrada del FAQ sobre estos parámetros para saber qué significan al realizar un ajuste fino (fine-tuning).

Link to this sectionAjuste fino de YOLO26 en tu propio conjunto de datos#

Cuando realices un ajuste fino de YOLO26 en tu propio conjunto de datos, no necesitas replicar la receta de preentrenamiento completa. Los pesos preentrenados ya codifican el conocimiento de aumento y optimización del entrenamiento en COCO. Para obtener mejores prácticas generales de entrenamiento, consulta Consejos para el entrenamiento de modelos.

Link to this sectionAjuste fino con la configuración predeterminada#

Ajuste fino con los valores predeterminados
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)

El ajuste fino con los valores predeterminados es una base sólida. Ajusta los hiperparámetros solo si tienes una razón específica para hacerlo.

Link to this sectionCuándo ajustar los hiperparámetros de YOLO26#

Conjuntos de datos pequeños (< 1.000 imágenes):

  • Reduce la fuerza del aumento: mosaic=0.5, mixup=0.0, copy_paste=0.0
  • Reduce la tasa de aprendizaje: lr0=0.001
  • Utiliza menos épocas con paciencia: epochs=50, patience=20
  • Considera congelar las capas del backbone: freeze=10

Conjuntos de datos grandes (> 50.000 imágenes):

  • Iguala más estrechamente la receta de preentrenamiento
  • Considera optimizer=MuSGD para ejecuciones más largas
  • Aumenta la aumentación: mosaic=1.0, mixup=0.3, scale=0.9

Imágenes de dominio específico (aéreas, médicas, subacuáticas):

  • Aumenta flipud=0.5 si la orientación vertical varía
  • Aumenta degrees si los objetos aparecen en rotaciones arbitrarias
  • Ajusta hsv_s y hsv_v si las condiciones de iluminación difieren significativamente de COCO

Para una optimización automatizada de hiperparámetros, consulta la guía de ajuste de hiperparámetros.

Link to this sectionElige un tamaño de modelo#

ModeloIdeal paraGuía para el tamaño de lote (batch size)
YOLO26nDispositivos Edge, móviles, tiempo real en CPULotes grandes (64-128) en GPUs de consumo
YOLO26sVelocidad y precisión equilibradasLotes medianos (32-64)
YOLO26mMayor precisión con cómputo moderadoLotes más pequeños (16-32)
YOLO26lAlta precisión cuando hay GPU disponibleLotes pequeños (8-16) o multi-GPU
YOLO26xPrecisión máxima, despliegue en servidorLotes pequeños (4-8) o multi-GPU

Para opciones de exportación y despliegue, consulta la guía de exportación y las Opciones de despliegue de modelos.

Link to this sectionConclusión#

Los puntos de control (checkpoints) de YOLO26 vienen con su receta de entrenamiento completa integrada, por lo que los hiperparámetros exactos detrás de cada tamaño de modelo están siempre a una consulta train_args de distancia. Comienza el ajuste fino desde los valores predeterminados, ajusta deliberadamente usando las tablas de esta página y verifica cada cambio con tu propio conjunto de validación. Si surgen preguntas en el camino, pregunta a la comunidad en el repositorio de Ultralytics en GitHub o en el servidor de Discord de Ultralytics.

Link to this sectionFAQ#

Link to this section¿Cómo puedo ver los hiperparámetros exactos utilizados para cualquier punto de control?#

Carga el punto de control con torch.load() y accede a la clave train_args, o usa model.ckpt["train_args"] con la API de Ultralytics. Consulta Inspeccionar los argumentos de entrenamiento del punto de control YOLO26 para ver ejemplos completos.

Link to this section¿Por qué los conteos de épocas son diferentes para cada tamaño de modelo?#

Los modelos más grandes generalmente necesitaron menos épocas en COCO porque su mayor capacidad acelera la convergencia (el modelo X se entrenó durante 40 épocas frente a 245 para N), aunque los conteos no son estrictamente monótonos (S usó 70, M usó 80). Al hacer un ajuste fino en tu propio conjunto de datos, el número óptimo de épocas depende del tamaño y la complejidad de tu conjunto de datos, no del tamaño del modelo. Utiliza la parada temprana (patience) para encontrar el punto de parada correcto automáticamente.

Link to this section¿Debería usar MuSGD para el ajuste fino?#

Por lo general, no necesitas elegir: con el valor predeterminado optimizer=auto, Ultralytics selecciona automáticamente MuSGD para ejecuciones de entrenamiento más largas (>10.000 iteraciones) y AdamW para las más cortas. Puedes configurar explícitamente optimizer=MuSGD si lo prefieres. Para más información sobre cómo funciona MuSGD, consulta la documentación de entrenamiento.

Link to this section¿Qué son muon_w, sgd_w, cls_w, o2m y topk en el punto de control?#

Estos son parámetros internos de la canalización de entrenamiento que produjo los puntos de control base, registrados en train_args para reproducibilidad. No son ajustes configurables por el usuario en default.yaml, y pasarlos a model.train() genera un error de argumento no válido; el paquete público no los lee. No necesitas configurarlos al realizar el ajuste fino; consulta Parámetros internos de entrenamiento para ver sus valores por tamaño de modelo.

Link to this section¿Puedo replicar el preentrenamiento exacto desde cero?#

No exactamente; los puntos de control se produjeron utilizando una rama de entrenamiento interna con características adicionales que no están en la base de código pública (como pesos o2m configurables y cls_w). Puedes obtener resultados muy cercanos utilizando los hiperparámetros documentados en esta página con el paquete público de Ultralytics, pero una reproducción exacta requiere la rama interna.

Comentarios