

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

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

*Paralelisme tensor * adalah jenis paralelisme model di mana bobot model tertentu, gradien, dan status pengoptimal dibagi di seluruh perangkat. Berbeda dengan paralelisme pipa, yang menjaga bobot individu tetap utuh tetapi mempartisi * set bobot, gradien, atau * pengoptimal di seluruh perangkat, paralelisme tensor memecah bobot individu. * * Ini biasanya melibatkan perhitungan terdistribusi dari operasi tertentu, modul, atau lapisan model.

Paralelisme tensor diperlukan dalam kasus di mana satu parameter mengkonsumsi sebagian besar memori GPU (seperti tabel embedding besar dengan ukuran kosakata besar atau lapisan softmax besar dengan sejumlah besar kelas). Dalam hal ini, memperlakukan tensor atau operasi besar ini sebagai unit atom tidak efisien dan menghambat keseimbangan beban memori.

SMP v2 terintegrasi dengan [ Transformer Engine ](https://docs.nvidia.com/deeplearning/transformer-engine/index.html) untuk implementasi paralelisme tensor, dan berjalan di atas API FSDP. PyTorch Anda dapat mengaktifkan paralelisme tensor PyTorch FSDP dan SMP secara bersamaan, dan menentukan paralelisme model terbaik untuk kinerja terbaik.

Dalam praktiknya, paralelisme tensor sangat membantu dalam skenario berikut.
+ Saat berlatih dengan panjang konteks yang panjang karena itu mengarah ke memori aktivasi tinggi dengan FSDP saja.
+ Saat berlatih dengan cluster yang sangat besar di mana ukuran batch global melebihi batas yang diinginkan.

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

SMP v2 saat ini menawarkan dukungan paralelisme tensor untuk model transformator Hugging Face berikut.
+ GPT-NeoX
+ Lama 2
+ Lama 3
+ [Mistral 7B ](https://huggingface.co/mistralai/Mistral-7B-v0.3)
+ [Mixtral 8x7B ](https://huggingface.co/mistralai/Mixtral-8x7B-v0.1)
+ [Mixtral 8x22B ](https://huggingface.co/mistralai/Mixtral-8x22B-v0.1)

Untuk konfigurasi referensi untuk menerapkan paralelisme tensor pada model ini, lihat. [Kiat konfigurasi](model-parallel-best-practices-v2.md#model-parallel-best-practices-v2-config-tips)

## Konfigurasikan paralelisme tensor
<a name="model-parallel-core-features-v2-tensor-parallelism-configuration"></a>

Untuk`tensor_parallel_degree`, Anda memilih nilai untuk derajat paralelisme tensor. Nilai harus secara merata membagi jumlah GPU di cluster Anda. Misalnya, untuk memecah model Anda saat menggunakan instance dengan 8 GPU, pilih 2, 4, atau 8. Kami menyarankan Anda memulai dengan jumlah kecil, dan secara bertahap meningkatkannya sampai model cocok dengan memori GPU.

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

**Konfigurasi SMP **

```
{
    "tensor_parallel_degree": 8,
    "random_seed": 0 
}
```

**Dalam skrip pelatihan Anda **

Inisialisasi dengan `torch.sagemaker.init()` untuk mengaktifkan SMP v2 dan bungkus model Anda dengan API. [`obor.sagemaker.transform`](distributed-model-parallel-v2-reference.md#model-parallel-v2-torch-sagemaker-reference-transform)

```
import torch.sagemaker as tsm
tsm.init()

from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_config(..)
model = tsm.transform(model)
```

## Menyimpan dan memuat pos pemeriksaan Hugging Face Transformer
<a name="model-parallel-core-features-v2-tensor-parallelism-checkpoints"></a>

Setelah pustaka SMP mengubah model, itu mengubah kamus keadaan (`state_dict`) dari model. Ini berarti bahwa model menjadi tidak kompatibel dengan fungsi checkpoint Hugging Face Transformer asli. Untuk menangani ini, pustaka SMP menyediakan API untuk menyimpan pos pemeriksaan dari model yang diubah dalam representasi Hugging Face Transformer, dan `torch.sagemaker.transform` API untuk memuat pos pemeriksaan model Hugging Face Transformer untuk penyempurnaan.

Untuk informasi lebih lanjut tentang menyimpan pos pemeriksaan saat menggunakan fitur paralelisme tensor SMP v2, lihat. [Pemeriksaan menggunakan SMP](model-parallel-core-features-v2-checkpoints.md)

Untuk informasi lebih lanjut tentang menyempurnakan model yang menerapkan fitur paralelisme tensor SMP v2, lihat. [Fine-tuning](model-parallel-core-features-v2-fine-tuning.md)