Tous les produits
Search
Centre de documentation

Container Compute Service:training-nv-pytorch 25.05

Dernière mise à jour :Aug 12, 2026

Notes de version de l'image training-nv-pytorch 25.05 : nouveautés, versions des composants, tags d'image, prérequis en matière de pilotes, fonctionnalités clés et instructions de démarrage rapide.

Nouveautés

Fonctionnalités

  • L'image de base CUDA passe à la version 12.9.0.

Corrections de bugs

Contenu de l'image

Scénario

Entraînement/Inférence

Framework

PyTorch

Prérequis

Pilote NVIDIA version >= 575

Composants principaux :

Composant

Version

Ubuntu

24.04

Python

3.12.7+gc

Torch

2.6.0.7.post1

CUDA

12.9.0

ACCL-N

2.26.5.12

triton

3.2.0

TransformerEngine

2,1

deepspeed

0.15.4+ali

flash-attn

2.7.2

flashattn-hopper

3.0.0b1

transformers

4.51.2+ali

megatron-core

0.9.0

grouped_gemm

1.1.4

accelerate

1.6.0+ali

diffusers

0.31.0

openmim

0.3.9

mmengine

0.10.3

mmcv

2.1.0

mmdet

3.3.0

opencv-python-headless

4.10.0.84

ultralytics

8.2.74

timm

1.0.13

vLLM

0.8.5+cu128

flashinfer

0.2.5

pytorch-dynamic-profiler

0.24.11

perf

5.4.30

gdb

15.0.50

peft

0.13.2

ray

2.46.0

Tags d'image

25.05

egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:25.05-serverless

Image VPC

acs-registry-vpc.{region-id}.cr.aliyuncs.com/egslingjun/{image:tag}

Remplacez les espaces réservés par les valeurs réelles :

Espace réservé

Description

Exemple

{region-id}

Région où Alibaba Cloud Container Compute Service (ACS) est activé

cn-beijing, cn-wulanchabu

{image:tag}

Nom et tag de l'image

training-nv-pytorch:25.05

Remarque
  • L'image training-nv-pytorch:25.05-serverless est destinée aux services ACS et aux services multi-locataires Lingjun. Ne l'utilisez pas dans des scénarios Lingjun mono-locataire.

  • L'image training-nv-pytorch:25.05 (sans le suffixe -serverless) convient aux scénarios Lingjun mono-locataire.

Prérequis relatifs aux pilotes

La version 25.05 repose sur CUDA 12.9.0 et nécessite un pilote NVIDIA version 575 ou supérieure.

Exception pour les GPU de centre de données : Pour les GPU tels que le T4, vous pouvez utiliser les versions de pilote 470.57 (R470+), 525,85 (R525+), 535,86 (R535+) ou 545,23 (R545+).

Pilotes nécessitant une mise à niveau : Les versions R418, R440, R450, R460, R510, R520, R530, R545, R555 et R560 ne sont pas compatibles avec CUDA 12.8 et doivent être mises à jour.

Pour consulter les informations complètes sur la compatibilité des pilotes, reportez-vous aux ressources suivantes :

Remarque

La version 25.05 correspond à l'image NGC PyTorch 25.04. NGC publiant ses images en fin de mois, le développement de l'image Golden se base sur la version NGC du mois précédent.

Fonctionnalités clés

Optimisation de la compilation PyTorch

Introduite dans PyTorch 2.0, la fonction torch.compile() offre souvent des gains significatifs pour les charges de travail mono-GPU à petite échelle. Toutefois, comme l'entraînement de LLM repose sur l'optimisation de la mémoire GPU et des frameworks distribués tels que FSDP ou DeepSpeed, torch.compile() peut apporter des avantages limités, voire dégrader les performances.

  • Contrôlez la granularité des communications dans le framework DeepSpeed. Le compilateur capture ainsi un graphe de calcul plus complet et applique des optimisations plus étendues.

  • Utilisez une version optimisée de PyTorch :

    • Le frontend du compilateur PyTorch a été amélioré pour garantir la réussite de la compilation même en cas de rupture de graphe lors du calcul.

    • La reconnaissance de motifs et la prise en charge des formes dynamiques ont été renforcées afin d'améliorer les performances post-compilation.

