AISubHub/Noticias de IA
Desarrolladores

Análisis en profundidad · Unos 7 min de lectura

Qwen3 en Trainium: tres rutas con torchtitan para comprobar pesos y kernels

La guía de AWS del 21 de octubre conecta Transformers, Qwen3 nativo y kernels NKI en una instancia Trainium2, sin demostrar una ventaja de velocidad o coste.

Publicado aquí
Fecha de la fuente
Fuente revisada

Una guía técnica de AWS del 21 de octubre explica cómo entrenar Qwen3 con torchtitan en Trainium mediante tres configuraciones: un backend de Transformers v5, el modelo nativo de torchtitan y un ejemplo reducido de mezcla de expertos con kernels NKI. El avance útil es una receta concreta de integración, con comprobaciones de checkpoints y de resultados numéricos. No es el lanzamiento de un nuevo modelo Qwen ni un benchmark que demuestre un entrenamiento más barato.

Escucha las noticias

Escucha este artículo o continúa con las noticias.

Qwen3 en Trainium: tres rutas con torchtitan para comprobar pesos y kernels

Preparando la lectura…

Voz del dispositivo

El navegador o dispositivo procesa la voz. AISubHub no envía el texto a una API de audio. Las voces y la reproducción con pantalla bloqueada dependen del dispositivo.

Al continuar puede repetirse una frase breve.

Resumen

  • La guía utiliza una trn2.48xlarge: 16 aceleradores Trainium2, 128 NeuronCores físicos y 64 lógicos con LNC=2. El lanzamiento inicia 64 procesos de entrenamiento.
  • Los ejemplos densos utilizan los archivos de Qwen3-4B-Instruct-2507 y diez pasos con c4_test. El ejemplo MoE se reduce a cuatro capas y 64 expertos, seleccionando cuatro expertos por token; no entrena el modelo 30B-A3B completo y sin modificar.
  • AWS comunica pérdidas del primer paso de 6.54 con pesos publicados y 12.43 con inicialización aleatoria. Su prueba de embeddings rotatorios informa de una diferencia absoluta máxima de 0.0 con entradas float32; son comprobaciones de aspectos distintos.

Una integración de dispositivo, tres formas de cambiar el modelo

TorchNeuron registra Trainium como dispositivo neuron nativo en PyTorch, por lo que torchtitan puede utilizar las interfaces habituales. La primera ruta permite que Transformers v5 construya el modelo mediante AutoModelForCausalLM. La segunda sustituye esa implementación por Qwen3 nativo de torchtitan mediante config.model_spec. La tercera utiliza operadores NKI específicos de Trainium para las capas de mezcla de expertos y demuestra una sustitución personalizada. Son distintas implementaciones bajo un mismo punto de entrada de entrenamiento, no tres nuevos modelos Qwen.

La guía fija torch 2.14.0, torch_neuronx 2.14.3, Transformers 5.16.0 y torchtitan-neuron release-2.33, versión 0.2.2+neuron.1. Requiere una AMI de aprendizaje profundo para Neuron o un contenedor de entrenamiento con controlador, runtime y compilador. Nuestra interpretación es que utilizar PyTorch conocido reduce la superficie de integración, pero no convierte esa combinación de dependencias probada en opcional. AWS advierte expresamente de que la integración de Transformers y los módulos de sustitución pueden cambiar entre versiones de torchtitan.

La receta 4B comprueba inicialización y portabilidad del checkpoint

La primera configuración especifica Qwen/Qwen3-4B-Instruct-2507, utiliza c4_test, establece diez pasos y un tamaño de lote local de uno, y reparte el estado del paralelismo de datos entre los 64 ranks iniciados. Cargar la arquitectura es distinto de cargar pesos publicados. La configuración de ajuste fino activa explícitamente la carga del checkpoint desde los archivos descargados y exporta el modelo final como Hugging Face safetensors. La pérdida del primer paso comunicada es 6.54 con pesos publicados frente a 12.43 con inicialización aleatoria.

Esa diferencia sirve para comprobar la inicialización, no para demostrar que diez pasos producen un asistente mejor o una convergencia final. AWS también vuelve a cargar el checkpoint exportado con Transformers para comprobar sus claves, considerando el peso lm_head.weight ligado a los embeddings. La ruta nativa parte del constructor qwen3_32b porque esa versión probada no incluye uno genérico para 4B; después sustituye la especificación por 4B y fija el lote global en 64. Por tanto, el nombre del constructor no significa que el ejemplo entrenase un modelo de 32B.

La configuración MoE es deliberadamente menor que su familia

