Paralelisme konteks - Amazon SageMaker

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 urutan lainnya, yang hanya mempartisi LayerNorm danRMSNorm, paralelisme konteks mempartisi input jaringan dan semua aktivasi menengah di sepanjang dimensi urutan.

SMPv2 terintegrasi dengan Transformer Engine untuk paralelisme konteks dan dapat digunakan bersama dengan dan. PyTorch FSDP SMP Paralelisme tensor Anda dapat mengaktifkan ketiga paralelisme secara bersamaan untuk pelatihan model. Paralelisme konteks bermanfaat untuk model pelatihan dengan ukuran aktivasi besar dan panjang urutan yang panjang. Ini mempercepat perhitungan skor perhatian dan output perhatian, dengan memungkinkan setiap perangkat untuk menghitung hanya sebagian dari skor dan output di sepanjang dimensi urutan. Sementara paralelisme tensor juga mempercepat komputasi melalui partisi di sepanjang dimensi tersembunyi, keuntungan paralelisme konteks lebih besar karena persyaratan komputasi meningkat secara kuadrat dengan dimensi urutan.

Model Hugging Face Transformer kompatibel SMP dengan paralelisme ahli

SMPv2 saat ini menawarkan dukungan paralelisme konteks untuk model transformator Hugging Face berikut.

  • GPT-NeoX

  • Llama 2 dan Llama 3

Konfigurasikan paralelisme ahli

Atur context_parallel_degree parameter ke nilai yang membagi jumlah di cluster Anda GPUs secara merata. Misalnya, jika Anda memiliki GPU instance 8-, gunakan 2, 4, atau 8 untukcontext_parallel_degree. Sebaiknya mulai dengan context_parallel_degree nilai kecil dan secara bertahap meningkatkannya hingga model sesuai dengan GPU memori dengan panjang urutan input yang diperlukan.

Cuplikan kode berikut menunjukkan cara menambahkan modul SMP inisialisasi torch.sagemaker.init() ke skrip pelatihan Anda dan menyiapkan kamus SMP konfigurasi dalam JSON format untuk pelatihan peluncur pekerjaan sambil mengikuti proses dua langkah yang diperkenalkan. Memulai dengan SageMaker pustaka paralelisme model v2 Anda tidak perlu membuat perubahan apa pun pada PyTorch model atau PyTorch FSDPkonfigurasi Anda. Untuk informasi tentang parameter context_parallel_degree, lihat SMPParameter konfigurasi fitur inti v2.

Dalam skrip pelatihan Anda

Sebagai bagian dari Langkah 1, inisialisasi skrip Anda dengan torch.sagemaker.init() untuk mengaktifkan SMP v2 dan membungkus model Anda dengan. torch.sagemaker.transform API

import torch.sagemaker as tsm tsm.init() from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_config(..) model = tsm.transform(model)

SMPkonfigurasi

Sebagai bagian dari Langkah 2, tambahkan parameter berikut ke kamus SMP konfigurasi untuk SageMaker PyTorch estimator.

{ ..., # other SMP config parameters "context_parallel_degree": 2 }