Tous les produits
Search
Centre de documentation

Container Compute Service:training-nv-pytorch 26.06

Dernière mise à jour :Aug 12, 2026

Cette rubrique présente les notes de version de training-nv-pytorch 26.06, notamment les nouvelles fonctionnalités, les composants principaux et les recommandations d'utilisation.

Nouvelles fonctionnalités et corrections de bugs

Nouvelles fonctionnalités

  • Mise à niveau de vllm vers la version 0.22.0.

  • Mise à niveau de transformer_engine vers la version 2.15.

Corrections de bugs

Aucune.

Contenu

Nom de l'image

training-nv-pytorch

Tag

26.06-cu130-serverless

Cas d'utilisation

Entraînement / Inférence

Framework

pytorch

Prérequis

NVIDIA Driver release >= 580

NVIDIA Driver release >= 580

Architectures prises en charge

amd64

aarch64

Composants principaux

  • Ubuntu: 24.04

  • Python: 3.12.7+gc

  • CUDA: 13.0

  • perf: 5.4.30

  • gdb: 15.1

  • torch: 2.11.0+ali.11.nv25.10

  • triton: 3.6.0

  • transformer_engine: 2.15.0+42b84005

  • deepspeed: 0.18.8+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.27

  • vllm: 0.22.0

  • flashinfer-python: 0.6.11.post2

  • pytorch-dynamic-profiler: 0.24.11

  • peft: 0.19.1

  • megatron-core: 0.17.0

  • Ubuntu: 24.04

  • Python: 3.12.7+gc

  • CUDA: 13.0

  • gdb: 15.1

  • torch: 2.11.0+ali.11.nv25.10

  • triton: 3.6.0

  • transformer_engine: 2.15.0+42b84005

  • deepspeed: 0.18.8+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.27

  • vllm: 0.22.0

  • flashinfer-python: 0.6.11.post2

  • pytorch-dynamic-profiler: 0.24.11

  • peft: 0.19.1

  • megatron-core: 0.17.0

Ressources

Image accessible via Internet

CUDA 13.0.2 (Driver ≥ 580, amd64 et aarch64)

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

Image VPC

Toutes les images de conteneur ACS AI, existantes ou nouvelles, du dépôt egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun prennent en charge le téléchargement via VPC interne.

Remplacez l'hôte de registre public dans l'URI de votre image par l'endpoint VPC spécifique à la région.

Composant de l'URI

Réseau public

VPC interne

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 consulter la liste complète des régions prises en charge, reportez-vous à Régions.

Exemples de valeurs pour {image:tag} :

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

  • training-nv-pytorch:25.10-serverless

Remarque

Cette image est disponible pour les offres ACS et Lingjun multilocataire. Ne l'utilisez pas dans des scénarios Lingjun monolocataire.

Prérequis relatifs aux pilotes

Fonctionnalités clés et améliorations

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. Cependant, l'entraînement de LLM repose sur l'optimisation de la mémoire GPU et des frameworks distribués tels que FSDP ou DeepSpeed. Par conséquent, torch.compile() peut apporter des avantages limités, voire dégrader les performances.

  • Contrôlez la granularité des communications dans le framework DeepSpeed. Cela permet au compilateur de capturer un graphe de calcul plus complet et d'appliquer des optimisations de compilation plus étendues.

  • Utilisez une version optimisée de PyTorch :

    • Le frontend du compilateur PyTorch a été amélioré afin de 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 pour améliorer les performances post-compilation.

Grâce à ces optimisations, l'entraînement de LLM à 8 milliards de paramètres obtient 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 des benchmarks. Cette approche intégrée à PyTorch 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 version dédiée aux GPU. Personnalisée à partir 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 et intègre des améliorations de performance et de stabilité.

Évaluation des performances de bout en bout

L'outil de benchmarking des performances IA cloud-native CNP a permis d'effectuer des comparaisons complètes des performances de bout en bout par rapport à une image de base standard, en utilisant des modèles open source courants et des configurations de framework usuelles. Des études d'ablation ont également évalué la contribution de chaque composant d'optimisation aux performances globales d'entraînement du modèle.

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

image

Analyse de la contribution des composants GPU principaux aux performances E2E

Les tests suivants reposent sur cette version de l'image. Des benchmarks et des comparaisons de performances d'entraînement E2E ont été exécutés sur un cluster GPU multinœud. Les configurations suivantes ont été comparées :

  1. Base : Image NGC PyTorch

  2. Image ACS AI : Base+ACCL : L'image utilise la bibliothèque de communication ACCL.

  3. Image ACS AI : AC2+ACCL : L'image de référence utilise AC2 BaseOS sans aucune optimisation activée.

  4. Image ACS AI : AC2+ACCL+CompilerOpt : L'image de référence utilise AC2 BaseOS avec uniquement l'optimisation de compilation torch activée.

  5. Image ACS AI : AC2+ACCL+CompilerOpt+CkptOpt : L'image de référence utilise AC2 BaseOS avec les optimisations de compilation torch et de checkpoint de gradient sélectif activées.

image

Prise en main

Les exemples suivants montrent comment télécharger l'image training-nv-pytorch en utilisant uniquement Docker.

Remarque

Pour utiliser l'image training-nv-pytorch dans ACS, sélectionnez-la depuis la page Artifact Center lors de la création d'une charge de travail dans la console, ou référencez l'image dans un fichier YAML.

1. Sélectionner l'image

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

2. Activer le compilateur et l'optimisation mémoire de recalcul via l'API

  • Activer l'optimisation de la compilation

    Via l'API Trainer de transformers :

    training_args = TrainingArguments(
        bf16=True,
        gradient_checkpointing=True,
        torch_compile=True
    )
  • Activer l'optimisation mémoire de recalcul

    export CHECKPOINT_OPTIMIZATION=true

3. Démarrer le conteneur

L'image inclut l'outil d'entraînement de modèle intégré ljperf. L'exemple suivant illustre son utilisation pour démarrer le conteneur et exécuter une tâche d'entraînement.

LLM

# Start the container and enter 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 

4. Recommandations d'utilisation

  • Les modifications apportées à l'image affectent des bibliothèques telles que PyTorch et DeepSpeed. Ne les réinstallez pas.

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

  • Adaptez la variable d'environnement intégrée NCCL_SOCKET_IFNAME à votre scénario :

    • Si un Pod unique demande seulement 1, 2, 4 ou 8 cartes pour une tâche d'entraînement ou d'inférence, conservez NCCL_SOCKET_IFNAME=eth0 (configuration par défaut de cette image).

    • Si un Pod unique sollicite les 16 GPU de la machine (permettant ainsi l'utilisation du réseau haute performance HPN) pour une tâche d'entraînement ou d'inférence, définissez NCCL_SOCKET_IFNAME=hpn0.

Problèmes connus

Aucun.