Grâce à ces optimisations, l'entraînement de LLM à 8 milliards de paramètres atteint généralement un gain de débit de bout en bout d'environ 20 %.

Optimisation de la mémoire GPU pour le recalcul

Un modèle prédictif de la surcharge mémoire GPU recommande le nombre optimal de couches de recalcul d'activations. Il s'appuie sur des données de performances à grande échelle, incluant divers modèles, clusters et paramètres d'entraînement, ainsi que des métriques système telles que l'utilisation de la mémoire GPU collectées lors de benchmarks. Intégrée directement dans PyTorch, cette approche vous permet de bénéficier des gains de performance liés à l'optimisation de la mémoire GPU avec un effort minimal. Le framework DeepSpeed prend désormais en charge cette fonctionnalité.

ACCL

ACCL est la bibliothèque de communication haute performance d'Alibaba Cloud conçue pour Lingjun. ACCL-N en est la variante dédiée aux GPU. Dérivée de NVIDIA NCCL, cette bibliothèque de communication haute performance est entièrement compatible avec NCCL. Elle corrige certains problèmes présents dans la version upstream de NCCL tout en apportant des améliorations de performance et de stabilité.

Évaluation des performances de bout en bout

Les tests suivants utilisent l'outil d'évaluation et d'analyse des performances IA cloud-native CNP, associé à des modèles et frameworks open source courants ainsi qu'à des images de base standard, afin d'analyser les performances de bout en bout. Une étude par ablation évalue la contribution de chaque composant d'optimisation aux performances globales d'entraînement du modèle. Ces tests s'exécutent sur l'image Golden-25.05 au sein de clusters GPU multi-nœuds :

Configuration

Description

Base

Image NGC PyTorch

Image IA ACS : Base + ACCL

Image IA ACS intégrant la bibliothèque de communication ACCL

Image IA ACS : AC2 + ACCL

Image Golden sur OS de base AC2, sans aucune optimisation activée

Image IA ACS : AC2 + ACCL + CompilerOpt

Image Golden sur OS de base AC2 avec optimisation torch.compile

Image IA ACS : AC2 + ACCL + CompilerOpt + CkptOpt

Image Golden sur OS de base AC2 avec optimisation torch.compile et optimisation sélective des points de contrôle de gradient

image.png

Démarrage rapide

L'exemple suivant montre comment utiliser Docker pour récupérer et exécuter l'image training-nv-pytorch.

Remarque

Pour utiliser l'image training-nv-pytorch dans ACS, récupérez-la depuis la page du centre d'artefacts dans la console lors de la création de charges de travail, ou spécifiez l'image dans un fichier YAML.

1. Récupérer l'image

docker pull egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:[tag]

2. Activer les optimisations

Activer l'optimisation de compilation

Utilisez l'API Trainer de transformers :

image.png

Activer l'optimisation de la mémoire GPU pour le recalcul d'activations

export CHECKPOINT_OPTIMIZATION=true

3. Lancer un conteneur

L'image inclut ljperf, un outil intégré d'entraînement de modèles permettant de lancer des conteneurs et d'exécuter des tâches d'entraînement.

Exemple 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

Remarques d'utilisation

  • Cette version modifie les bibliothèques PyTorch et DeepSpeed. Ne les réinstallez pas.

  • Laissez le paramètre zero_optimization.stage3_prefetch_bucket_size vide ou définissez-le sur auto dans votre configuration DeepSpeed.

Problèmes connus

  • PyTorch étant passé à la version 2.6 dans cette version, le gain de performance apporté par l'optimisation mémoire de recalcul d'activations pour les modèles LLM est inférieur à celui des images précédentes. Des travaux d'optimisation sont en cours.