La receta Qwen3-30B-A3B se reduce a cuatro capas y 64 expertos para que el ejemplo quepa en una instancia. top_k=4 dirige cada token a cuatro expertos. La fuente utiliza fragmentación del paralelismo de datos entre 64 ranks, grado de paralelismo tensorial uno y ningún paralelismo de expertos. El número de expertos es un ajuste del modelo, no el número de dispositivos de paralelismo de expertos. Distinguirlos evita convertir una pequeña demostración de integración en una afirmación sobre entrenar el modelo original completo.

Este ejemplo funciona en modo eager, con la compilación desactivada en su configuración. Los operadores NKI registrados también son compatibles con torch.compile, pero cambiar el modo de ejecución es otra decisión. En la versión probada, la receta sustituye el bloque MoE por kernels de expertos agrupados y selecciona atención de producto escalar escalado y un embedding rotatorio sin gather. AWS explica cómo se incorpora autograd a los operadores con información guardada durante el paso hacia delante. No presenta una comparación de throughput que demuestre que esta configuración concreta es más rápida.

Un kernel personalizado exige comprobar layout, gradientes y destino

El ejemplo de embeddings rotatorios muestra por qué registrar no consiste solo en llamar a un kernel. torchtitan almacena query y key como lote, secuencia, cabezas y dimensión de cabeza; rope_hf espera lote, cabezas, secuencia y dimensión de cabeza. El envoltorio transforma el layout, proporciona almacenamiento de salida y deshace la transformación. Un operador backward separado reutiliza la caché rotatoria guardada; la propia caché no tiene gradiente. La longitud de secuencia debe ser múltiplo de 128 por LNC: 256 cuando LNC es dos.

Un registro de sustituciones reemplaza después la configuración del módulo previsto. Los logs de arranque deben mostrar una sustitución nki_rope por capa Qwen3; patrones de nombres más precisos pueden limitar las capas seleccionadas. AWS informa de diferencias absolutas máximas de 0.0 para query y key al comparar float32 con la implementación PyTorch. Eso valida esa prueba numérica, no todos los tipos de datos, formas o entrenamientos. El artículo presenta expresamente el ejemplo como integración del kernel con autograd, no como una mejora de rendimiento.

Convertir la guía en un piloto medido

El primer paso incluye compilación y tarda más que los posteriores. Los logs muestran pérdida, norma del gradiente, uso de memoria de alto ancho de banda, throughput y utilización de FLOPs del modelo, pero la guía no aporta una comparación controlada del coste completo. Al aumentar el modelo, la secuencia o el lote local, la memoria por rank sigue siendo una limitación práctica. El paralelismo tensorial puede combinarse con paralelismo de datos completamente fragmentado en un DeviceMesh multidimensional; la configuración MoE mostrada no debe confundirse con ese experimento mayor.

AISubHub propone conservar las versiones probadas, verificar el modelo seleccionado y los 64 ranks, comprobar la carga y exportación del checkpoint y comparar las salidas de kernels personalizados antes de iniciar una ejecución larga. Después se debe separar el calentamiento de la ejecución sostenida y evaluar la convergencia con los datos previstos. Hay que guardar los checkpoints necesarios antes de detener o terminar el hardware alquilado. Son pasos de evaluación deducidos de la guía, no resultados reproducidos por nosotros; tampoco establecen derechos de suscripción, una cuota gratuita de entrenamiento ni una ventaja universal de Trainium.

Por qué importa

Análisis de AISubHub: los equipos pueden separar la compatibilidad del modelo, la portabilidad de checkpoints y la corrección de kernels en tareas pequeñas de validación antes de intentar un entrenamiento completo. Una estructura de lanzamiento común reduce cambios entre recetas, pero mantiene las exigencias de versiones, memoria, compilación y comportamiento numérico.

Límites y disponibilidad

Es una guía técnica de Josh Longenecker y Alex Hoffman, de AWS, no una prueba de hardware de AISubHub. No ofrece un precio comparable del entrenamiento completo, un resultado final de convergencia ni una aceleración demostrada del kernel personalizado. La disponibilidad y el coste de la instancia, las versiones exactas y la validación de la carga siguen siendo responsabilidad del operador. No anuncia ventajas de suscripciones de consumo.

Fuentes y pruebas

AWS Machine Learning Blog — Train Qwen3 on AWS Trainium with torchtitan

Fecha de la fuente: · Fuente revisada:

Contenido editorial asistido por IA y contrastado con fuentes primarias. Las afirmaciones del proveedor se atribuyen; la inclusión no implica recomendación.