

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Paralelisme konteks
<a name="model-parallel-core-features-v2-context-parallelism"></a>

*Paralelisme konteks* adalah jenis paralelisme model yang mempartisi aktivasi model di sepanjang dimensi urutan. Tidak seperti teknik [paralelisme urutan](https://arxiv.org/abs/2205.05198) lainnya, yang hanya mempartisi `LayerNorm` dan`RMSNorm`, paralelisme konteks mempartisi input jaringan dan semua aktivasi perantara di sepanjang dimensi urutan. 

SMP v2 terintegrasi dengan [Transformer Engine](https://docs.nvidia.com/deeplearning/transformer-engine/index.html) untuk paralelisme konteks dan dapat digunakan bersama dengan FSDP dan SMP. PyTorch [Paralelisme tensor](model-parallel-core-features-v2-tensor-parallelism.md) 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 substansif karena persyaratan komputasi meningkat secara kuadrat dengan dimensi urutan.

## Model Hugging Face Transformer kompatibel dengan paralelisme konteks SMP
<a name="model-parallel-core-features-v2-context-parallelism-supported-models"></a>

SMP v2 saat ini menawarkan dukungan paralelisme konteks untuk model transformator Hugging Face berikut.
+ GPT-Neox
+ Llama 2 dan Llama 3
+ [Mistral 7B](https://huggingface.co/mistralai/Mistral-7B-v0.3)

## Konfigurasikan paralelisme konteks
<a name="model-parallel-core-features-v2-context-parallelism-configure"></a>

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

Cuplikan kode berikut menunjukkan cara menambahkan modul inisialisasi SMP `torch.sagemaker.init()` ke skrip pelatihan Anda dan mengatur kamus konfigurasi SMP dalam format JSON untuk peluncur pekerjaan pelatihan sambil mengikuti proses dua langkah yang diperkenalkan. [Gunakan perpustakaan paralelisme SageMaker model v2](model-parallel-use-api-v2.md) Anda tidak perlu membuat perubahan apa pun pada PyTorch model atau konfigurasi [PyTorch FSDP](https://pytorch.org/docs/stable/fsdp.html#module-torch.distributed.fsdp) Anda. Untuk informasi tentang parameter `context_parallel_degree`, lihat [Parameter konfigurasi fitur inti SMP v2](distributed-model-parallel-v2-reference.md#distributed-model-parallel-v2-reference-init-config).

### Dalam skrip pelatihan Anda
<a name="model-parallel-core-features-v2-context-parallelism-configure-in-script"></a>

Sebagai bagian dari [Langkah 1](model-parallel-use-api-v2.md#model-parallel-adapt-pytorch-script-v2), inisialisasi skrip Anda `torch.sagemaker.init()` untuk mengaktifkan SMP v2 dan bungkus model Anda dengan API. [`torch.sagemaker.transform`](distributed-model-parallel-v2-reference.md#model-parallel-v2-torch-sagemaker-reference-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` `p2p`Implementasi menggunakan panggilan peer-to-peer kirim-terima untuk akumulasi nilai kunci selama implementasi perhatian dan berjalan secara asinkron, memungkinkan tumpang tindih dengan komputasi. `all_gather`implementasi, sebaliknya, menggunakan operasi `AllGather` kolektif dan berjalan serempak.

```
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
<a name="model-parallel-core-features-v2-context-parallelism-configure-in-estimator"></a>

Sebagai bagian dari [Langkah 2](model-parallel-use-api-v2.md#model-parallel-launch-a-training-job-v2), tambahkan parameter berikut ke kamus konfigurasi SMP untuk SageMaker PyTorch estimator.

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