# DeepSpeed Entegrasyonu

TRL, ileri düzey eğitim optimizasyon tekniklerini uygulayan bir kütüphane olan DeepSpeed ile eğitimi destekler. Bunlar arasında optimizör durumu bölme, dışa aktarma (offloading), gradyan bölme ve daha fazlası yer alır.

DeepSpeed, model boyutunu cihaz sayısıyla orantılı olarak yüksek verimlilikle ölçeklendirmenizi sağlayan [Zero Redundancy Optimizer (ZeRO)](https://huggingface.co/papers/1910.02054)'yi entegre eder.

![ZeRO Stages](https://huggingface.co/datasets/trl-lib/documentation-images/resolve/main/zero_stages.png)

## Kurulum

TRL ile DeepSpeed'i kullanmak için aşağıdaki komutu kullanarak yükleyin:

```bash
pip install deepspeed
```

## DeepSpeed ile Eğitim Betiklerini Çalıştırma

Eğitim betiğinizde herhangi bir değişiklik yapmanıza gerek yoktur. DeepSpeed, herhangi bir [Trainer](https://huggingface.co/docs/transformers/main/en/main_classes/trainer#transformers.Trainer)'da olduğu gibi eğitim argümanları üzerinden etkinleştirilir: `deepspeed` parametresini bir DeepSpeed yapılandırma dosyasının yoluna ayarlayın ve torchrun ile başlatın.

```python
training_args = SFTConfig(..., deepspeed="<DEEPSPEED_CONFIG_FILE.json>")
```

```bash
torchrun --nproc_per_node 8 train.py
```

[TrlParser](/docs/trl/main/tr/script_utils#trl.TrlParser) ile argümanlarını ayrıştıran betikler, örneğin `trl` CLI'nin arkasındaki betikler, bunları komut satırından alır:

```bash
trl sft ... --deepspeed <DEEPSPEED_CONFIG_FILE.json>
```

[`examples/deepspeed_configs`](https://github.com/huggingface/trl/tree/main/examples/deepspeed_configs) dizininde kullanıma hazır DeepSpeed yapılandırma dosyaları sunuyoruz. Örneğin, ZeRO Stage 2 ile eğitim çalıştırmak için:

```bash
trl sft ... --deepspeed examples/deepspeed_configs/zero2.json
```

Bu dosyalarda `"auto"` olarak ayarlanan değerler (batch size, gradient accumulation, precision, …) eğitim argümanlarından doldurulur.

## Ek Kaynaklar

DeepSpeed entegrasyonu hakkında daha fazla bilgi için 🤗 Transformers [DeepSpeed belgelerini](https://huggingface.co/docs/transformers/deepspeed) inceleyin.

