CoolFace
Modelpublic

tatasauce4life/qwen3-4b-en2zh-orpo_beta0.2

sourceHugging Faceapache-2.0updated 9d agoView on Hugging Face
0likes
Model Card

Qwen3-4B 英翻中小說翻譯模型 (ORPO)

概述

  • —模型類型: LoRA Adapter (SFT + ORPO 累積更新)
  • —基礎模型: unsloth/Qwen3-4B-Base-unsloth-bnb-4bit
  • —SFT 模型來源: tatasauce4life/qwen3-4b-en2zh-lora
  • —訓練方法: ORPO (Odds Ratio Preference Optimization)
  • —任務: 英文到中文小說翻譯

訓練流程

  1. 1.SFT 階段: 使用英中平行小說語料做 LoRA SFT
  2. 2.ORPO 階段: 使用人工譯文 (chosen) vs. 機器翻譯 (rejected) 做偏好優化

ORPO 資料格式

json
{
  "prompt": "英文原文",
  "chosen": "人工譯文(高品質)",
  "rejected": "機器翻譯(低品質)"
}

翻譯模板

### English
{english_text}
### Chinese
{chinese_translation}

主要訓練參數

參數值
ORPO beta0.1
Learning Rate0.0001
Epochs5
Batch Size1
Gradient Accumulation16
Max Sequence Length1024
LoRA r16
LoRA alpha32
EpochTraining LossValidation LossRuntimeSamples Per SecondSteps Per SecondRewards/chosenRewards/rejectedRewards/accuraciesRewards/marginsLogps/rejectedLogps/chosenLogits/rejectedLogits/chosenNll LossLog Odds RatioLog Odds Chosen
11.8441351.85419087.3440004.1670004.167000-0.131862-0.1432420.4505490.011379-1.432417-1.3186227.1272607.0016821.778190-0.7599930.166458
21.5525381.81580587.0314004.1820004.182000-0.129877-0.1750670.6208790.045190-1.750668-1.2987675.5769545.4331651.753491-0.6231410.613916
31.3319491.89115887.2517004.1720004.172000-0.141172-0.2016670.6428570.060495-2.016670-1.4117154.1195963.9434251.829881-0.6127680.802193
41.1105392.01475686.8034004.1930004.193000-0.155560-0.2291860.6703300.073625-2.291857-1.5556043.2578123.0588371.955649-0.5910750.954718
51.0280392.10278586.4338004.2110004.211000-0.164843-0.2417510.6730770.076909-2.417511-1.6484252.8836762.6804422.043374-0.5941120.977506

如何載入模型

此模型是 LoRA adapter,包含 SFT + ORPO 的累積更新。

使用 Unsloth(推薦)

python
from unsloth import FastLanguageModel

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="tatasauce4life/qwen3-4b-en2zh-orpo_beta0.2",
    max_seq_length=1024,
    load_in_4bit=True,
)
FastLanguageModel.for_inference(model)

使用 PEFT

python
from peft import AutoPeftModelForCausalLM
from transformers import AutoTokenizer

model = AutoPeftModelForCausalLM.from_pretrained(
    "tatasauce4life/qwen3-4b-en2zh-orpo_beta0.2",
    load_in_4bit=True,
)
tokenizer = AutoTokenizer.from_pretrained("tatasauce4life/qwen3-4b-en2zh-orpo_beta0.2")
注意: 此 adapter 的 base model 為 unsloth/Qwen3-4B-Base-unsloth-bnb-4bit。 adapter 包含 SFT 階段與 ORPO 階段的累積權重更新。

使用範例

python
prompt = "### English\n{your_english_text}\n### Chinese\n"
inputs = tokenizer(prompt, return_tensors="pt", add_special_tokens=False).to("cuda")
outputs = model.generate(**inputs, max_new_tokens=512, do_sample=False)
result = tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
print(result)