CoolFace
Modelpublic

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

sourceHugging Faceapache-2.0updated 6d 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.08
Learning Rate5e-05
Epochs4
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.8581791.86491993.6039003.8890003.889000-0.106697-0.0993570.354396-0.007340-1.241965-1.3337127.6058557.4857541.795982-0.861723-0.100940
21.6662961.81752792.8092003.9220003.922000-0.103970-0.1149020.4890110.010932-1.436270-1.2996266.5190716.3871661.757984-0.7442860.218549
31.5622871.83360994.8462003.8380003.838000-0.107248-0.1304360.5439560.023189-1.630455-1.3405965.4127675.2482911.778783-0.6853300.427241
41.4823641.85950793.6397003.8870003.887000-0.110568-0.1367800.5521980.026211-1.709749-1.3821054.8848394.7006511.805095-0.6801450.471212

如何載入模型

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

使用 Unsloth(推薦)

python
from unsloth import FastLanguageModel

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