Topik ini menjelaskan catatan rilis untuk training-nv-pytorch 25.05.
Fitur utama dan perbaikan bug
Fitur utama
Gambar dasar CUDA ditingkatkan ke 12.9.0.
Bug yang diperbaiki
PyTorch telah ditingkatkan ke versi 2.6.0.7.post1 untuk memperbaiki masalah crash profil yang dilaporkan di komunitas sumber terbuka.
Konten
Skenario | Pelatihan/Inferensi |
Kerangka kerja | PyTorch |
Persyaratan | NVIDIA driver release >= 575 |
Komponen inti |
|
Aset
25.05
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:25.05-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.
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.05-serverlessberlaku untuk layanan ACS dan layanan multi-tenant Lingjun, tetapi tidak berlaku untuk layanan single-tenant Lingjun. Hindari penggunaan gambar ini dalam skenario single-tenant Lingjun.Gambar
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:25.05digunakan untuk skenario single-tenant Lingjun.
Persyaratan driver
Rilis 25.05 sejajar dengan pembaruan versi gambar NGC PyTorch 25.04 (karena NGC merilis gambar pada akhir setiap bulan, pengembangan Golden image hanya dapat didasarkan pada versi NGC bulan sebelumnya). Oleh karena itu, driver Golden-gpu mengikuti persyaratan versi gambar NGC yang sesuai. Rilis ini didasarkan pada CUDA 12.9.0 dan memerlukan versi driver NVIDIA 575 atau lebih tinggi. Namun, jika Anda menjalankan pada GPU pusat data (seperti T4 atau GPU pusat data lainnya), Anda dapat menggunakan versi driver NVIDIA 470.57 (atau lebih tinggi R470), 525.85 (atau lebih tinggi R525), 535.86 (atau lebih tinggi R535), atau 545.23 (atau lebih tinggi R545).
Paket kompatibilitas driver CUDA hanya mendukung driver tertentu. Pengguna harus meningkatkan dari driver R418, R440, R450, R460, R510, R520, R530, R545, R555, dan R560 karena tidak kompatibel dengan CUDA 12.8. Untuk daftar lengkap driver yang didukung, lihat topik Kompatibilitas aplikasi CUDA. Informasi lebih lanjut dapat ditemukan di Kompatibilitas dan peningkatan CUDA.
Fitur utama dan peningkatan
Optimasi kompilasi PyTorch
Fitur optimasi kompilasi yang diperkenalkan di PyTorch 2.0 ideal untuk pelatihan skala kecil pada satu GPU. Namun, pelatihan LLM memerlukan optimasi memori GPU dan kerangka kerja terdistribusi seperti FSDP atau DeepSpeed. Oleh karena itu, torch.compile() mungkin tidak memberikan manfaat signifikan bagi pelatihan Anda, bahkan dapat berdampak negatif.
Mengontrol granularitas komunikasi dalam kerangka kerja DeepSpeed membantu kompiler mendapatkan grafik komputasi lengkap untuk cakupan optimasi kompilasi yang lebih luas.
PyTorch dioptimalkan:
Frontend 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, throughput E2E meningkat sebesar 20% saat 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 optimal lapisan rekompilasi aktivasi 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 performa dan stabilitas yang lebih tinggi.
Penilaian manfaat kinerja E2E
Dengan alat penilaian dan analisis kinerja AI cloud-native CNP, kita dapat menggunakan model open source utama serta kerangka kerja bersama dengan gambar dasar standar untuk menganalisis kinerja E2E. Selain itu, studi ablasi dapat digunakan untuk mengevaluasi lebih lanjut bagaimana setiap komponen optimasi berkontribusi pada pelatihan model secara keseluruhan.
Analisis Kontribusi Kinerja Pelatihan E2E pada Komponen Inti GPU
Uji berikut didasarkan pada Golden-25.05 untuk melakukan pengujian kinerja E2E dan analisis perbandingan pada kluster GPU multi-node. Item perbandingan meliputi hal-hal berikut:
Dasar: Gambar PyTorch NGC
Gambar AI ACS: Base+ACCL: Gambar menggunakan pustaka komunikasi ACCL
Gambar AI ACS: AC2+ACCL: Gambar Golden menggunakan AC2 BaseOS tanpa mengaktifkan optimasi apa pun
Gambar AI ACS: AC2+ACCL+CompilerOpt: Gambar Golden menggunakan AC2 BaseOS dan hanya mengaktifkan optimasi kompilasi torch
Gambar AI ACS: AC2+ACCL+CompilerOpt+CkptOpt: Gambar Golden menggunakan AC2 BaseOS dan mengaktifkan optimasi kompilasi torch serta optimasi titik kontrol gradien selektif

Memulai Cepat
Contoh berikut hanya 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
Gunakan API Trainer dari Transformers:

Aktifkan Optimasi Memori GPU untuk Rekompilasi
export CHECKPOINT_OPTIMIZATION=true
3. Jalankan kontainer
Gambar ini mencakup alat pelatihan model bawaan bernama ljperf untuk menunjukkan prosedur menjalankan kontainer dan melaksanakan tugas pelatihan.
LLM
# Jalankan kontainer 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
Perubahan pada gambar melibatkan pustaka PyTorch dan DeepSpeed. Hindari instalasi ulang.
Biarkan
zero_optimization.stage3_prefetch_bucket_sizedalam konfigurasi DeepSpeed kosong atau atur keauto.
Masalah yang diketahui
Gambar meningkatkan PyTorch ke 2.6. Manfaat kinerja optimasi memori rekompilasi untuk model LLM tidak sebaik pada gambar sebelumnya. Optimasi berkelanjutan sedang berlangsung.