Views
No views yet
vu.dh4494@gmail.com
Date: 2026-05-11| Path | Description |
|---|---|
paper/ | Full manuscript: main.pdf, main.tex, refs.bib, figures/, tables/, appendix.tex |
paper/MODEL_CARD.md | Detailed model card for released LoRA adapters |
configs/ | All training/eval YAML configs (SFT, GRPO arms A1–A4, eval) |
results/eval/ | Full eval JSON outputs with responses[] arrays (AMC23, MATH-500, AIME-2024, MGSM 10 langs) |
results/master.csv | Aggregated metrics across all runs |
results/grpo/{run_id}/checkpoint-50/ | LoRA adapters + merged models per seed |
deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B with LoRA r=16, α=32, dropout=0.05, target=q_proj,k_proj,v_proj,o_proj. Trained for 50 steps with effective batch 96 on 1×A100 80GB.| Run ID | Arm | Training data | Rewards | Seed |
|---|---|---|---|---|
reproduce_openrs_rs2_7 | A1 (Open-RS RS2) | knoveleng/open-rs (7K EN) | R1+R2 | 7 |
reproduce_openrs_rs2_123 | A1 (Open-RS RS2) | knoveleng/open-rs (7K EN) | R1+R2 | 123 |
a2_vi_7 | A2 (VI-translated) | 5CD-AI/Vietnamese-meta-math-MetaMathQA-40K-gg-translated (5,203 filtered) | R1+R2 | 7 |
a2_vi_123 | A2 (VI-translated) | same | R1+R2 | 123 |
a3_enlang_7 | A3 (EN + lang reward) | knoveleng/open-rs (7K EN) | R1+R2+R5 (fastText) | 7 |
a3_enlang_123 | A3 (EN + lang reward) | same | R1+R2+R5 | 123 |
1from peft import PeftModel
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4base = AutoModelForCausalLM.from_pretrained("deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B")
5tok = AutoTokenizer.from_pretrained("deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B")
6
7model = PeftModel.from_pretrained(base, "results/grpo/a3_enlang_7/checkpoint-50/")
8
9prompt = tok.apply_chat_template(
10 [{"role": "user", "content": (
11 "Solve the following math problem efficiently and clearly. "
12 "The last line of your response should be of the following format: "
13 "'Therefore, the final answer is: $\\boxed{ANSWER}$.' "
14 "Think step by step.\n\n"
15 "What is the sum of all positive integers less than 100 divisible by 7?")}],
16 tokenize=False, add_generation_prompt=True,
17)
18inputs = tok(prompt, return_tensors="pt")
19outputs = model.generate(**inputs, max_new_tokens=2048, temperature=0.0)
20print(tok.decode(outputs[0], skip_special_tokens=True))VERIFICATION.md for full AI-assistance disclosure.1@software{dang2026xlinggrpo,
2 author = {Dang, Vu},
3 title = {Beyond English-Only GRPO: A Multi-Seed Empirical Study at Sub-3B Scale},
4 year = {2026},
5 version = {2.0},
6 doi = {10.5281/zenodo.20061328},
7 url = {https://huggingface.co/vudang449/xling-grpo-sub3b}
8}