TRL documentation

Integrasi DeepSpeed

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Integrasi DeepSpeed

TRL mendukung pelatihan dengan DeepSpeed, sebuah pustaka yang mengimplementasikan teknik optimasi pelatihan tingkat lanjut. Teknik ini mencakup partisi status optimizer, offloading, partisi gradien, dan lainnya.

DeepSpeed mengintegrasikan Zero Redundancy Optimizer (ZeRO), yang memungkinkan Anda memperbesar ukuran model secara proporsional dengan jumlah perangkat sambil mempertahankan efisiensi tinggi.

ZeRO Stages

Instalasi

Untuk menggunakan DeepSpeed dengan TRL, instal menggunakan perintah berikut:

pip install deepspeed

Menjalankan Skrip Pelatihan dengan DeepSpeed

Tidak diperlukan modifikasi pada skrip pelatihan Anda. DeepSpeed diaktifkan melalui argumen pelatihan, seperti pada Trainer lainnya: atur deepspeed ke path file konfigurasi DeepSpeed, dan luncurkan dengan torchrun.

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

Skrip yang mengurai argumennya dengan TrlParser, seperti yang ada di balik CLI trl, mengambilnya dari baris perintah:

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

Kami menyediakan file konfigurasi DeepSpeed siap pakai di direktori examples/deepspeed_configs. Misalnya, untuk menjalankan pelatihan dengan ZeRO Stage 2:

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

Nilai yang disetel ke "auto" dalam file-file ini (batch size, gradient accumulation, precision, …) akan diisi dari argumen pelatihan.

Sumber Daya Tambahan

Konsultasikan dokumentasi DeepSpeed 🤗 Transformers untuk informasi lebih lanjut tentang integrasi DeepSpeed.

Update on GitHub