CoolFace
Modelpublic

emiya111/EmiyaMind-Qwen3-1.7B-Wenyan-Full

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
1likes53downloads
Model Card

EmiyaMind Qwen3-1.7B 文言文翻译 LoRA

这是一个将文言文翻译为现代汉语的 LoRA 适配器。模型基于 `Qwen/Qwen3-1.7B`,使用完整 `HistoryTrans/Dataset` 训练一轮。

本仓库只分发 LoRA 适配器与分词器;使用时会同时下载并加载基础模型。

用途

  • —单句文言文到现代汉语翻译
  • —经过外部切分后的长篇文言文翻译
  • —文言文翻译研究与教学辅助

输出可能存在遗漏、误译、人物指代错误或现代知识补充,重要文本应由具备古汉语知识的人复核。

使用方法

python
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>