Topik ini menjelaskan catatan rilis untuk pelatihan-nv-pytorch 25.03.
Fitur utama dan perbaikan bug
Fitur utama
Gambar dasar diperbarui ke NGC 25.02.
PyTorch dan komponen terkait diperbarui ke 2.6.0.7, TE diperbarui ke 2.1, dan accelerate diperbarui ke 1.5.2 untuk menyediakan fitur baru dan perbaikan bug.
ACCL-N diperbarui ke 2.23.4.12 untuk menyediakan fitur baru dan perbaikan bug.
vLLM diperbarui ke 0.8.2.dev0 dan ray diperbarui ke 2.44. flash-infer 0.2.3 didukung. Transformers diperbarui ke 4.49.0+ali dan flash_attn diperbarui ke 2.7.2 untuk menyediakan fitur baru dan perbaikan bug.
Bug yang diperbaiki
Versi vLLM ditingkatkan ke 0.8.2.dev0, memperbaiki Akses Memori Ilegal untuk MoE On H20 #13693.
Konten
Skenario yang berlaku | Pelatihan/inferensi |
Kerangka kerja | PyTorch |
Persyaratan | NVIDIA driver release >= 570 |
Komponen inti |
|
Aset
Gambar publik 25.03
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:25.03-serverless
Gambar VPC
acs-registry-vpc.{region-id}.cr.aliyuncs.com/egslingjun/{image:tag}
{region-id}menunjukkan wilayah di mana ACS Anda diaktifkan, seperti cn-beijing.{image:tag}menunjukkan nama dan tag gambar.
Saat ini, Anda hanya dapat menarik gambar di wilayah China (Beijing) melalui VPC.
Gambar
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:25.03-serverlesscocok untuk produk ACS dan produk multi-tenant Lingjun, tetapi tidak cocok untuk produk single-tenant Lingjun.Gambar
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:25.03cocok untuk skenario single-tenant Lingjun.
Persyaratan driver
Rilis 25.03 konsisten dengan pembaruan gambar NGC PyTorch 25.02 karena NGC merilis gambar pada akhir setiap bulan, tetapi pembaruan Golden image harus didasarkan pada versi bulan sebelumnya. Oleh karena itu, driver Golden-gpu memenuhi persyaratan versi gambar NGC yang sesuai. Rilis ini didasarkan pada CUDA 12.8.0.38 dan memerlukan versi driver NVIDIA 570 atau lebih baru. Namun, jika beban kerja Anda berjalan pada GPU pusat data (seperti T4 atau GPU pusat data lainnya), 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 hanya mendukung driver tertentu. Oleh karena itu, Anda harus memperbarui dari versi R418, R440, R450, R460, R510, R520, R530, R545, dan R555. Driver-driver ini tidak kompatibel ke depan dengan CUDA 12.8. Untuk informasi lebih lanjut tentang driver yang didukung, lihat Kompatibilitas Aplikasi CUDA. Untuk informasi lebih lanjut, lihat Kompatibilitas dan Pembaruan CUDA.
Fitur utama dan peningkatan
Optimasi kompilasi PyTorch
Anda dapat memanfaatkan kemampuan optimasi kompilasi dalam PyTorch 2.0 saat GPU tunggal digunakan untuk komputasi skala kecil. Namun, dalam pelatihan LLM, optimasi memori, FSDP/DeepSpeed, dan kerangka kerja terdistribusi lainnya diperlukan. Akibatnya, torch.compile() tidak dapat secara sederhana memanfaatkan kemampuan ini atau kemampuan tersebut bahkan mungkin memberikan manfaat negatif:
Kontrol granularitas komunikasi dalam kerangka DeepSpeed untuk membantu kompiler mendapatkan grafik komputasi lengkap dan melakukan optimasi kompilasi pada cakupan yang lebih luas.
Optimasi PyTorch:
Optimalkan frontend kompiler PyTorch untuk memastikan kompilasi meskipun terjadi pemutusan grafik dalam grafik komputasi.
Tingkatkan mode pencocokan dan kemampuan bentuk dinamis untuk meningkatkan kinerja kode yang dikompilasi.
Dengan optimasi ini, throughput E2E dapat meningkat hingga 20% dalam skenario pelatihan LLM 8B.
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 optimal lapisan rekompilasi aktivasi dan mengintegrasikannya ke dalam PyTorch. Ini memungkinkan pengguna dengan mudah memanfaatkan optimasi memori GPU. Saat ini, fitur ini dapat digunakan dalam kerangka DeepSpeed.
Perpustakaan komunikasi Accl
ACCL adalah perpustakaan komunikasi HPN internal yang disediakan oleh Alibaba Cloud untuk Lingjun. Ini menyediakan ACCL-N untuk skenario akselerasi GPU. ACCL-N adalah perpustakaan HPN yang disesuaikan berdasarkan NCCL. Ini sepenuhnya kompatibel dengan NCCL dan memperbaiki beberapa bug di NCCL. ACCL-N juga menyediakan kinerja dan stabilitas yang lebih tinggi.
Penilaian manfaat kinerja E2E
Dengan alat penilaian dan analisis kinerja AI cloud-native CNP, kami dapat menggunakan model open source utama dan kerangka bersama dengan gambar dasar standar untuk menganalisis kinerja E2E. Selain itu, kami dapat menggunakan studi ablasi untuk lebih menilai bagaimana setiap komponen optimasi memberi manfaat pada pelatihan model secara keseluruhan.
Analisis Manfaat Kinerja E2E Komponen Inti GPU
Penilaian kinerja E2E berikut didasarkan pada versi 25.03 dan kluster yang berisi beberapa node yang dipercepat GPU. Item perbandingan meliputi:
Dasar: Gambar NGC PyTorch.
ACS AI Image: Base+ACCL: ACCL yang digunakan oleh gambar.
ACS AI Image: AC2+ACCL: Gambar Golden menggunakan AC2 BaseOS, tanpa optimasi apa pun.
ACS AI Image: AC2+ACCL+CompilerOpt: Gambar Golden menggunakan AC2 BaseOS, dengan hanya optimasi kompilasi PyTorch yang diaktifkan.
ACS AI Image: AC2+ACCL+CompilerOpt+CkptOpt: Gambar Golden menggunakan AC2 BaseOS, dengan optimasi torch compile dan selective gradient checkpoint yang diaktifkan.

Mulai cepat
Contoh berikut menunjukkan cara menggunakan Docker untuk menarik gambar training-nv-pytorch.
Untuk menggunakan gambar training-nv-pytorch di ACS, Anda harus menariknya dari halaman pusat artefak konsol tempat Anda membuat beban kerja atau menentukan 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 optimasi kompilasi dan optimasi memori GPU untuk rekompilasi
Aktifkan Optimasi Kompilasi
Panggil API Trainer transformers:

Aktifkan Optimasi Memori GPU untuk Rekompilasi
export CHECKPOINT_OPTIMIZATION=true
3. Jalankan kontainer
Gambar ini menyediakan alat pelatihan model bawaan bernama ljperf untuk menunjukkan prosedur menjalankan kontainer dan menjalankan tugas pelatihan.
LLM
# Jalankan 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 --action train --model_name deepspeed/llama3-8b 4. Catatan penggunaan
Perubahan dalam gambar melibatkan pustaka PyTorch dan DeepSpeed. Jangan instal ulang.
Biarkan
zero_optimization.stage3_prefetch_bucket_sizedalam konfigurasi DeepSpeed kosong atau atur keauto.
Masalah yang diketahui
Tidak ada