TRL documentation

DeepSpeed Entegrasyonu

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.17.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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)'yi entegre eder.

ZeRO Stages

Kurulum

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

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'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.

training_args = SFTConfig(..., deepspeed="<DEEPSPEED_CONFIG_FILE.json>")
torchrun --nproc_per_node 8 train.py

TrlParser ile argümanlarını ayrıştıran betikler, örneğin trl CLI'nin arkasındaki betikler, bunları komut satırından alır:

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

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:

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 inceleyin.

Update on GitHub