Skip to content

garlic-byte/RL-LLM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LLM-RLHF-Tuning (Enhanced Edition)

RLHF Training Toolkit for Large Language Models
Supports SFT/RM/PPO/DPO workflows with modularized architecture and multi-model compatibility.


核心特性

1. 全流程 RLHF 支持

  • SFT (Supervised Fine-Tuning)
    支持 Alpaca、Qwen 等模型的指令微调,兼容 HuggingFace 数据集格式。
  • RM (Reward Modeling)
    基于对比学习构建 Reward Model,支持多轮对话偏好标注。
  • PPO (Proximal Policy Optimization)
    实现高效策略梯度优化,支持基座模型 + LoRA 的轻量化训练。
  • DPO (Direct Preference Optimization)
    直接优化偏好对,减少奖励建模误差传递。

2. 模块化架构设计

  • 双适配器架构:分离 SFT 和 RM 的 LoRA 参数,避免任务干扰。
  • 共享基座模式:通过动态权重路由实现 Actor/Critic 共享基模型。

3. 分布式训练优化

特性 Accelerate DeepSpeed
多节点分布式
ZeRO-3 内存优化
混合精度训练

技术亮点

1. Qwen 模型深度集成

  • 原生支持 Qwen-7B/14B
    适配 Qwen 的上下文窗口扩展和分组查询注意力机制。
  • LoRA 高效微调
    支持 Qwen 的旋转位置编码 (RoPE) 和 Flash Attention 2。

2. 高级训练功能

  • 自适应 KL 控制
    动态调节 PPO 的 KL 系数,防止策略崩溃。
  • PPO-Critic 增强
    引入 Value Bootstrap 和 Generalized Advantage Estimation (GAE)。
  • DPO 损失优化
    实现 α-softmax 温度缩放和梯度裁剪保护。

快速上手

1. 环境配置

# 推荐环境 (CUDA 12.1+)
pip install -r requirements.txt
pip install git+https://github.com/huggingface/peft.git@main

2. 模型训练示例

from trainer import RLHFTrainer

trainer = RLHFTrainer(
    base_model="qwen/Qwen-7B",
    lora_rank=8,
    dataset_path="your_dataset",
    reward_model_path="pretrained_rm",
    output_dir="./results"
)

trainer.train(
    total_steps=5000,
    batch_size=4,
    gradient_accumulation=2,
    lr=2e-5,
    warmup_ratio=0.03
)

扩展能力

1. 模型兼容性矩阵

模型家族 支持版本 LoRA 兼容性 分布式训练
LLaMA 7B/13B ✔️
LLaMA2 7B/13B ✔️
Qwen2.5 7B/14B ✔️

2. 高级配置选项

# config.yaml 示例
training:
  algorithm: ppo
  num_epochs: 3
  micro_batch_size: 2
  macro_batch_size: 16

model:
  base_model_name: qwen/Qwen-14B
  adapter_config:
    r: 8
    lora_alpha: 16
    target_modules: ["q_proj", "v_proj"]

改进日志

v2.0 (当前版本)

  • 新增 Qwen 模型支持
    完整覆盖 Qwen 系列模型的指令微调和强化学习训练。
  • 架构重构
    采用插件化设计,支持自定义模型/数据加载器。
  • 性能优化
    DeepSpeed 集成带来 30% 的训练加速。

v1.x (原版特性)

  • 基础 RLHF 三阶段训练
  • Alpaca 模型支持
  • 加速器框架集成

License: MIT
Copyright: 2025 Wsj All Rights Reserved

About

强化学习-大语言模型

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published