Instructions to use RX5950XT/silicon-based-girlfriend-v2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use RX5950XT/silicon-based-girlfriend-v2 with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
矽基女友 v2 · LoRA adapter(三段)
繁體中文(臺灣)角色扮演模型的三段 LoRA adapter。要直接使用請下載
量化好的 GGUF:RX5950XT/silicon-based-girlfriend-v2-GGUF。本倉庫是給想接續訓練或研究訓練軌跡的人。
⚠️ 成人向角色扮演模型,訓練語料為合成資料,僅供研究用途。
三段怎麼疊
每一段都掛在前一段合併後的權重上,不是三個 adapter 疊在同一個底模上。 順序錯了結果會不對。
huihui-ai/Huihui-Qwen3.5-9B-abliterated(原廠基底)
└── sft/ ← 合併 → SFT merged
└── grpo-v1/ ← 合併 → GRPO v1 merged
└── grpo-v2/ ← 出貨模型
from peft import PeftModel
from transformers import AutoModelForMultimodalLM
m = AutoModelForMultimodalLM.from_pretrained("huihui-ai/Huihui-Qwen3.5-9B-abliterated",
dtype="bfloat16", device_map="auto")
for stage in ("sft", "grpo-v1", "grpo-v2"):
m = PeftModel.from_pretrained(m, f"RX5950XT/silicon-based-girlfriend-v2/{stage}").merge_and_unload()
⚠️ 合併時的坑:transformers 不會載入
mtp.*那 15 個 tensor,save_pretrained會靜默少存它們,錯誤要到推論引擎載入時才冒出來。 存回權重後請比對 tensor 名單。
每一段做了什麼
| 段 | 方法 | 步數 | 成果 | 代價 |
|---|---|---|---|---|
sft |
LoRA r16 α16,lr 1e-4,1 epoch,max_seq_len 16384 + turn 邊界切窗 |
576 | 學會角色扮演的格式與語感 | 多輪連貫崩壞(4.50 → 0.42)、數學退化 |
grpo-v1 |
GRPO,LoRA r16 α32,lr 2e-5,KL 0.04 | 117 | 長篇重複 18.8% → 0%、GSM8K 57% → 82% | 人設分數仍在原廠基底之下 |
grpo-v2 |
同上,改用含前情的多輪題目 + 跨輪抄自己懲罰 | 117 | 跨輪抄自己 1–7 次 → 0 次、多輪連貫爬回 4.44 | — |
三段都只掛語言塔,視覺塔凍結。adapter 各 83 MB(496 個 tensor / 248 模組,bf16)。
訓練軌跡最誠實的一句話:SFT 打壞的東西,兩輪 GRPO 花了約 $26 才爬回原廠水準。
根因是語料裡 9.9% 的對話含跨輪複讀,資料端一道二十行的門哨就能擋掉。
詳見 RX5950XT/silicon-based-girlfriend-v2-dataset 的說明。
訓練曲線
GRPO 沒有畫 loss:那是 policy gradient 的替代目標,數值本身沒有解讀意義, 畫出來只會讓人誤以為「loss 沒降=沒學到東西」。
獎勵曲線不能當學習曲線看(圖上那兩格有橘色警語):一個 epoch 內每道題只出現一次, 所以線的起伏同時混著題目難度與模型進步。以 v2 的 Judge 分數為例,四等分平均是 4.61/4.16/4.50/4.32——看起來沒進步,但驗收時跨輪抄自己是 1–7 次 → 0 次。 單看獎勵曲線會得到完全錯誤的結論。
真正能讀的是這三條:
| 曲線 | 起 → 迄 | 意義 |
|---|---|---|
| 跨輪抄自己的懲罰(v2) | −0.93 → −0.58 | 懲罰減少 38%,模型確實學會不重複前文 |
| KL 散度 | 0 → 0.012–0.016 | 沒有跑離參考模型 |
| 回覆長度(v2) | 662 → 418 token | 灌水減少 |
零梯度步數比例 約 13–15%:那些步的組內 8 份回答獎勵完全相同,等於白算。
這是 GRPO 的固有成本,可以當作調整題目難度的參考。
訓練佐證
每一段底下都有 training-evidence/,收錄那一輪的原始紀錄:
| 檔案 | 內容 |
|---|---|
trainer_state.json |
每一步的獎勵、KL、grad_norm、completion_length |
run.log.gz |
完整訓練 log,含題目組成與每步耗時 |
hardware_env.txt |
GPU、驅動、CUDA 版本 |
requirements-lock.txt |
鎖版的完整套件清單 |
remote_grpo.sh |
租卡機上的一鍵訓練腳本(只有 GRPO 兩段有) |
幾個可以直接讀出來的數字(第 1 步 → 第 117 步):
self_copy_reward −0.929 → −0.575(抄自己的懲罰少 38%)、
kl 0.000 → 0.012(沒跑離參考模型)、
completion_length 662 → 418(回覆變精簡)。
授權
Apache-2.0,沿用基底 huihui-ai/Huihui-Qwen3.5-9B-abliterated(上游 Qwen/Qwen3.5-9B 亦同)。
- Downloads last month
- -
Model tree for RX5950XT/silicon-based-girlfriend-v2
Base model
Qwen/Qwen3.5-9B-Base