Tous les produits
Search
Centre de documentation

Container Compute Service:training-nv-pytorch 26.02

Dernière mise à jour :Aug 28, 2026

L'image training-nv-pytorch regroupe PyTorch et les bibliothèques associées pour l'entraînement et l'inférence, destinées aux charges de travail dans Container Compute Service (ACS). La version 26.02 met à jour plusieurs de ces bibliothèques et propose des variantes CUDA adaptées à différentes versions de pilotes NVIDIA et architectures CPU, afin d'adapter l'image à vos nœuds.

Principales fonctionnalités et corrections de bugs

Principales fonctionnalités

  • Mise à niveau de DeepSpeed vers la version 0.18.5 et de Transformers vers la version 4.57.6.

  • Mise à niveau de vLLM vers la version 0.15.0 et de flashinfer-python vers la version 0.6.1.

Corrections de bugs

Aucune.

Problèmes connus

Aucun.

Contenu

Le tableau suivant répertorie les tags de l'image training-nv-pytorch 26,02 ainsi que les exigences associées à chaque tag.

Élément

26,02-cu130-serverless

26,02-cu128-serverless

Nom de l'image

training-nv-pytorch

training-nv-pytorch

Cas d'utilisation

Entraînement et inférence

Entraînement/Inférence

Framework

pytorch

pytorch

Version CUDA

13.0.2

12.8.0

Exigences

Pilote NVIDIA 580 ou version ultérieure

Pilote NVIDIA 575 ou version ultérieure

Architectures prises en charge

amd64 et aarch64

amd64

Composants principaux

26,02-cu130-serverless

  • Ubuntu : 24,04

  • Python : 3.12.7+gc

  • CUDA : 13,0

  • perf : 5.4.30

  • gdb : 15.0.50.20240403-git

  • torch : 2.9.0+ali.10.nv25.10

  • triton : 3.5.0

  • transformer_engine : 2.11.0+c188b533

  • deepspeed : 0.18.5+ali

  • flash_attn : 2.8.3

  • transformers : 4.57.6+ali

  • grouped_gemm : 1.1.4

  • accelerate : 1.11.0+ali

  • diffusers : 0.34.0

  • mmengine : 0.10.3

  • mmcv : 2.1.0

  • mmdet : 3.3.0

  • opencv-python-headless : 4.11.0.86

  • ultralytics : 8.3.96

  • timm : 1.0.24

  • vllm : 0.15.0+cu130

  • flashinfer-python : 0.6.1

  • pytorch-dynamic-profiler : 0.24.11

  • peft : 0.16.0

  • ray : 2.53.0

  • megatron-core : 0.15.0

26,02-cu128-serverless

  • Ubuntu : 24,04

  • Python : 3.12.7+gc

  • CUDA : 12,8

  • perf : 5.4.30

  • gdb : 15.0.50.20240403-git

  • torch : 2.9.0+ali.10.nv25.3

  • triton : 3.5.0

  • transformer_engine : 2.10.0+769ed778

  • deepspeed : 0.18.5+ali

  • flash_attn : 2.8.3

  • flash_attn_3 : 3.0.0b1

  • transformers : 4.57.6+ali

  • grouped_gemm : 1.1.4

  • accelerate : 1.11.0+ali

  • diffusers : 0.34.0

  • mmengine : 0.10.3

  • mmcv : 2.1.0

  • mmdet : 3.3.0

  • opencv-python-headless : 4.11.0.86

  • ultralytics : 8.3.96

  • timm : 1.0.24

  • vllm : 0.15.0+cu128

  • flashinfer-python : 0.6.1

  • pytorch-dynamic-profiler : 0.24.11

  • peft : 0.16.0

  • ray : 2.53.0

  • megatron-core : 0.15.0

Exigences relatives aux pilotes

La version 26.02 prend en charge CUDA 12.8.0 et CUDA 13.0.2 ; chaque version de CUDA requiert une version minimale différente du pilote NVIDIA. La section Contenu indique l'exigence relative au pilote pour chaque tag. Pour obtenir la liste complète des pilotes pris en charge, consultez Compatibilité des applications CUDA. Pour plus d'informations, voir Compatibilité et mises à niveau CUDA.

Ressources

Tirez l'image training-nv-pytorch 26,02 depuis l'une des adresses suivantes. Sélectionnez le tag correspondant à la version du pilote NVIDIA et à l'architecture CPU de vos nœuds, comme indiqué dans la section Contenu.

Images publiques

CUDA 13.0.2

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

CUDA 12.8.0

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

Images VPC

Remplacez l'hôte du registre sur le réseau public dans l'URI de votre image par le point de terminaison VPC spécifique à la région.

Composant URI

Réseau public

IN-VPC

Hôte du registre

egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com

acs-registry-vpc.{region-id}.cr.aliyuncs.com

Dépôt

egslingjun

egslingjun (inchangé)

Image et tag

{image:tag}

{image:tag} (inchangé)

Remplacez {region-id} par l'ID de la région où s'exécute votre service ACS. Par exemple :

Région

ID de région

Chine (Pékin)

cn-beijing

Chine (Ulanqab)

cn-wulanchabu

Pour la liste complète des régions prises en charge, consultez Régions.

Exemples de valeurs {image:tag} :

  • inference-nv-pytorch:25.10-vllm0.11.0-pytorch2.8-cu128-20251028-serverless

  • training-nv-pytorch:25.10-serverless

Remarque

Cette image s'applique aux formes de produit multilocataire ACS et Lingjun. N'utilisez pas cette image dans les scénarios monolocataire Lingjun.

Démarrage rapide

L'exemple suivant montre comment tirer l'image training-nv-pytorch et démarrer un conteneur à l'aide de Docker.

Remarque

