全部产品
Search
文档中心

Container Compute Service:pelatihan-nv-pytorch 25.09

更新时间:Nov 10, 2025

Topik ini menjelaskan catatan rilis untuk versi pelatihan-nv-pytorch 25.09.

Fitur utama dan perbaikan bug

Fitur utama

  • PyTorch dan komponen terkaitnya ditingkatkan ke 2.8.0.

  • Transformers ditingkatkan ke 4.56.1+ali. Versi ini mencakup fitur dan perbaikan bug dari versi open-source yang sesuai.

Perbaikan bug

Memperbaiki kesalahan yang terjadi ketika torch.compile() diaktifkan untuk Transformers open-source pada Qwen2-VL.

Daftar Isi

Skenario

Pelatihan/Inferensi

Kerangka kerja

PyTorch

Persyaratan

NVIDIA Driver release >= 575

Komponen inti

  • Ubuntu: 24.04

  • Python: 3.12.7+gc

  • CUDA: 12.8

  • perf: 5.4.30

  • gdb: 15.0.50.20240403-git

  • torch: 2.8.0.9+nv25.3

  • triton: 3.4.0

  • transformer_engine: 2.3.0+5de3e148

  • deepspeed: 0.16.9+ali

  • flash_attn: 2.8.3

  • flash_attn_3: 3.0.0b1

  • transformers: 4.56.1+ali

  • grouped_gemm: 1.1.4

  • accelerate: 1.7.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.20

  • vllm: 0.10.1.1

  • flashinfer-python: 0.2.5

  • pytorch-dynamic-profiler: 0.24.11

  • peft: 0.16.0

  • ray: 2.49.2

  • megatron-core: 0.12.1

Aset

25.09

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

Gambar VPC

  • acs-registry-vpc.{region-id}.cr.aliyuncs.com/egslingjun/{image:tag}

    {region-id} menunjukkan wilayah tempat ACS Anda diaktifkan, seperti cn-beijing dan cn-wulanchabu.
    {image:tag} menunjukkan nama dan tag gambar.
Penting

Saat ini, Anda hanya dapat menarik gambar di wilayah China (Beijing) melalui VPC.

Catatan

Gambar egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:25.09-serverless cocok untuk produk ACS dan produk multi-penyewa Lingjun. Gambar ini tidak cocok untuk produk satu penyewa Lingjun. Jangan gunakan dalam skenario satu penyewa Lingjun.

Persyaratan driver

  • Rilis 25.09 didasarkan pada CUDA 12.8.0 dan memerlukan versi driver NVIDIA 575 atau lebih baru. Namun, jika Anda menjalankan GPU pusat data, seperti T4, Anda dapat menggunakan versi driver NVIDIA 470.57 (atau versi R470 yang lebih baru), 525.85 (atau versi R525 yang lebih baru), 535.86 (atau versi R535 yang lebih baru), atau 545.23 (atau versi R545 yang lebih baru).

  • Paket kompatibilitas driver CUDA mendukung hanya driver tertentu. Oleh karena itu, Anda harus meningkatkan driver R418, R440, R450, R460, R510, R520, R530, R545, R555, atau R560 karena mereka tidak kompatibel ke depan dengan CUDA 12.8. Untuk daftar lengkap driver yang didukung, lihat topik Kompatibilitas Aplikasi CUDA. Untuk informasi lebih lanjut, lihat Kompatibilitas dan Peningkatan CUDA.

Fitur dan peningkatan utama

Optimasi kompilasi PyTorch

Fitur optimasi kompilasi yang diperkenalkan dalam PyTorch 2.0 cocok untuk pelatihan skala kecil pada satu GPU. Namun, pelatihan LLM memerlukan optimasi memori GPU dan kerangka kerja terdistribusi, seperti FSDP atau DeepSpeed. Akibatnya, torch.compile() tidak dapat memberikan manfaat bagi pelatihan Anda atau bahkan memberikan dampak negatif.

  • Mengontrol granularitas komunikasi dalam kerangka kerja DeepSpeed membantu kompiler memperoleh grafik komputasi lengkap untuk cakupan optimasi kompilasi yang lebih luas.

  • Optimasi PyTorch:

    • Antarmuka depan kompiler PyTorch dioptimalkan untuk memastikan kompilasi saat terjadi pemutusan grafik apa pun dalam grafik komputasi.

    • Kemampuan pencocokan mode dan bentuk dinamis ditingkatkan untuk mengoptimalkan kode yang dikompilasi.

Setelah optimasi sebelumnya, throughput E2E meningkat sebesar 20% ketika LLM 8B dilatih.

Optimasi memori GPU untuk rekompilasi

