Text Generation
PEFT
Safetensors
Chinese
lora
translation
classical-chinese
modern-chinese
conversational
Instructions to use emiya111/EmiyaMind-Qwen3-1.7B-Wenyan-Full with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use emiya111/EmiyaMind-Qwen3-1.7B-Wenyan-Full with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-1.7B") model = PeftModel.from_pretrained(base_model, "emiya111/EmiyaMind-Qwen3-1.7B-Wenyan-Full") - Notebooks
- Google Colab
- Kaggle
metadata
base_model: Qwen/Qwen3-1.7B
library_name: peft
pipeline_tag: text-generation
license: apache-2.0
language:
- zh
datasets:
- HistoryTrans/Dataset
tags:
- peft
- lora
- translation
- classical-chinese
- modern-chinese
- base_model:adapter:Qwen/Qwen3-1.7B
EmiyaMind Qwen3-1.7B 文言文翻译 LoRA
这是一个将文言文翻译为现代汉语的 LoRA 适配器。模型基于
Qwen/Qwen3-1.7B,使用完整
HistoryTrans/Dataset 训练一轮。
本仓库只分发 LoRA 适配器与分词器;使用时会同时下载并加载基础模型。
用途
- 单句文言文到现代汉语翻译
- 经过外部切分后的长篇文言文翻译
- 文言文翻译研究与教学辅助
输出可能存在遗漏、误译、人物指代错误或现代知识补充,重要文本应由具备古汉语知识的人复核。
使用方法
import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
adapter_id = "emiya111/EmiyaMind-Qwen3-1.7B-Wenyan-Full"
base_id = "Qwen/Qwen3-1.7B"
tokenizer = AutoTokenizer.from_pretrained(adapter_id)
base_model = AutoModelForCausalLM.from_pretrained(
base_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
model = PeftModel.from_pretrained(base_model, adapter_id)
model.eval()
source = "环滁皆山也。其西南诸峰,林壑尤美。"
messages = [
{
"role": "system",
"content": (
"你是一名严谨的古汉语翻译专家。你的任务是把文言文翻译成通顺、准确的现代汉语,"
"忠实保留原文的人名、地名、官名、时间、因果关系和语气,不增添原文没有的信息。"
),
},
{
"role": "user",
"content": f"请将下面的文言文翻译成现代汉语。只输出译文,不要解释。\n\n文言文:{source}",
},
]
prompt = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=False,
)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.inference_mode():
output = model.generate(
**inputs,
max_new_tokens=256,
do_sample=False,
repetition_penalty=1.05,
)
result = tokenizer.decode(
output[0, inputs["input_ids"].shape[1]:],
skip_special_tokens=True,
)
print(result.strip())
训练数据
清洗后的 HistoryTrans 数据:
- 训练集:747,630 条
- 验证集:7,644 条
- 测试集:7,649 条
清洗移除了空值、原译文相同、过长、长度比例异常和完全重复的句对。HistoryTrans 使用 MIT 许可证;请同时遵守其数据集说明。
训练配置
- 基础模型:Qwen/Qwen3-1.7B
- 方法:LoRA / RS-LoRA
- LoRA rank:16
- LoRA alpha:32
- LoRA dropout:0.05
- 训练精度:BF16
- 最大序列长度:512
- 学习率:2e-4,cosine scheduler
- 有效 batch size:16
- 训练轮数:1
- 优化步骤:46,727
- 可训练参数:17,432,576(约 1.00%)
- 训练 loss:1.4927
- 验证 loss:1.2966
训练在单张 NVIDIA GeForce RTX 5070 上完成,用时约 53 小时 19 分钟。
限制
- 训练语料以历史典籍为主,对诗词、佛经、医书和未见体裁的效果可能较弱。
- 官方 HistoryTrans 分片存在少量相同原文或相同句对重叠,验证 loss 可能略偏乐观。
- 长文应按句子或语义边界切分后翻译,建议每块不超过约 60 个汉字。
- 本模型没有替代人工校勘、学术翻译或法律解释的能力。
许可与来源
- 本 LoRA 适配器以 Apache-2.0 许可证分发。
- 基础模型 Qwen3-1.7B 使用 Apache-2.0 许可证。
- HistoryTrans 数据集使用 MIT 许可证。
- 项目代码:https://github.com/xiaohuanemiya/EmiyaTranslationModelForClassicalChinese