--- 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`](https://huggingface.co/Qwen/Qwen3-1.7B),使用完整 [`HistoryTrans/Dataset`](https://huggingface.co/datasets/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 许可证。 - 项目代码: