Tous les produits
Search
Centre de documentation

Container Compute Service:training-nv-pytorch 26.01

Dernière mise à jour :Aug 28, 2026

La version 26.01 met à niveau les composants intégrés d'entraînement et d'inférence de l'image training-nv-pytorch. Consultez ces notes de version pour vérifier le tag de l'image, les versions des composants et la version minimale du pilote NVIDIA avant d'exécuter une tâche d'entraînement ou d'inférence dans ACS.

Nouveautés

Mises à niveau des composants

  • Le composant d'entraînement intégré megatron-core passe à la version 0.15.0.

  • Le composant d'inférence intégré vLLM passe à la version 0.13.0.

  • Le composant intégré flashinfer-python passe à la version 0.5.3.

  • Le composant intégré health_check est mis à niveau pour être compatible avec shuttle 1.5.3.

Problèmes résolus

Cette version ne corrige aucun problème.

Contenu de l'image

Le tableau suivant répertorie les scénarios, le framework, les exigences de pilote et la prise en charge des architectures pour chaque tag training-nv-pytorch 26,01.

Élément

26,01-cu130-serverless

26,01-cu128-serverless

Nom de l'image

training-nv-pytorch

training-nv-pytorch

Scénarios courants

Entraînement et inférence

Entraînement/Inférence

Framework

pytorch

pytorch

Exigences

Version du pilote NVIDIA >= 580

Version du pilote NVIDIA >= 575

Architectures prises en charge

amd64 et aarch64

amd64

Composants principaux

26,01-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.10.0+769ed778

  • deepspeed : 0.18.1+ali

  • flash_attn : 2.8.3

  • transformers : 4.57.1+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.13.0+cu130

  • flashinfer-python : 0.5.3

  • pytorch-dynamic-profiler : 0.24.11

  • peft : 0.16.0

  • ray : 2.53.0

  • megatron-core : 0.15.0

26,01-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.1+ali

  • flash_attn : 2.8.3

  • flash_attn_3 : 3.0.0b1

  • transformers : 4.57.1+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.13.0+cu128

  • flashinfer-python : 0.5.3

  • pytorch-dynamic-profiler : 0.24.11

  • peft : 0.16.0

  • ray : 2.53.0

  • megatron-core : 0.15.0

Ressources

Tirez l'image training-nv-pytorch 26,01 depuis l'une des adresses suivantes. Pour connaître la version minimale du pilote NVIDIA requise par chaque version CUDA, consultez la section Exigences en matière de pilote.

Image publique

CUDA 13.0.2 (pilote >= 580, amd64 et aarch64)

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

CUDA 12.8 (pilote >= 575, amd64)

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

Image VPC

Pour tirer rapidement les images de conteneur ACS AI au sein d'un Virtual Private Cloud (VPC), remplacez l'URI de ressource egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/{image:tag} de l'image de conteneur AI spécifiée par acs-registry-vpc.{region-id}.cr.aliyuncs.com/egslingjun/{image:tag}.

  • {region-id} : ID d'une région ACS. Par exemple, cn-beijing ou cn-wulanchabu. Pour plus d'informations, consultez la rubrique Régions.

  • {image:tag} : nom et tag de l'image de conteneur AI. Par exemple, inference-nv-pytorch:25.10-vllm0.11.0-pytorch2.8-cu128-20251028-serverless ou training-nv-pytorch:25.10-serverless.

Important

Cette image s'applique à ACS et à Lingjun multi-locataire. Elle ne s'applique pas à Lingjun mono-locataire. Ne l'utilisez pas dans des scénarios Lingjun mono-locataire.

Exigences en matière de pilote

La version training-nv-pytorch 26,01 prend en charge CUDA 12.8.0 et CUDA 13.0.2 avec différentes versions de pilote :

