CoolFace
Modelpublic

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

sourceHugging Faceapache-2.0updated 8d 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.05
Learning Rate5e-05
Epochs3
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.8327411.83918589.0710004.0870004.087000-0.066546-0.0586450.329670-0.007902-1.172890-1.3309277.6506777.5313461.794205-0.899610-0.191442
21.6475591.80057587.1791004.1750004.175000-0.065111-0.0661980.4230770.001087-1.323966-1.3022246.6271316.4956171.760711-0.7972700.070304
31.5944471.80847488.5437004.1110004.111000-0.065936-0.0705640.4505490.004629-1.411288-1.3187156.0024135.8557931.770063-0.7682140.175277

如何載入模型

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

使用 Unsloth(推薦)

python
from unsloth import FastLanguageModel

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="tatasauce4life/qwen3-4b-en2zh-orpo_beta0.3",
    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.3",
    load_in_4bit=True,
)
tokenizer = AutoTokenizer.from_pretrained("tatasauce4life/qwen3-4b-en2zh-orpo_beta0.3")
注意: 此 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)