training-nv-pytorch 26,07 est une image de conteneur destinée à l'entraînement et à l'inférence de modèles. Cette rubrique présente les points forts de cette version, les spécifications de l'image ainsi que la procédure de prise en main.
Points forts de la version
Fonctionnalités principales
Mise à niveau de
PyTorchet des composants associés vers la version 2.12.1, et deTritonvers la version 3.7.1.Composants d'entraînement : mise à niveau de
Transformer Enginevers la version 2.16.1, deMegatron-Corevers la version 0.18.2 et deTransformersvers la version 5.12.1. Les fonctionnalités communautaires et les correctifs correspondants ont été intégrés.Composants d'inférence : mise à niveau de
vLLMvers la version 0.24.0 et deFlashInfervers la version 0.6.12. Les fonctionnalités communautaires et les correctifs correspondants ont été intégrés.
Corrections de bugs
Aucune
Fonctionnalités clés et améliorations
Optimisation de la compilation PyTorch
Introduite avec PyTorch 2.0, la fonction torch.compile() 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. Dans ce contexte, torch.compile() peut apporter des bénéfices limités, voire dégrader les performances.
Contrôle de la granularité des communications dans le framework DeepSpeed. Cette approche permet au compilateur de capturer un graphe de calcul plus complet et d'appliquer des optimisations de compilation plus larges.
-
Utilisation d'une build PyTorch optimisée :
Le frontend du compilateur PyTorch a été amélioré afin de garantir le succès de la compilation, même en cas de rupture de graphe (graph break) dans le graphe de calcul.
La correspondance de motifs (pattern matching) et la prise en charge des formes dynamiques ont été renforcées pour améliorer les performances après compilation.
Contrôle de la granularité des communications dans le framework DeepSpeed. Cette approche permet au compilateur de capturer un graphe de calcul plus complet et d'appliquer des optimisations de compilation plus larges.
Utilisation d'une build PyTorch optimisée :
Le frontend du compilateur PyTorch a été amélioré afin de garantir le succès de la compilation, même en cas de rupture de graphe (graph break) dans le graphe de calcul.
La correspondance de motifs (pattern matching) et la prise en charge des formes dynamiques ont été renforcées pour améliorer les performances après compilation.
ACCL
ACCL est la bibliothèque de communication haute performance d'Alibaba Cloud, conçue pour Lingjun. ACCL-N est la version dédiée aux GPU. Il s'agit d'une bibliothèque de communication haute performance personnalisée à partir de NVIDIA NCCL. Entièrement compatible avec NCCL, elle corrige les problèmes de la version amont de NCCL et intègre des améliorations de performance et de stabilité.
Spécifications de l'image
Le tableau suivant répertorie les spécifications de l'image training-nv-pytorch 26,07.
|
Élément |
Valeur |
|
Nom de l'image |
training-nv-pytorch |
|
Tag |
26,07-serverless |
|
Scénario |
Entraînement et inférence |
|
Framework |
PyTorch |
|
Prérequis pour le pilote NVIDIA |
580 ou version ultérieure |
|
Architectures prises en charge |
amd64, aarch64 |
Composants principaux
amd64
Ubuntu : 24,04
Python : 3.12.7+gc
CUDA : 13.0.2
perf : 5.4.30
gdb : 15,1
torch : 2.12.1+ali.12.nv25.10
triton : 3.7.1
transformer_engine: 2.16.1+c9877bebdeepspeed: 0.18.8+aliflash_attn: 2.8.3flash_attn_3: 3.0.0transformers : 5.12.1
grouped_gemm: 1.1.4accelerate : 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.86ultralytics : 8.3.96
timm : 1.0.28
vllm : 0.24.0
flashinfer-python: 0.6.12peft : 0.19.1
megatron-core: 0.18.2
aarch64
Ubuntu : 24,04
Python : 3.12.7+gc
CUDA : 13.0.2
gdb : 15,1
torch : 2.12.1+ali.12.nv25.10
triton : 3.7.1
transformer_engine: 2.16.1+c9877bebdeepspeed: 0.18.8+aliflash_attn: 2.8.3transformers : 5.12.1
grouped_gemm: 1.1.4accelerate : 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.86ultralytics : 8.3.96
timm : 1.0.28
vllm : 0.24.0
flashinfer-python: 0.6.12peft : 0.19.1
megatron-core: 0.18.2
Prérequis pour le pilote
training-nv-pytorch 26,07 prend en charge CUDA 13.0.2, qui nécessite le pilote NVIDIA 580 ou une version ultérieure. Pour obtenir la liste complète des pilotes pris en charge, consultez la page Compatibilité des applications CUDA. Pour plus d'informations, reportez-vous à la section Compatibilité et mises à niveau CUDA.
Images
Images publiques
CUDA 13.0.2 (pilote 580 ou version ultérieure, amd64 et aarch64)
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:26.07-serverless
Images VPC
Pour extraire rapidement les images de conteneur ACS AI dans un VPC, remplacez l'URI d'actif de l'image de conteneur AI spécifiée egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/{image:tag} par acs-registry-vpc.{region-id}.cr.aliyuncs.com/egslingjun/{image:tag}.
{region-id}: ID de région du produit ACS. Par exemple,cn-beijingetcn-wulanchabu.{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-serverlessettraining-nv-pytorch:25.10-serverless.
Les images portant le tag yy.mm-serverless (par exemple, 26.07-serverless) sont adaptées aux déploiements Alibaba Cloud Container Compute Service (ACS) et Lingjun multi-locataires. Pour les déploiements Lingjun mono-locataires, utilisez les images avec le tag yy.mm (par exemple, 26.07).
Démarrage rapide
Pour utiliser l'image training-nv-pytorch dans ACS (recommandé), sélectionnez l'image depuis la page Artifact Center lors de la création d'une charge de travail dans la console, ou spécifiez l'image dans un fichier YAML.
L'exemple suivant montre comment extraire l'image training-nv-pytorch à l'aide de Docker, démarrer un conteneur et exécuter des exemples d'entraînement.
Avant de commencer, assurez-vous que le pilote NVIDIA 580 ou une version ultérieure est installé. Pour plus d'informations, consultez la section Prérequis pour le pilote.
1. Extraire l'image
Remplacez [tag] par le tag d'image correspondant à votre produit : 26.07-serverless pour ACS et le produit Lingjun multi-locataire, ou 26.07 pour le produit Lingjun mono-locataire.
docker pull egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:[tag]
2. Démarrer le conteneur
L'image inclut des outils d'entraînement de modèles intégrés. L'exemple suivant démarre un conteneur et exécute des tâches d'entraînement.
Charges de travail LLM
# Start the container and enter
docker run -it --gpus=all --ipc=host --net=host egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:[tag]
# Dense: Qwen3.5-4B LoRA smoke test
NPROC_PER_NODE=2 CUDA_VISIBLE_DEVICES=0,1 \
swift sft --model Qwen/Qwen3.5-4B --tuner_type lora \
--dataset 'AI-ModelScope/alpaca-gpt4-data-zh#500' \
--split_dataset_ratio 0.01 --num_train_epochs 1 \
--target_modules all-linear --attn_impl flash_attn \
--deepspeed zero2 --max_length 2048 --output_dir output
# MoE example: Qwen/Qwen3.5-35B-A3B
NPROC_PER_NODE=8 CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 \
megatron sft --model Qwen/Qwen3.5-35B-A3B \
--dataset 'AI-ModelScope/alpaca-gpt4-data-zh#500' \
--split_dataset_ratio 0.01 --num_train_epochs 1 --finetune true \
--expert_model_parallel_size 8 --moe_grouped_gemm true \
--micro_batch_size 1 --global_batch_size 8 \
--recompute_granularity full --recompute_method uniform --recompute_num_layers 1 \
--attention_backend flash --max_length 2048 \
--output_dir megatron_output/Qwen3.5-35B-A3B
3. Recommandations d'utilisation
L'image contient des versions modifiées de bibliothèques telles que
PyTorchetDeepSpeed. Ne réinstallez pas ces bibliothèques.Dans la configuration
DeepSpeed, laissezzero_optimization.stage3_prefetch_bucket_sizevide ou définissez-la surauto.
Problèmes connus
Aucun