yujackein/onereason-8b-lora-r0-sid-caption-residual-step65-drop24-35
OneReason-8B R0 SID-to-Caption Residual LoRA — Step65 / Drop24-35
This repository contains a complete experimental PEFT adapter for `OpenOneRec/OneReason-8B-pretrain-competition`. It targets R0 SID-to-caption generation for the OneReason recommendation competition.
The adapter already contains both the unchanged rank-32 RL10 parent and the selected rank-32 SID-to-caption residual as an exact rank-64 concatenation. Do not load a separate parent adapter underneath it.
Construction
- Parent: rank-32/alpha-32 RL10 adapter, preserved bit-for-bit
- Residual: rank-32/alpha-32 LoRA targeting all attention and MLP projections
- Residual data: 1,040 train-only SID-to-caption rows
- 520 short-video rows
- 520 product rows
- Evaluation SID overlap: zero
- Residual learning rate:
1e-4, cosine schedule, 3% warmup - Global batch size: 8
- Selected checkpoint: 65 optimizer updates, approximately half an epoch
- Context cutoff: 512 tokens
- Final composition: parent active in all 36 layers; residual retained only in layers 0--23 and set to exact zero in layers 24--35
- Stored PEFT form: rank 64, alpha 64, scaling 1.0
The late-layer deletion is a post-hoc composition rather than a separately trained checkpoint.
Local evaluation
On a balanced 400-row blind paired SID-to-caption Judge panel (100 rows per domain), this adapter scored 1.9813 versus 1.8500 for the RL10 parent:
The overall 95% domain-stratified paired bootstrap interval was [+0.0475,+0.2163], with win/tie/loss 161/127/112.
These are local proxy results, not official competition scores. Cross-task proxies also show small tradeoffs versus RL10: R2 overall -0.006465 and R3 restricted s_c probability -0.008117. Formal platform evaluation has not been performed for this adapter.
Adapter SHA-256: 4c80e5ffd6ab9ae25e610df28e4dada30d64de771ac8145136d378d9c836e1ce
Usage
import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base_id = "OpenOneRec/OneReason-8B-pretrain-competition"
adapter_id = "yujackein/onereason-8b-lora-r0-sid-caption-residual-step65-drop24-35"
tokenizer = AutoTokenizer.from_pretrained(adapter_id, trust_remote_code=True)
base_model = AutoModelForCausalLM.from_pretrained(
base_id,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
model = PeftModel.from_pretrained(base_model, adapter_id)