CoolFace
Modelpublic

Shion1124/dr-grpo-dora-qwen-struct

sourceHugging Faceapache-2.0updated 8mo agoView on Hugging Face
0likes17downloads
Model Card

Qwen3-4B-DrGRPO-DoRA-StructEval-v1

This model implements Dr.GRPO (Direct Reward Group Relative Policy Optimization), an advanced RLVR technique combined with DoRA (Weight-Decomposed Low-Rank Adaptation).

๐ŸŽฏ Key Innovation: Dr.GRPO + DoRA

What is Dr.GRPO?

Dr.GRPO extends standard GRPO with direct verifiable rewards:

Traditional GRPO:

  • โ€”Generates multiple candidates per prompt (group)
  • โ€”Uses reward model to score candidates
  • โ€”Optimizes relative to group baseline

Dr.GRPO (Our Method):

  • โ€”Generates 2 candidates per prompt (group sampling)
  • โ€”Direct verification: JSON/XML/YAML validity checking
  • โ€”Group relative optimization: Rewards relative to group mean
  • โ€”No reward model needed: Uses automated format validation

Why DoRA for Dr.GRPO?

DoRA's weight decomposition is perfect for Dr.GRPO because:

  • โ€”Stable with diverse sampling: Group generation benefits from DoRA's direction learning
  • โ€”Efficient exploration: Lower rank (r=32) enables multiple candidates without overfitting
  • โ€”Fast convergence: DoRA + group rewards = 1 epoch sufficient

๐Ÿ“Š Training Pipeline

Stage 1: SFT + DoRA

  • โ€”Data: 70% v5 (high-quality) + 30% Hard-Mix (complex)
  • โ€”Method: DoRA (r=32, alpha=64)
  • โ€”Output: Base structured output capability

Stage 2: Dr.GRPO + DoRA (This Model)

  • โ€”Data: DPO preference prompts (used for generation, not preferences)
  • โ€”Method: Group sampling (2 candidates/prompt) + direct verification
  • โ€”Output: Optimized for valid structured outputs

๐Ÿ”ง Training Configuration

Dr.GRPO Settings:

  • โ€”Learning rate: 3e-05 (DoRA-optimized)
  • โ€”Group size: 2 samples/prompt
  • โ€”Temperature: 0.7 (enables diversity)
  • โ€”KL coefficient: 0.05
  • โ€”Reward baseline: mean
  • โ€”Reward clipping: ยฑ5.0

DoRA Settings:

  • โ€”Rank: 32 (optimal for DoRA)
  • โ€”Alpha: 64 (r * 2 ratio)
  • โ€”Dropout: 0 (DoRA standard)
  • โ€”Target modules: All attention + MLP

Optimization:

  • โ€”Epochs: 1
  • โ€”Batch size: 2 x 4 accumulation
  • โ€”Weight decay: 0.005 (DoRA-light)
  • โ€”Warmup steps: 20
  • โ€”Max grad norm: 0.5

๐Ÿš€ Usage

python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_id = "Shion1124/dr-grpo-dora-qwen-struct"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.float16,
    device_map="auto"
)

prompt = "Convert to JSON: Name: Alice, Age: 25, City: Paris"
inputs = tokenizer.apply_chat_template(
    [{"role": "user", "content": prompt}],
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt"
).to("cuda")

outputs = model.generate(
    input_ids=inputs,
    max_new_tokens=512,
    temperature=0.0,  # Deterministic for production
    do_sample=False,
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

๐Ÿ“ˆ Expected Performance

Compared to previous methods:

MethodScore RangeKey Benefit
SFT + DoRA0.73-0.78Base learning
DPO + DoRA0.78-0.85Preference learning
DAPO + DoRA0.85-0.92Single-sample verification
Dr.GRPO + DoRA0.87-0.95Group-based exploration

Dr.GRPO Advantages:

  • โ€”Explores multiple solutions per prompt
  • โ€”More robust to edge cases
  • โ€”Better handles ambiguous instructions

๐Ÿ”ฌ Technical Details

Reward Function:

python
reward = {
    'valid_json': 1.0,
    'valid_xml': 1.0,
    'valid_yaml': 1.0,
    'attempted_but_invalid': -0.3,
    'missing_output_marker': -0.8,
    'unknown_format': -0.5,
}

Group Relative Loss:

For each prompt:
1. Generate K=2 candidates
2. Compute reward r_i for each candidate
3. Baseline b = mean(r_1, ..., r_K)
4. Relative rewards: ฮ”r_i = r_i - b
5. Loss = -mean(ฮ”r_i)

KL Constraint:

Total_loss = Policy_loss + 0.05 ร— KL_divergence

๐Ÿ“š Training Data

  1. 1.SFT: v5 + Hard-Mix datasets
  2. 2.Dr.GRPO: u-10bei/dpo-dataset-qwen-cot (prompts only)

โš–๏ธ License

  • โ€”Model: Apache 2.0
  • โ€”Datasets: MIT License
  • โ€”Comply with base model terms

Built with: Unsloth + Dr.GRPO + DoRA Best for: High-accuracy structured data generation with exploration