Instructions to use CCsky123/Qwen2.5-7B-Instruct-Eng-ContinueWriting-Analyzer with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use CCsky123/Qwen2.5-7B-Instruct-Eng-ContinueWriting-Analyzer with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("/root/autodl-tmp/Qwen2.5-7B-Instruct") model = PeftModel.from_pretrained(base_model, "CCsky123/Qwen2.5-7B-Instruct-Eng-ContinueWriting-Analyzer") - Notebooks
- Google Colab
- Kaggle
English Continuation-Writing Evaluator (LoRA)
面向高中英语「读后续写」的 LoRA 适配器,基于 Qwen/Qwen2.5-7B-Instruct 微调。
说明:本仓库是 2025 年高中阶段的一个个人项目产物,不是研究成果,训练与评测都不严谨。公开它,主要是留一份可复现的记录。
Model description
这是一个 Analyzer / Optimizer 两件套,服务于「读后续写」的教与学:
| 仓库 | 作用 |
|---|---|
...-Analyzer |
拆题 + 批改(两段式,见下) |
...-Optimizer |
在原文基础上给出改写版本与改动说明 |
Analyzer 的两种模式
- Prompt Analysis Mode
- 输入:读后续写题目原文(含两段开头句)
- 输出:结构化的题目分析——主题、人物关系、情节走向要求、文体与语言期待
- Essay Evaluation Mode
- 输入:题目原文 + 上一步生成的题目分析 + 学生续写作文
- 输出:结构化批改——连贯性、语言使用、情节一致性、改进建议
两段式的好处是:批改时有「题目要求」作为参照,而不是让模型凭空评判。代价是错误会累积。
数据
- 来源:广西南宁某中学高二年级 6 次校内英语考试的读后续写答题卡扫描件(高二上:月考一 / 期中 / 12 月月考 / 期末;高二下:月考一 / 期中)。
- 规模:904 篇学生作文,每篇两段,每篇都带真实阅卷分数(满分 25)。
- 处理流程:
- 扫描件 OCR 提取文字;
- 用 Qwen2.5 对识别结果做图像校正,再逐篇人工复核(OCR 错字、分数与正文对不上是常态);
- 隐去学生姓名,只保留正文与分数;
- 以真实分数与原文为输入,生成「题目分析 / 批改」与「改写」两类语料。
数据不含任何可识别个人身份的信息;原始扫描件未公开。
Training procedure
Hyperparameters
| 项 | 值 |
|---|---|
| base model | Qwen/Qwen2.5-7B-Instruct |
| method | LoRA(云 GPU,LLaMA-Factory) |
| learning_rate | 5e-05 |
| lr_scheduler | cosine |
| num_epochs | 6.0 |
| train_batch_size | 2 |
| gradient_accumulation_steps | 8 |
| total_train_batch_size | 16 |
| eval_batch_size | 8 |
| optimizer | Adam (betas=(0.9, 0.999), eps=1e-08) |
| seed | 42 |
Framework versions
- PEFT 0.12.0
- Transformers 4.45.2
- PyTorch 2.4.1+cu121
- Datasets 2.21.0
- Tokenizers 0.20.1
已知问题
- 重复输出:模型经常在写完一遍后继续重复,不产生停止符(EOS)。当时只剩两三天,没有从数据格式或训练配置上解决,只在推理端做了检测:发现重复即截断。这不是修复,是绕过。
- 未验证的猜测:① 数据模板未在 labels 中包含 EOS,模型从未学过「何时停止」;② 语料只有几百条,训 6 个 epoch 偏多,过拟合导致退化重复。两条都没来得及验证。
- 没有标准化评测:只用少量作文做过人工对比,感觉比基座模型更像样;没有 benchmark,也没有评分一致性检验。
- 过拟合风险:语料来自单一学校、单一题型,换题型或换学校大概率失效。
- 模型不预测分数:分数只用于构造语料,不是预测目标。
用法
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base = "Qwen/Qwen2.5-7B-Instruct"
tok = AutoTokenizer.from_pretrained(base)
model = AutoModelForCausalLM.from_pretrained(base, device_map="auto", torch_dtype="auto")
model = PeftModel.from_pretrained(model, "CCsky123/Qwen2.5-7B-Instruct-Eng-ContinueWriting-Analyzer")
prompt = "请分析下面这道读后续写题目:\n" + passage
msgs = [{"role": "user", "content": prompt}]
text = tok.apply_chat_template(msgs, tokenize=False, add_generation_prompt=True)
out = model.generate(**tok(text, return_tensors="pt").to(model.device), max_new_tokens=512)
print(tok.decode(out[0][len(tok(text)["input_ids"]):], skip_special_tokens=True))
许可
仅限学习与研究使用。学生作文数据不随仓库分发。
- Downloads last month
- 20
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support