Notas de la versión de la imagen training-nv-pytorch 25.05. Aquí encontrará las novedades, las versiones de los componentes, las etiquetas de la imagen, los requisitos del controlador, las funciones principales y las instrucciones de inicio rápido.
Novedades
Funciones
La imagen base de CUDA se actualizó a la versión 12.9.0.
Correcciones de bugs
PyTorch se actualizó a la versión 2.6.0.7.post1, lo cual corrige el problema de cierre inesperado en el perfil reportado por la comunidad de código abierto.
Contenido de la imagen
|
Scenario |
Training/Inference |
|
Framework |
PyTorch |
|
Requisitos |
Versión del controlador de NVIDIA >= 575 |
Componentes principales:
|
Component |
Version |
|
Ubuntu |
24.04 |
|
Python |
3.12.7+gc |
|
2.6.0.7.post1 |
|
|
12.9.0 |
|
|
2.26.5.12 |
|
|
3.2.0 |
|
|
2.1 |
|
|
0.15.4+ali |
|
|
2.7.2 |
|
|
3.0.0b1 |
|
|
4.51.2+ali |
|
|
0.9.0 |
|
|
1.1.4 |
|
|
1.6.0+ali |
|
|
0.31.0 |
|
|
0.3.9 |
|
|
0.10.3 |
|
|
2.1.0 |
|
|
3.3.0 |
|
|
4.10.0.84 |
|
|
8.2.74 |
|
|
1.0.13 |
|
|
0.8.5+cu128 |
|
|
0.2.5 |
|
|
0.24.11 |
|
|
perf |
5.4.30 |
|
gdb |
15.0.50 |
|
0.13.2 |
|
|
2.46.0 |
Etiquetas de la imagen
25.05
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:25.05-serverless
Imagen de VPC
acs-registry-vpc.{region-id}.cr.aliyuncs.com/egslingjun/{image:tag}
Sustituya los marcadores de posición con los valores correspondientes:
|
Placeholder |
Description |
Example |
|
|
La región donde activó Alibaba Cloud Container Compute Service (ACS) |
|
|
|
El nombre y la etiqueta de la imagen |
|
training-nv-pytorch:25.05-serverlessestá diseñada para los servicios de ACS y los servicios multiinquilino de Lingjun. No la utilice en escenarios de inquilino único de Lingjun.training-nv-pytorch:25.05(sin-serverless) corresponde a los escenarios de inquilino único de Lingjun.
Requisitos del controlador
La versión 25.05 se basa en CUDA 12.9.0 y requiere el controlador de NVIDIA versión 575 o superior.
Excepción para GPU de centro de datos: En tarjetas como la T4, puede usar las versiones de controlador 470.57 (R470+), 525.85 (R525+), 535.86 (R535+) o 545.23 (R545+).
Controladores que requieren actualización: Las ramas R418, R440, R450, R460, R510, R520, R530, R545, R555 y R560 no son compatibles con versiones posteriores de CUDA 12.8, por lo que debe actualizarlas.
Para consultar toda la información sobre compatibilidad de controladores, consulte:
La versión 25.05 coincide con la imagen NGC PyTorch 25.04. NGC publica sus imágenes al final de cada mes, por lo que el desarrollo de la imagen Golden se basa en la versión de NGC del mes anterior.
Funciones principales
Optimización de compilación de PyTorch
La función torch.compile(), introducida en PyTorch 2.0, suele ofrecer mejoras notables en cargas de trabajo pequeñas con una sola GPU. Sin embargo, el entrenamiento de modelos LLM depende de la optimización de memoria de la GPU y de frameworks distribuidos como FSDP o DeepSpeed. Por ello, torch.compile() podría aportar ventajas limitadas o incluso reducir el rendimiento.
Controle la granularidad de la comunicación en el framework DeepSpeed. Esto permite que el compilador capture un grafo de cómputo más completo y aplique optimizaciones de compilación más amplias.
-
Utilice una compilación optimizada de PyTorch:
El frontend del compilador de PyTorch se mejoró para garantizar que la compilación se complete correctamente, incluso si ocurre una interrupción en el grafo de cómputo.
Se reforzó la coincidencia de patrones y la compatibilidad con formas dinámicas para mejorar el rendimiento después de la compilación.
Con estas optimizaciones, el entrenamiento de modelos LLM de 8B parámetros alcanza normalmente una mejora de throughput de extremo a extremo cercana al 20 %.
Optimización de memoria de GPU para recálculo
Se construyó un modelo predictivo de sobrecarga de memoria de GPU a partir de datos de rendimiento a gran escala. Estos datos incluyen distintos modelos, clústeres y configuraciones de parámetros de entrenamiento, además de métricas del sistema como la utilización de memoria de GPU recopilada durante las pruebas de referencia. Dicho modelo recomienda el número óptimo de capas de recálculo de activaciones. Este enfoque se integró directamente en PyTorch, lo que le permite aprovechar las mejoras de rendimiento de la optimización de memoria de GPU con un esfuerzo mínimo. Esta función ya es compatible con el framework DeepSpeed.
ACCL
ACCL es la biblioteca de comunicación de alto rendimiento de Alibaba Cloud creada para Lingjun, mientras que ACCL-N es su variante enfocada en GPU. ACCL-N es una biblioteca de comunicación de alto rendimiento personalizada a partir de NCCL de NVIDIA. Es totalmente compatible con NCCL, corrige problemas presentes en la versión original y añade mejoras de rendimiento y estabilidad.
Evaluación de rendimiento de extremo a extremo
Las siguientes pruebas utilizan CNP, la herramienta nativa de la nube para evaluar y analizar el rendimiento de IA. Se emplean modelos y frameworks de código abierto populares junto con imágenes base estándar para analizar el rendimiento de extremo a extremo. Mediante un estudio de ablación se evalúa cómo contribuye cada componente de optimización al rendimiento general del entrenamiento del modelo. Las pruebas se ejecutan en Golden-25.05 sobre clústeres de GPU multinodo:
|
Configuration |
Description |
|
Base |
Imagen NGC PyTorch |
|
Imagen de IA de ACS: Base + ACCL |
Imagen de IA de ACS con la biblioteca de comunicación ACCL |
|
Imagen de IA de ACS: AC2 + ACCL |
Imagen Golden sobre el sistema operativo base AC2, sin optimizaciones habilitadas |
|
Imagen de IA de ACS: AC2 + ACCL + CompilerOpt |
Imagen Golden sobre el sistema operativo base AC2 con la optimización |
|
Imagen de IA de ACS: AC2 + ACCL + CompilerOpt + CkptOpt |
Imagen Golden sobre el sistema operativo base AC2 con |

