TRL documentation
DeepSpeed Entegrasyonu
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.

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