Tous les produits
Search
Centre de documentation

Container Compute Service:training-nv-pytorch 25.04

Dernière mise à jour :Aug 12, 2026

training-nv-pytorch 25.04 est une image de conteneur d'entraînement IA pour Alibaba Cloud Container Compute Service (ACS). Basée sur NGC PyTorch 25.03, elle intègre des optimisations Alibaba Cloud pour l'entraînement et l'inférence de LLM à grande échelle sur des clusters GPU.

Nouveautés

  • Image de base alignée sur NGC 25.03. CUDA mis à jour vers la version 12.8.1 et TransformerEngine vers la version 2.1.

  • Triton adapté à la version 3.2.0 et Accelerate mis à jour vers 1.6.0+ali, avec intégration des fonctionnalités et correctifs correspondants.

  • vLLM mis à jour vers la version 0.8.5, flashinfer-python vers 0.2.5 et Transformers vers 4.51.2+ali, avec ajout de la prise en charge de Qwen3.

Correctifs : Aucun

Avis importants

  • Cette image contient des bibliothèques PyTorch et DeepSpeed modifiées. Ne les réinstallez pas.

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

Composants

Scénarios

Entraînement, inférence

Framework

PyTorch

Pilote NVIDIA

≥ 570

Composants principaux :

Composant

Version

Ubuntu

24.04

Python

3.12.7+gc

Torch

2.6.0.7

CUDA

12.8.0

ACCL-N

2.23.4.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.43.0

Ressources d'image

25.04

Image publique :

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

Image VPC :

acs-registry-vpc.{region-id}.cr.aliyuncs.com/egslingjun/{image:tag}
  • {region-id} : la région où votre service ACS est activé, par exemple cn-beijing ou cn-wulanchabu.

  • {image:tag} : le nom et le tag de l'image.

L'image training-nv-pytorch:25.04-serverless est compatible avec les scénarios ACS et Lingjun multi-tenant. Elle n'est pas compatible avec les scénarios Lingjun single-tenant.
L'image training-nv-pytorch:25.04 (sans suffixe) est destinée aux scénarios Lingjun single-tenant.

Prérequis relatifs aux pilotes

Cette version repose sur CUDA 12.8.1.012.

Scénario

Version minimale du pilote

GPU standard

570 ou ultérieure

GPU pour centres de données (T4 et similaires)

470,57 (R470), 525,85 (R525), 535,86 (R535) ou 545,23 (R545)

Pilotes non compatibles ascendamment avec CUDA 12.8 : mettez à niveau votre pilote si vous utilisez l'une des versions suivantes : R418, R440, R450, R460, R510, R520, R530, R545, R555, R560.

Pour consulter la liste complète des pilotes pris en charge, reportez-vous à la section Compatibilité des applications CUDA. Pour plus d'informations sur la compatibilité et les mises à niveau, consultez la section Compatibilité et mises à niveau CUDA.

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. Toutefois, l'entraînement de LLM reposant 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. 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 qui apporte les améliorations suivantes :

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

    • La correspondance de motifs et la prise en charge des formes dynamiques sont renforcées afin d'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'activation. Ce modèle s'appuie sur des données de performances à grande échelle incluant divers 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 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. Cette fonctionnalité est désormais prise en charge dans le framework DeepSpeed.

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 reste entièrement compatible avec NCCL tout en corrigeant les problèmes présents dans la version upstream et en apportant des améliorations de performance et de stabilité.

Analyse de la contribution aux performances de bout en bout

Les tests suivants utilisent Golden-25.04 sur des clusters GPU multi-nœuds afin de comparer la contribution de chaque composant d'optimisation au débit de bout en bout. L'outil de performance IA cloud-native CNP exécute des évaluations avec des modèles et frameworks open source courants, en parallèle des images de base standard.

Configurations de test :

  1. Base : Image NGC PyTorch

  2. Image IA ACS : Base + ACCL : image intégrant la bibliothèque de communication ACCL

  3. Image IA ACS : AC2 + ACCL : image golden avec AC2 BaseOS, sans aucune optimisation activée

  4. Image IA ACS : AC2 + ACCL + CompilerOpt : image golden avec AC2 BaseOS et optimisation de la compilation PyTorch activée

  5. Image IA ACS : AC2 + ACCL + CompilerOpt + CkptOpt : image golden avec AC2 BaseOS, combinant l'optimisation de la compilation et le checkpointing sélectif des activations

image.png

Prise en main rapide

Les étapes suivantes utilisent Docker pour récupérer et exécuter l'image training-nv-pytorch.

Pour utiliser training-nv-pytorch dans ACS, récupérez l'image 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.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Docker installé sur votre machine hôte

  • Un pilote NVIDIA répondant aux prérequis relatifs aux pilotes

  • Un accès au registre d'images (image publique ou image VPC, selon votre réseau)

1. Récupérer l'image

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

2. Activer l'optimisation de la compilation et l'optimisation de la mémoire GPU pour le recalcul

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

image.png

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

export CHECKPOINT_OPTIMIZATION=true

3. Lancer un conteneur et exécuter une tâche d'entraînement

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

# Launch a container and log in.
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

Problèmes connus

  • Depuis la mise à niveau vers PyTorch 2.6, le gain de performance apporté par l'optimisation mémoire de recalcul pour les modèles de type LLM est inférieur à celui des versions précédentes. Des travaux d'optimisation sont en cours.