trl

TRL 强化学习与对齐训练

补充说明

TRL(Transformer Reinforcement Learning)提供 SFT、DPO、PPO、GRPO 等训练器,用于指令微调和人类偏好对齐。它与 Transformers、PEFT、Accelerate 集成。

常用流程:SFT 冷启动 → 偏好数据构造 → DPO/GRPO 训练 → 评测。

常用示例

安装:

pip install trl peft accelerate transformers

SFT 训练:

from trl import SFTTrainer, SFTConfig

trainer = SFTTrainer(
    model="Qwen/Qwen2.5-7B-Instruct",
    train_dataset=dataset,
    args=SFTConfig(
        output_dir="./sft-out",
        per_device_train_batch_size=2,
        gradient_accumulation_steps=8,
        learning_rate=2e-5,
        num_train_epochs=3,
        max_length=2048,
    ),
)
trainer.train()

DPO 训练:

from trl import DPOTrainer, DPOConfig

trainer = DPOTrainer(
    model="Qwen/Qwen2.5-7B-Instruct",
    ref_model=None,
    train_dataset=preference_dataset,
    args=DPOConfig(output_dir="./dpo-out", beta=0.1),
)
trainer.train()

易错点与排错