Kami memperkirakan dan menganalisis konsumsi memori GPU model dengan menjalankan tes kinerja pada model yang diterapkan di kluster berbeda atau dikonfigurasi dengan parameter berbeda dan mengumpulkan metrik sistem, seperti pemanfaatan memori GPU. Berdasarkan hasil tersebut, kami menyarankan jumlah lapisan rekompilasi aktivasi optimal dan mengintegrasikannya ke dalam PyTorch. Ini memungkinkan pengguna dengan mudah mendapatkan manfaat dari optimasi memori GPU. Saat ini, fitur ini dapat digunakan dalam kerangka kerja DeepSpeed.

ACCL

ACCL adalah pustaka komunikasi HPN internal yang disediakan oleh Alibaba Cloud untuk Lingjun. Ini menyediakan ACCL-N untuk skenario akselerasi GPU. ACCL-N adalah pustaka HPN yang disesuaikan berdasarkan NCCL. Ini sepenuhnya kompatibel dengan NCCL dan memperbaiki beberapa bug di NCCL. ACCL-N juga memberikan kinerja dan stabilitas yang lebih tinggi.

Evaluasi kinerja E2E

Menggunakan alat evaluasi dan analisis kinerja AI cloud-native CNP, kami melakukan perbandingan kinerja E2E komprehensif terhadap gambar dasar standar menggunakan model open-source utama dan konfigurasi kerangka kerja. Kami juga melakukan eksperimen ablasi untuk lebih mengevaluasi kontribusi setiap komponen optimasi terhadap kinerja pelatihan model secara keseluruhan.

Perbandingan Gambar dan Iterasi terhadap Gambar Dasar

image.png

Analisis Kontribusi Kinerja E2E Komponen GPU Inti

Tes berikut, berdasarkan versi 25.09, dilakukan pada kluster GPU multi-node untuk mengevaluasi dan membandingkan kinerja pelatihan E2E. Item perbandingan meliputi hal-hal berikut:

  1. Dasar: NGC PyTorch Image.

  2. ACS AI Image: Base+ACCL: Gambar ini menggunakan pustaka komunikasi ACCL.

  3. ACS AI Image: AC2+ACCL: Gambar Golden menggunakan AC2 BaseOS tanpa optimasi yang diaktifkan.

  4. ACS AI Image: AC2+ACCL+CompilerOpt: Gambar Golden menggunakan AC2 BaseOS dengan hanya optimasi kompilasi torch yang diaktifkan.

  5. ACS AI Image: AC2+ACCL+CompilerOpt+CkptOpt: Gambar Golden menggunakan AC2 BaseOS dengan optimasi kompilasi torch dan selektif gradient checkpoint yang diaktifkan.

image.png

Mulai cepat

Contoh berikut menunjukkan cara menarik gambar training-nv-pytorch menggunakan Docker.

Catatan

Untuk menggunakan gambar training-nv-pytorch di ACS, pilih dari halaman Artifacts saat Anda membuat beban kerja di Konsol, atau tentukan referensi gambar dalam file YAML.

1. Pilih gambar

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

2. Panggil API untuk mengaktifkan kompiler dan rekompilasi untuk optimasi memori GPU

  • Aktifkan Optimasi Kompilasi

    Gunakan API Trainer Transformers:

    image.png

  • Aktifkan Rekompilasi untuk Optimasi Memori GPU

    export CHECKPOINT_OPTIMIZATION=true

3. Mulai kontainer

Gambar ini mencakup alat pelatihan model bawaan bernama ljperf. Langkah-langkah berikut menjelaskan cara menggunakan alat ini untuk memulai kontainer dan menjalankan tugas pelatihan.

LLM

# Mulai dan masuk ke kontainer
docker run --rm -it --ipc=host --net=host  --privileged egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:[tag]

# Jalankan demo pelatihan
ljperf benchmark --model deepspeed/llama3-8b 

4. Saran

  • Gambar ini berisi versi kustom dari pustaka seperti PyTorch dan DeepSpeed. Jangan instal ulang pustaka ini.

  • Dalam konfigurasi DeepSpeed, biarkan `zero_optimization.stage3_prefetch_bucket_size` kosong atau atur ke `auto`.

  • Variabel lingkungan bawaan NCCL_SOCKET_IFNAME dalam gambar ini harus disesuaikan secara dinamis berdasarkan skenario:

    • Ketika satu pod meminta 1, 2, 4, atau 8 kartu untuk tugas pelatihan atau inferensi, atur NCCL_SOCKET_IFNAME=eth0. Ini adalah konfigurasi default dalam gambar ini.

    • Ketika satu pod meminta semua 16 kartu mesin untuk tugas pelatihan atau inferensi, Anda dapat menggunakan Jaringan Berperforma Tinggi (HPN). Dalam hal ini, atur NCCL_SOCKET_IFNAME=hpn0.