Views
No views yet
20260331_HumanFeedBack_selfdist.jsonl
(3,771 human-labelled dialogues) with the FRPT ("Fact-Reasoning Process
Training") research training methodology applied to a lora_sequential LoRA recipe.The job of this model: given(category, multi-turn user/assistant transcript, retrieved reference document), produce a Korean<think>...</think>rubric chain and a JSON verdict{"label": "correct|incorrect", "reason": "..."}.
| Metric | Value |
|---|---|
| Accuracy | 0.709 |
| Macro-F1 | 0.666 |
| F1 (correct) | 0.547 |
| F1 (incorrect) | 0.785 |
| Precision (incorrect) | 0.862 |
| Recall (incorrect) | 0.721 |
| F₀.₅ (incorrect) | 0.829 |
| Precision (correct) | 0.461 |
| Recall (correct) | 0.673 |
| Unparsed | 0/199 |
precision(incorrect). The model was selected
from a multi-method, multi-seed grid by F₀.₅(incorrect) =
(1 + 0.25)·P·R / (0.25·P + R), which weighs precision twice as much as
recall on the incorrect class while still penalising excessive misses.lora_sequential with rank 16, alpha 32, dropout 0.05, target
modules qkv_proj, o_proj, down_proj, gate_up_proj (Phi-3 family) or the
q/k/v/o/MLP equivalents for Gemma-4. Optimizer AdamW, cosine schedule,
warmup ratio 0.05, grad clip 1.0, BF16, SDPA attention.<think>...</think>. We train the entire assistant
response, so the model learns the reasoning process, not just the verdict.lora_sequential groups the 33 product
categories into 5 buckets (DRW, TV, SBS, REF_AUD_MNT, OTHERS) and trains
them in order, exposing the model to per-category structure while sharing
one adapter across the curriculum.| Field | Value |
|---|---|
| Base model | microsoft/Phi-4-reasoning |
| Method | lora_sequential |
| LoRA rank | 16 |
| LoRA alpha | 32 |
| LoRA dropout | 0.05 |
| Learning rate | 0.0005 |
| Epochs | 7 |
| Seed | 42 |
| Train samples | 3,771 |
| Test samples | 199 |
| Max sequence length | 4096 |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4mid = "shareit/Supervisor-FRPT-Phi-4-reasoning-BestSeed"
5tok = AutoTokenizer.from_pretrained(mid, trust_remote_code=True)
6model = AutoModelForCausalLM.from_pretrained(mid, dtype=torch.bfloat16,
7 device_map="auto",
8 trust_remote_code=True)
9
10system = "당신은 전자제품 CS 챗봇의 품질을 평가하는 수퍼바이저입니다."
11user = ("[Category] PC\n\n[Conversation Transcript]\n"
12 "Turn 1 - User: ...\nTurn 1 - Assistant: ...\n\n"
13 "[Retrieved Document]\n(title) ...\n(content) ...")
14
15msgs = [{"role": "system", "content": system},
16 {"role": "user", "content": user}]
17inp = tok.apply_chat_template(msgs, tokenize=True, add_generation_prompt=True,
18 return_tensors="pt").to(model.device)
19out = model.generate(inp, max_new_tokens=900, do_sample=False)
20print(tok.decode(out[0, inp.shape[1]:], skip_special_tokens=True))<think>
[Query-Document Alignment] ...
[Response-Document Consistency] ...
[Response Completeness] ...
</think>
{"label": "correct", "reason": "..."}