tatasauce4life/qwen3-4b-en2zh-orpo_beta0.4
0
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)
- 任務: 英文到中文小說翻譯
訓練流程
- SFT 階段: 使用英中平行小說語料做 LoRA SFT
- ORPO 階段: 使用人工譯文 (chosen) vs. 機器翻譯 (rejected) 做偏好優化
ORPO 資料格式
{
"prompt": "英文原文",
"chosen": "人工譯文(高品質)",
"rejected": "機器翻譯(低品質)"
}翻譯模板
### English
{english_text}
### Chinese
{chinese_translation}主要訓練參數
如何載入模型
此模型是 LoRA adapter,包含 SFT + ORPO 的累積更新。
使用 Unsloth(推薦)
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
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 階段的累積權重更新。使用範例
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)