Transformers 強化學習¶
Transformers 強化學習 (TRL) 是一個全棧庫,提供了一系列工具,用於透過監督微調 (SFT)、群組相對策略最佳化 (GRPO)、直接偏好最佳化 (DPO)、獎勵建模等方法來訓練 Transformer 語言模型。該庫與 🤗 transformers 整合。
GRPO 或線上 DPO 等線上方法需要模型生成補全。vLLM 可用於生成這些補全!
有關更多資訊,請參閱 TRL 文件中的 vLLM 整合指南。
TRL 目前支援以下使用 vLLM 的線上訓練器
要啟用 TRL 中的 vLLM,請將訓練器配置中的 use_vllm 標誌設定為 True。
訓練期間使用 vLLM 的模式¶
TRL 支援在訓練期間整合 vLLM 的兩種模式:伺服器模式和共置模式。您可以透過 vllm_mode 引數控制 vLLM 在訓練期間的執行方式。
伺服器模式¶
在伺服器模式下,vLLM 作為獨立程序在專用 GPU 上執行,並透過 HTTP 請求與訓練器通訊。當您有獨立的 GPU 用於推理時,這種配置是理想的,因為它將生成工作負載與訓練隔離,確保了穩定的效能和更容易的擴充套件。
from trl import GRPOConfig
training_args = GRPOConfig(
...,
use_vllm=True,
vllm_mode="server", # default value, can be omitted
)
共置模式¶
在共置模式下,vLLM 在訓練器程序內執行,並與訓練模型共享 GPU 記憶體。這避免了啟動一個單獨的伺服器,並可以提高 GPU 利用率,但可能會導致訓練 GPU 上的記憶體爭用。
某些訓練器還支援vLLM 休眠模式,該模式在訓練期間將引數和快取解除安裝到 GPU RAM,有助於減少記憶體使用。有關更多資訊,請參閱記憶體最佳化文件。
資訊
有關詳細的配置選項和標誌,請參閱您正在使用的特定訓練器的文件。