Pour utiliser l'image training-nv-pytorch dans ACS, sélectionnez l'image sur la page Artifact Center lors de la création d'une charge de travail dans la console. Vous pouvez également spécifier la référence de l'image dans un fichier YAML.

Remarques d'utilisation

Vérifiez les exigences suivantes avant d'exécuter l'image training-nv-pytorch :

  • L'image contient des modifications apportées à des bibliothèques telles que PyTorch et DeepSpeed. Ne réinstallez pas ces bibliothèques.

  • Dans la configuration DeepSpeed, laissez zero_optimization.stage3_prefetch_bucket_size vide ou définissez-le sur auto.

  • Ajustez la variable d'environnement intégrée NCCL_SOCKET_IFNAME de cette image en fonction de votre scénario :

    • Si un seul pod demande 1, 2, 4 ou 8 GPU pour une tâche d'entraînement ou d'inférence, vous devez définir NCCL_SOCKET_IFNAME=eth0. Il s'agit de la configuration par défaut de cette image.

    • Si un seul pod demande les 16 GPU d'un nœud pour une tâche d'entraînement ou d'inférence, vous pouvez utiliser le réseau haute performance HPN. Dans ce cas, vous devez définir NCCL_SOCKET_IFNAME=hpn0.

Étape 1 : Tirer l'image

Remplacez [tag] par le tag correspondant à la version du pilote NVIDIA et à l'architecture CPU de vos nœuds, comme indiqué dans la section Contenu.

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

Étape 2 : Démarrer le conteneur et exécuter une tâche d'entraînement

L'image training-nv-pytorch inclut un outil intégré d'entraînement de modèles nommé ljperf. L'exemple suivant utilise cet outil pour démarrer un conteneur et exécuter une tâche d'entraînement.

Remarque

Définissez NCCL_SOCKET_IFNAME en fonction du nombre de GPU demandés par un seul pod, comme décrit dans la section Remarques d'utilisation de cette rubrique.

LLMs

# Start the container and connect to it
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

Étape 3 : Activer la compilation et l'optimisation de la mémoire GPU

Activez les optimisations suivantes de l'image training-nv-pytorch :

  • Activer l'optimisation de la compilation : Utilisez l'API Transformers Trainer.

    training_args = TrainingArguments(
        bf16=True,
        gradient_checkpointing=True,
        torch_compile=True
    )
  • Activer l'optimisation de la mémoire GPU pour le recalcul : Définissez la variable d'environnement suivante.

    export CHECKPOINT_OPTIMIZATION=true

Fonctionnalités clés et améliorations

L'image training-nv-pytorch offre les optimisations suivantes pour l'entraînement PyTorch. Pour connaître les modifications apportées aux bibliothèques dans la version 26.02, consultez la section Principales fonctionnalités et corrections de bugs.

Optimisation de la compilation PyTorch

torch.compile(), introduit dans PyTorch 2.0, offre souvent des gains significatifs pour les charges de travail à petite échelle sur un seul GPU. Toutefois, l'entraînement des LLM repose sur l'optimisation de la mémoire GPU et sur des frameworks distribués tels que FSDP ou DeepSpeed ; par conséquent, torch.compile() peut offrir des avantages limités, voire dégrader les performances.

  • Contrôlez la granularité de la communication dans le framework DeepSpeed. Cela aide le compilateur à capturer un graphe de calcul plus complet et à appliquer des optimisations de compilation plus larges.

  • Utilisez une version optimisée de PyTorch :

    • Le frontend du compilateur PyTorch est amélioré pour garantir que la compilation réussisse même si une rupture de graphe se produit dans le graphe de calcul.

    • La correspondance de motifs et la prise en charge des formes dynamiques sont renforcées pour améliorer les performances après compilation.

Grâce à ces optimisations, l'entraînement des LLM de 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 de mémoire GPU, construit à partir de données de performances à grande échelle — incluant différents 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 des tests de référence — recommande le nombre optimal de couches de recalcul d'activation. Cette approche est intégrée à PyTorch, vous permettant d'obtenir les gains de performance liés à l'optimisation de la mémoire GPU avec un effort minimal. Cette fonctionnalité est désormais prise en charge dans le framework DeepSpeed.

Évaluation des performances de bout en bout

Les performances de bout en bout de l'image training-nv-pytorch ont été comparées à celles de l'image de base standard à l'aide de CNP, un outil d'évaluation et d'analyse des performances de l'IA cloud-native. Les tests ont utilisé des modèles open source grand public et des configurations de framework. Des expériences d'ablation ont également été menées pour mesurer la contribution de chaque composant d'optimisation aux performances globales de l'entraînement des modèles.

Comparaison des images par rapport à l'image de base et évaluation itérative

Performance comparison between this image and the base image across iterative evaluations

Analyse de la contribution des performances de bout en bout des composants GPU principaux

Les tests suivants sont basés sur l'image 26,02 et évaluent et comparent les performances d'entraînement de bout en bout sur un cluster GPU multinœud. Les éléments de comparaison incluent :

  • Base : L'image NGC PyTorch, qui sert de référence.

  • ACS AI Image : Base+ACCL : L'image de base avec la bibliothèque de communication ACCL.

  • ACS AI Image : AC2+ACCL : L'image golden sur AC2 BaseOS avec la bibliothèque de communication ACCL et aucune optimisation activée.

  • ACS AI Image : AC2+ACCL+CompilerOpt : L'image golden sur AC2 BaseOS avec la bibliothèque de communication ACCL et l'optimisation torch compile activée.

  • ACS AI Image : AC2+ACCL+CompilerOpt+CkptOpt : L'image golden sur AC2 BaseOS avec la bibliothèque de communication ACCL, l'optimisation torch compile et l'optimisation sélective du point de contrôle des gradients activées.

End-to-end performance contribution of core GPU components