Topik ini menjelaskan catatan rilis untuk versi training-nv-pytorch 26.01.
Fitur utama dan perbaikan bug
Fitur utama
Komponen pelatihan bawaan megatron-core ditingkatkan ke versi 0.15.0, komponen inferensi vLLM ditingkatkan ke versi 0.13.0, dan flashinfer-python ditingkatkan ke versi 0.5.3.
health_check ditingkatkan agar kompatibel dengan shuttle 1.5.3.
Perbaikan bug
Tidak ada.
Isi
Nama gambar | training-nv-pytorch | |
Tag | 26.01-cu130-serverless | 26.01-cu128-serverless |
Skenario | Pelatihan/Inferensi | |
Framework | PyTorch | |
Persyaratan | NVIDIA Driver release >= 580 | NVIDIA Driver release >= 575 |
Arsitektur yang Didukung | amd64 & aarch64 | amd64 |
Komponen inti |
|
|
Aset
Image Jaringan Publik
CUDA 13.0.2 (Driver >=580, amd64 & aarch64)
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:26.01-cu130-serverless
CUDA 12.8 (Driver >= 575, amd64)
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:26.01-cu128-serverless
Image VPC
Image ini ditujukan untuk Produk ACS dan Lingjun multi-tenant. Jangan gunakan image ini dengan produk Lingjun single-tenant.
Persyaratan driver
Rilis 26.01 mendukung CUDA 12.8.0 dan CUDA 13.0.2 dengan versi driver yang berbeda. CUDA 13.0.2 memerlukan NVIDIA driver versi 580 atau lebih baru. CUDA 12.8.0 memerlukan NVIDIA driver versi 575 atau lebih baru. Untuk daftar lengkap driver yang didukung, lihat topik CUDA Application Compatibility. Untuk informasi selengkapnya, lihat CUDA Compatibility and Upgrades.
Fitur dan peningkatan utama
Optimasi kompilasi PyTorch
Fitur optimasi kompilasi yang diperkenalkan di PyTorch 2.0 cocok untuk pelatihan skala kecil pada satu GPU. Namun, pelatihan LLM memerlukan optimasi Memori GPU dan framework terdistribusi, seperti FSDP atau DeepSpeed. Akibatnya, torch.compile() tidak memberikan manfaat bagi pelatihan Anda atau bahkan dapat berdampak negatif.
Mengontrol granularitas komunikasi dalam framework DeepSpeed membantu kompilator memperoleh graf komputasi lengkap untuk cakupan optimasi kompilasi yang lebih luas.
PyTorch yang dioptimalkan:
Antarmuka depan kompilator PyTorch dioptimalkan untuk memastikan kompilasi tetap berjalan meskipun terjadi gangguan graf dalam graf komputasi.
Kemampuan pencocokan mode dan bentuk dinamis ditingkatkan untuk mengoptimalkan kode hasil kompilasi.
Setelah optimasi tersebut, throughput E2E meningkat sebesar 20% saat melatih model LLM 8B.
Optimasi Memori GPU untuk recomputation
Kami memprediksi dan menganalisis konsumsi Memori GPU model dengan menjalankan pengujian kinerja pada model yang diterapkan di kluster berbeda atau dikonfigurasi dengan parameter berbeda serta mengumpulkan metrik sistem, seperti tingkat pemanfaatan Memori GPU. Berdasarkan hasil tersebut, kami menyarankan jumlah optimal lapisan recomputation aktivasi dan mengintegrasikannya ke dalam PyTorch. Hal ini memungkinkan pengguna memperoleh manfaat dari optimasi Memori GPU secara mudah. Saat ini, fitur ini tersedia dalam framework DeepSpeed.
Evaluasi manfaat kinerja E2E
Menggunakan tool evaluasi dan analisis kinerja AI cloud-native CNP, kami melakukan perbandingan kinerja E2E secara komprehensif. Kami menggunakan model open source utama dan konfigurasi framework terhadap image dasar standar. Kami juga melakukan eksperimen ablation untuk mengevaluasi lebih lanjut kontribusi setiap komponen optimasi terhadap kinerja pelatihan model secara keseluruhan.
Perbandingan Gambar: Gambar Dasar dan Evaluasi Iterasi

Analisis kontribusi kinerja E2E komponen GPU inti
Pengujian berikut didasarkan pada versi 26.01 dan melibatkan evaluasi serta analisis perbandingan kinerja pelatihan E2E pada kluster GPU multi-node. Item perbandingan meliputi hal-hal berikut:
Base: NGC PyTorch Image
ACS AI Image: Base+ACCL: Image ini menggunakan library komunikasi ACCL.
ACS AI Image: AC2+ACCL: Citra emas menggunakan AC2 BaseOS tanpa optimasi yang diaktifkan.
ACS AI Image: AC2+ACCL+CompilerOpt: Citra emas menggunakan AC2 BaseOS dengan hanya optimasi torch compile yang diaktifkan.
ACS AI Image: AC2+ACCL+CompilerOpt+CkptOpt: Citra emas menggunakan AC2 BaseOS dengan optimasi torch compile dan selective gradient checkpoint yang diaktifkan.

Memulai dengan cepat
Contoh berikut menunjukkan cara menarik image training-nv-pytorch menggunakan Docker.
Untuk menggunakan image training-nv-pytorch di ACS, pilih image tersebut dari halaman Artifact Center pada antarmuka Create Workload di Konsol, atau tentukan referensi image 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 kompilator dan recomputation demi optimasi Memori GPU
Aktifkan optimasi kompilasi
Gunakan API Trainer transformers:

Aktifkan recomputation untuk optimasi Memori GPU
export CHECKPOINT_OPTIMIZATION=true
3. Mulai kontainer
Image ini memiliki tool pelatihan model bawaan, ljperf. Langkah-langkah berikut menggunakan tool ini untuk menunjukkan cara memulai kontainer dan menjalankan pekerjaan pelatihan.
Model 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. Rekomendasi
Perubahan dalam image ini melibatkan library seperti PyTorch dan DeepSpeed. Jangan instal ulang library tersebut.
Dalam konfigurasi DeepSpeed, biarkan
zero_optimization.stage3_prefetch_bucket_sizekosong atau atur ke `auto`.Variabel lingkungan
NCCL_SOCKET_IFNAMEyang tertanam dalam image ini perlu disesuaikan secara dinamis berdasarkan skenario:Saat satu pod meminta 1, 2, 4, atau 8 kartu untuk tugas pelatihan atau inferensi, atur
NCCL_SOCKET_IFNAME=eth0. Ini adalah konfigurasi default dalam image ini.Saat satu pod meminta semua 16 kartu pada satu mesin untuk tugas pelatihan atau inferensi (Anda dapat menggunakan jaringan berkecepatan tinggi HPN dalam kasus ini), atur
NCCL_SOCKET_IFNAME=hpn0.
Isu yang diketahui
Tidak ada.