Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Paralelisme konteks
Paralelisme konteks adalah jenis paralelisme model yang mempartisi aktivasi model di sepanjang dimensi urutan. Tidak seperti teknik paralelisme LayerNorm danRMSNorm, paralelisme konteks mempartisi input jaringan dan semua aktivasi menengah di sepanjang dimensi urutan.
SMP v2 terintegrasi dengan Transformer Engine
Model Hugging Face Transformer kompatibel dengan paralelisme konteks SMP
SMP v2 saat ini menawarkan dukungan paralelisme konteks untuk model transformator Hugging Face berikut.
-
GPT-NeoX
-
Llama 2 dan Llama 3
Konfigurasikan paralelisme konteks
Tetapkan nilai integer ke context_parallel_degree parameter yang secara merata membagi jumlah GPU di cluster Anda. Misalnya, jika Anda memiliki instans 8-GPU, gunakan 2, 4, atau 8 untukcontext_parallel_degree. Sebaiknya mulai dengan context_parallel_degree nilai kecil dan secara bertahap meningkatkannya sampai model sesuai dengan memori GPU dengan panjang urutan input yang diperlukan.
Cuplikan kode berikut menunjukkan cara menambahkan modul torch.sagemaker.init() inisialisasi SMP ke skrip pelatihan Anda dan mengatur kamus konfigurasi SMP dalam format JSON untuk peluncur pekerjaan pelatihan sambil mengikuti proses dua langkah yang diperkenalkan di. Gunakan perpustakaan paralelisme SageMaker model v2 Anda tidak perlu membuat perubahan apa pun pada PyTorch model atau konfigurasi PyTorch FSDP context_parallel_degree, lihat Parameter konfigurasi fitur inti SMP v2.
Dalam skrip pelatihan Anda
Sebagai bagian dari Langkah 1, inisialisasi skrip Anda dengan torch.sagemaker.init() untuk mengaktifkan SMP v2 dan bungkus model Anda dengan API. obor.sagemaker.transform
Mulai dari SMP v2.6.0, Anda dapat menggunakan argumen cp_comm_type untuk menentukan implementasi paralelisme konteks mana yang akan digunakan. Pustaka SMP saat ini mendukung dua implementasi: p2p dan. all_gather p2pImplementasi menggunakan panggilan kirim-terima peer-to-peer untuk akumulasi nilai kunci selama implementasi perhatian dan berjalan secara asinkron, memungkinkan tumpang tindih dengan komputasi. all_gatherimplementasi, sebaliknya, menggunakan operasi AllGather kolektif dan berjalan secara sinkron.
import torch.sagemaker as tsm tsm.init() from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_config(..) model = tsm.transform(model, cp_comm_type="p2p")
Konfigurasi SMP
Sebagai bagian dari Langkah 2, tambahkan parameter berikut ke kamus konfigurasi SMP untuk. SageMaker PyTorch ModelTrainer
{ ..., # other SMP config parameters "context_parallel_degree": 2 }