TRL documentation
Tích hợp DeepSpeed
Tích hợp DeepSpeed
TRL hỗ trợ huấn luyện với DeepSpeed, một thư viện triển khai các kỹ thuật tối ưu hóa huấn luyện nâng cao. Các kỹ thuật này bao gồm phân vùng trạng thái optimizer, offloading, phân vùng gradient và nhiều hơn nữa.
DeepSpeed tích hợp Zero Redundancy Optimizer (ZeRO), cho phép bạn mở rộng kích thước mô hình tỷ lệ thuận với số lượng thiết bị trong khi duy trì hiệu suất cao ổn định.

Cài đặt
Để sử dụng DeepSpeed với TRL, hãy cài đặt bằng lệnh sau:
pip install deepspeed
Chạy các script huấn luyện với DeepSpeed
Bạn không cần sửa đổi script huấn luyện. DeepSpeed được kích hoạt thông qua các đối số huấn luyện, giống như với bất kỳ Trainer nào: đặt deepspeed thành đường dẫn đến tệp cấu hình DeepSpeed, và khởi chạy bằng torchrun.
training_args = SFTConfig(..., deepspeed="<DEEPSPEED_CONFIG_FILE.json>")torchrun --nproc_per_node 8 train.py
Các script phân tích đối số bằng TrlParser, chẳng hạn như các script phía sau CLI trl, sẽ lấy chúng từ dòng lệnh:
trl sft ... --deepspeed <DEEPSPEED_CONFIG_FILE.json>
Chúng tôi cung cấp các tệp cấu hình DeepSpeed sẵn sàng sử dụng trong thư mục examples/deepspeed_configs. Ví dụ, để chạy huấn luyện với ZeRO Stage 2:
trl sft ... --deepspeed examples/deepspeed_configs/zero2.json
Các giá trị được đặt thành "auto" trong các tệp này (kích thước lô, tích lũy gradient, độ chính xác, …) sẽ được điền từ các đối số huấn luyện.
Tài nguyên bổ sung
Tham khảo tài liệu DeepSpeed của 🤗 Transformers để biết thêm thông tin về tích hợp DeepSpeed.
Update on GitHub