Text Generation
PEFT
Safetensors
Chinese
qwen3
lora
narrative-parsing
novel-analysis
chinese-novels
conversational
Instructions to use mikuhhn1239/qwen3-8b-narrative-parsing-lora with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use mikuhhn1239/qwen3-8b-narrative-parsing-lora with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("mikuhhn1239/qwen3-8b-novel-base-sft") model = PeftModel.from_pretrained(base_model, "mikuhhn1239/qwen3-8b-narrative-parsing-lora") - Notebooks
- Google Colab
- Kaggle
Qwen3-8B Narrative Type Classification LoRA (v4) ⭐
All Novel Can Be Galgame — Agent 1: 叙事单元类型分类
输入已切分的叙事单元,为每个 unit_id 标注类型。
基座: Qwen3-8B-Novel-Base-SFT | 方法: LoRA r=64 α=128 | 硬件: A800 80GB
项目地址:https://github.com/lin1753/novel2galgame
训练代码仓库:https://github.com/lin1753/novel-agent
任务
- 输入: 编号叙事单元
[1] "..." [2] "..." ... - 输出:
{"labels": [{"unit_id": "N", "type": "dialogue|narration|thought|action|scene_description"}]} - 测试集: 39 条
五种类型
| 类型 | 含义 |
|---|---|
dialogue |
对话 |
narration |
叙述 |
thought |
心理 |
action |
动作 |
scene_description |
场景描写 |
示例
输入:
[1] "你怎么来了?"
[2] 她愣了一下。
[3] 其实我也不知道自己为什么会来。
输出:
{"labels": [
{"unit_id": "1", "type": "dialogue"},
{"unit_id": "2", "type": "action"},
{"unit_id": "3", "type": "thought"}
]}
加载
from transformers import AutoModelForCausalLM
from peft import PeftModel
base = AutoModelForCausalLM.from_pretrained(
"mikuhhn1239/qwen3-8b-novel-base-sft",
torch_dtype="auto", device_map="auto",
)
model = PeftModel.from_pretrained(
base, "mikuhhn1239/qwen3-8b-narrative-parsing-lora"
)
训练
基座: Qwen3-8B-Novel-Base-SFT (Stage1 全参 SFT, 72K 小说续写数据)
方法: LoRA (r=64, α=128, dropout=0.05)
数据: 616 条 (577 train / 39 val / 39 test)
框架: transformers Trainer + PEFT
优化器: AdamW (adamw_torch_fused), cosine schedule, warmup=5%
epoch: 5 | LR: 1e-4 | batch: 1×16(accum) | bf16 | max_length: 4096
版本历史
| 版本 | 数据量 | epochs | 硬件 | JSON解析 | 类型准确率 | 说明 |
|---|---|---|---|---|---|---|
| 零基座 | — | — | — | 0% | 0% | Qwen3-8B 原始完全不会 |
| +Stage1 | — | — | — | 0% | 0% | 读完 669 本也不会 |
| v1 | 56 | 3 | 单卡 | 57.1% | 25.0% | 端到端(切分+分类) |
| v2 | 310 | 3 | 单卡 | 2.6% | 63.6% | 只分类,引号冲突 |
| v3.1 | 310 | 5 | 单卡 | 2.6% | 63.6% | tokens=256 截断 JSON |
| v3.2 | 577 | 5 | 单卡 | 100% | 69.5% | 引号修复 + 扩标 + tokens→1024 |
| v4 ⭐ | 577 | 5 | 8 卡 DDP | 100% | 72.8% | 8 卡重训,+3.3pp,各类型全面提升 |
v4 各类型准确率
| 类型 | v3.2 | v4 | 变化 |
|---|---|---|---|
| narration | — | 82% | 最强 |
| dialogue | — | 70% | |
| thought | — | 62% | |
| action | — | 58% | |
| scene_description | — | 54% | 最弱 |
| 总体 | 69.5% | 72.8% | +3.3pp |
v3.1验证集指标如下
结论
- **零基座 / +Stage1 全 0%**:不做 Agent SFT 就不会叙事分类 ✅
- v3.2→v4 +3.3pp:8 卡 DDP 重训,1,526 个 unit 测试,凭更大 batch/更多通信推高上限
- 关键修复: 输入引号
""→「」+ max_new_tokens 256→1024
- Downloads last month
- 14
