Views
No views yet
| subfolder | data split | reward model | final reward |
|---|---|---|---|
scalar-firsterror-20260817 | first_error (2,662) | Bradley-Terry scalar head | +4.608 |
discrete-firsterror-20260817 | first_error (2,662) | judge-token margin | −2.273 |
scalar-preerror-20260818 | pre_error (2,669) | Bradley-Terry scalar head | +4.982 |
discrete-preerror-20260818 | pre_error (2,669) | judge-token margin | −5.053 |
1import torch
2from transformers import AutoModelForImageTextToText
3from peft import PeftModel
4
5base = AutoModelForImageTextToText.from_pretrained(
6 "Qwen/Qwen3-VL-2B-Instruct",
7 revision="89644892e4d85e24eaac8bacfd4f463576704203",
8 dtype=torch.bfloat16, device_map="cuda")
9model = PeftModel.from_pretrained(
10 base, "YeMoKoo/AF_RL", subfolder="scalar-preerror-20260818")AutoModelForCausalLM /
AutoPeftModelForCausalLM do not work — use AutoModelForImageTextToText.
After loading, assert
sum("lora" in n.lower() for n, _ in model.named_parameters()) == 392.Gyubeum/AndroidFlux_RL_Train_Test @ 4545695c26951a4884e8f18e6468d69cbdf9d174
for 1 epoch with identical hyperparameters — only the reward model and the data
split differ. See each subfolder's README.md for full details.Qwen/Qwen3-VL-2B-Instruct vs. scalar-GRPO vs. discrete-GRPO.