Capacités d'optimisation intégrées

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 build PyTorch optimisée :

    • 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 consommation de mémoire GPU recommande le nombre optimal de couches de recalcul d'activation. Ce modèle s'appuie sur des données de performance à grande échelle, incluant différents modèles, clusters et paramètres d'entraînement, ainsi que sur des métriques système telles que l'utilisation de la mémoire GPU collectées lors des tests de référence. Cette approche est intégrée à PyTorch, ce qui vous permet d'obtenir les gains de performance liés à l'optimisation de la mémoire GPU avec un effort minimal. Cette fonctionnalité est prise en charge dans le framework DeepSpeed.

Évaluation des performances de bout en bout

L'évaluation utilise CNP, un outil d'analyse des performances d'IA cloud-native, pour effectuer une comparaison complète de l'image par rapport à une image de base standard sur des modèles open source mainstream et des configurations de framework. Une étude d'ablation évalue également la contribution de chaque composant d'optimisation aux performances globales de l'entraînement du modèle.

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

Image comparison against the base image and iterative evaluation

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

Ces tests sont exécutés sur la version 26.01 et comparent les performances d'entraînement de bout en bout sur un cluster GPU multi-nœuds. Les configurations suivantes sont comparées :

  • Base : l'image NGC PyTorch.

  • ACS AI Image: Base + ACCL : l'image ACS AI utilise Alibaba Cloud Communication Library (ACCL).

  • ACS AI Image: AC2 + ACCL : l'image gold ACS AI utilise AC2 BaseOS, sans aucune optimisation activée.

  • ACS AI Image: AC2 + ACCL + CompilerOpt : l'image ACS AI utilise AC2 BaseOS, avec uniquement l'optimisation torch compile activée.

  • ACS AI Image: AC2 + ACCL + CompilerOpt + CkptOpt : l'image ACS AI utilise AC2 BaseOS, avec les optimisations torch compile et selective gradient checkpoint activées.

    End-to-end performance contribution analysis of core GPU components

Démarrage rapide

Tirez l'image training-nv-pytorch, activez les optimisations du compilateur et du point de contrôle des gradients, démarrez un conteneur pour exécuter une tâche d'entraînement, puis consultez les recommandations d'utilisation. L'exemple suivant utilise uniquement Docker.

Remarque

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

1. Tirez l'image

Sélectionnez le tag dont les exigences de pilote NVIDIA et les architectures prises en charge correspondent à vos nœuds, puis remplacez [tag] dans la commande suivante par ce tag. Pour connaître les exigences de chaque tag, consultez la section Contenu de l'image.

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

2. Activez les optimisations du compilateur et du point de contrôle des gradients

Activer l'optimisation de la compilation

Utilisez l'API Trainer de transformers :

training_args = TrainingArguments(
    bf16=True,
    gradient_checkpointing=True,
    torch_compile=True
)

Activer l'optimisation du point de contrôle des gradients

Définissez la variable d'environnement suivante :

export CHECKPOINT_OPTIMIZATION=true

3. Démarrez le conteneur

L'image inclut l'outil d'entraînement de modèle intégré ljperf, utilisé dans les étapes suivantes pour démarrer un conteneur et exécuter une tâche d'entraînement.

Pour les LLM

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

Recommandations d'utilisation

  • Ne réinstallez pas les bibliothèques modifiées par l'image, telles que PyTorch et DeepSpeed.

  • Laissez zero_optimization.stage3_prefetch_bucket_size vide ou définissez-le sur auto dans la configuration DeepSpeed.

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

    • Lorsqu'un seul pod demande uniquement 1, 2, 4 ou 8 GPU pour une tâche d'entraînement ou d'inférence, définissez NCCL_SOCKET_IFNAME=eth0 (la configuration par défaut de cette image).When a single pod requests only 1, 2, 4, or 8 GPUs for a training or inference job, set NCCL_SOCKET_IFNAME=eth0 (the default configuration in this image). (l'une des configurations par défaut de cette image).

    • Lorsqu'un seul pod demande les 16 GPU d'une machine pour une tâche d'entraînement ou d'inférence, et que vous pouvez utiliser le réseau haute performance (HPN), définissez NCCL_SOCKET_IFNAME=hpn0.

Problèmes connus

Cette version ne présente aucun problème connu.