

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

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

Model *Mixture of Experts* (MoE) adalah jenis model transformator yang menggunakan pendekatan *jarang*, membuatnya lebih ringan untuk pelatihan dibandingkan dengan melatih model padat tradisional. Dalam arsitektur jaringan saraf MoE ini, hanya sebagian dari komponen model yang disebut *ahli* yang digunakan untuk setiap input. Pendekatan ini menawarkan beberapa keuntungan, termasuk pelatihan yang lebih efisien dan inferensi yang lebih cepat, bahkan dengan ukuran model yang lebih besar. Dengan kata lain, dengan anggaran komputasi yang sama untuk melatih model padat penuh, Anda dapat memasukkan model atau kumpulan data yang lebih besar saat menggunakan MoE.

Model MoE terdiri dari beberapa *ahli*, masing-masing terdiri dari jaringan saraf, biasanya jaringan feed-forward (FFN). Jaringan gerbang yang disebut *router* menentukan token mana yang dikirim ke ahli mana. Para ahli ini mengkhususkan diri dalam memproses aspek-aspek spesifik dari data input, memungkinkan model untuk melatih lebih cepat, mengurangi biaya komputasi, sambil mencapai kualitas kinerja yang sama dengan model padat mitranya. Untuk mempelajari lebih lanjut tentang Campuran Ahli secara umum, lihat blog [Menerapkan Campuran Ahli dalam Arsitektur LLM di](https://developer.nvidia.com/blog/applying-mixture-of-experts-in-llm-architectures/) situs web *pengembang NVIDIA*.

*Paralelisme ahli* adalah jenis paralelisme yang menangani para ahli pemisahan model MoE di seluruh perangkat GPU.

SMP v2 terintegrasi dengan [NVIDIA Megatron](https://github.com/NVIDIA/Megatron-LM) untuk menerapkan paralelisme ahli untuk mendukung pelatihan model MoE, dan berjalan di atas FSDP. PyTorch APIs Anda tetap menggunakan kode pelatihan PyTorch FSDP apa adanya dan mengaktifkan paralelisme ahli SMP untuk melatih model MoE.

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

SMP v2 saat ini menawarkan dukungan paralelisme ahli untuk model transformator Hugging Face berikut.
+ [Mixtral](https://huggingface.co/docs/transformers/en/model_doc/mixtral)

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

Untuk`expert_parallel_degree`, Anda memilih nilai untuk tingkat paralelisme ahli. Nilai harus merata membagi jumlah GPUs di cluster Anda. Misalnya, untuk membelah model Anda saat menggunakan instance dengan 8 GPUs, pilih 2, 4, atau 8. Kami menyarankan Anda memulai dengan jumlah kecil, dan secara bertahap meningkatkannya hingga model sesuai dengan memori GPU.

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 `expert_parallel_degree`, lihat [Parameter konfigurasi fitur inti SMP v2](distributed-model-parallel-v2-reference.md#distributed-model-parallel-v2-reference-init-config).

**catatan**  
Anda dapat menggunakan paralelisme ahli dengan. [Paralelisme data sharded hibrid](model-parallel-core-features-v2-sharded-data-parallelism.md) Perhatikan bahwa paralelisme ahli saat ini tidak kompatibel dengan paralelisme tensor.

**catatan**  
Fitur pelatihan paralelisme ahli ini tersedia dalam kombinasi perpustakaan SageMaker dan perpustakaan berikut: PyTorch   
SMP v2.3.0 dan yang lebih baru
 SageMaker Python SDK v2.214.4 dan yang lebih baru
PyTorch v2.2.0 dan yang lebih baru

### Dalam skrip pelatihan Anda
<a name="model-parallel-core-features-v2-expert-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 membungkus model Anda dengan [`torch.sagemaker.transform`](distributed-model-parallel-v2-reference.md#model-parallel-v2-torch-sagemaker-reference-transform) API, menambahkan `config` parameter ke API untuk mengaktifkan MoE. Cuplikan kode berikut menunjukkan cara mengaktifkan SMP MoE untuk kelas model generik yang `AutoModelForCausalLM` menarik konfigurasi model transformator MoE menggunakan `from_config` metode untuk pelatihan dari awal, atau metode untuk fine-tuning. `from_pretrained` Untuk mempelajari lebih lanjut tentang `MoEConfig` kelas SMP, lihat[`torch.sagemaker.moe.moe_config.MoEConfig`](distributed-model-parallel-v2-reference.md#model-parallel-v2-torch-sagemaker-reference-moe).

```
# Import the torch.sagemaker.transform API and initialize.
import torch.sagemaker as tsm
tsm.init()

# Import transformers AutoModelForCausalLM class.
from transformers import AutoModelForCausalLM

# Import the SMP-implementation of MoE configuration class.
from torch.sagemaker.moe.moe_config import MoEConfig

# Define a transformer model with an MoE model configuration
model = AutoModelForCausalLM.from_config(MoEModelConfig)

# Wrap it by torch.sagemaker.transform with the SMP MoE configuration.
model = tsm.transform(
    model, 
    config=MoEConfig(
        smp_moe=True,
        random_seed=12345,
        moe_load_balancing="sinkhorn",
        global_token_shuffle=False,
        moe_all_to_all_dispatcher=True,
        moe_aux_loss_coeff=0.001,
        moe_z_loss_coeff=0.001
    )
)
```

### Konfigurasi SMP
<a name="model-parallel-core-features-v2-expert-parallelism-configure-in-estimator-config"></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
    "expert_parallel_degree": 8
}
```