Inicio rápido
En el siguiente ejemplo se usa docker para extraer y ejecutar la imagen training-nv-pytorch.
Para usar la imagen training-nv-pytorch en ACS, extráigala desde la página del centro de artefactos en la consola cuando cree cargas de trabajo, o bien especifique la imagen en un archivo YAML.
1. Extraiga la imagen
docker pull egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:[tag]
2. Habilite las optimizaciones
Habilite la optimización de compilación
Utilice la API Trainer de transformers:

Habilite la optimización de memoria de GPU para el recálculo de activaciones
export CHECKPOINT_OPTIMIZATION=true
3. Inicie un contenedor
La imagen incluye ljperf, una herramienta integrada de entrenamiento de modelos que sirve para iniciar contenedores y ejecutar tareas de entrenamiento.
Ejemplo con un modelo LLM:
# Launch a container and log on to the container.
docker run --rm -it --ipc=host --net=host --privileged egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:[tag]
# Run the training demo.
ljperf benchmark --model deepspeed/llama3-8b
Notas de uso
Esta versión modifica las bibliotecas de PyTorch y DeepSpeed. No las reinstale.
Deje vacío el parámetro
zero_optimization.stage3_prefetch_bucket_sizeo establézcalo enautodentro de su configuración de DeepSpeed.
Problemas conocidos
En esta versión, PyTorch se actualizó a la 2.6. Por este motivo, la ventaja de rendimiento que ofrece la optimización de memoria mediante recálculo de activaciones en modelos LLM es menor que en imágenes anteriores. El equipo sigue trabajando en esta optimización.