GRPO 微调 Qwen2.5-0.5B-Instruct

  • 训练环境:

    • 显卡:2 * NVIDIA 4080 32GB
    • 加速框架:DeepSpeed,采用 bf16 混合精度训练
  • 训练集:zwhe99/DeepMath-103K

  • 训练数据量:97870

  • 测试数据量:5152

  • 验证集选取:从测试集随机抽取 100 条

  • 最大迭代步数限制: 5000

  • 训练参数:

grpo_config = GRPOConfig(
        # ---- 基础配置 ----
        output_dir="./deepmath_grpo_output",
        save_strategy='best',
        save_total_limit=5,
        #save_steps=100,   
        # ---- 批次大小 ----
        per_device_train_batch_size=4,          # 每设备批次大小
        per_device_eval_batch_size=4,
        gradient_accumulation_steps=4,           # 梯度累积步数
        # 有效批次大小 = 4 * 2 * 8 GPUs = 64(与论文 512 有差距,可根据硬件调整)
        
        # ---- 训练步数 ----
        max_steps=1000,                          # 论文中 DeepMath-Zero 训练 500 步
        #num_train_epochs=1,
        # ---- 推理框架配置
        use_vllm=True,
        vllm_gpu_memory_utilization=0.3,

        # 评估策略
        eval_strategy='steps',
        eval_steps=50,
        metric_for_best_model="eval_reward",
        greater_is_better=True,
        logging_strategy='epoch',
        logging_dir="train_logs/",
        load_best_model_at_end=True,

        # ---- 学习率 ----
        learning_rate=1e-6,                     # 论文 Table 5: lr=1e-6
        
        # ---- GRPO 特有参数 ----
        num_generations=settings.GROUP_SIZE_TRAIN,  # 4                    
        num_generations_eval=settings.GROUP_SIZE_EVAL,  # 4
        generation_batch_size=4,                # 生成批次大小
        max_completion_length=2048,             # 最大生成长度(论文推理时为 32768,训练时 2048)
        loss_type='grpo', # 使用标准 GRPO 算法训练
        
        # ---- KL 散度控制 ----
        beta=0.001,                          # 论文 Table 5: kl_coef=1e-3
        
        # ---- 裁剪参数 ----
        epsilon=0.2,                     # 论文 Table 5: clip_ratio_low=0.2
        epsilon_high=0.28,                   # 论文 Table 5: clip_ratio_high=0.28
        
        # ---- 温度参数 ----
        temperature=1.0,                        # 论文 Table 5: temperature=1.0 (Zero RL)
    
        # ---- 内存优化 ----
        bf16=torch.cuda.is_bf16_supported(),
        fp16=not torch.cuda.is_bf16_supported(),
        gradient_checkpointing=True,
        
        # ---- 报告与日志 ----
        report_to="tensorboard",                       # 可改为 "wandb" 启用 wandb 日志
        run_name="deepmath-grpo-qwen-0.5b-instruct",

        # 随机种子
        seed=settings.SEED
    )
Downloads last month
310
Safetensors
Model size
0.6B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for cmcheng/DeepMath-GRPO_Qwen2.5-0.5B-Instruct

Finetuned
(943)
this model
Quantizations
1 model