CoolFace
Modelpublic

mikuhhn1239/qwen3-8b-narrative-parsing-lora

sourceHugging Faceapache-2.0updated 3mo agoView on Hugging Face
2likes16downloads
Model Card

Qwen3-8B Narrative Type Classification LoRA (v4) ⭐

All Novel Can Be Galgame — Agent 1: 叙事单元类型分类

输入已切分的叙事单元,为每个 unitid 标注类型。 ![ChatGPT Image 2026年7月4日 123937](https://cdn-uploads.huggingface.co/production/uploads/69c26408588b3a2d6dc48d7a/xU5i-RSHYM_P2MlHU2Z9.png) 基座: 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"}
  ]}

加载

python
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 本也不会
v1563单卡57.1%25.0%端到端(切分+分类)
v23103单卡2.6%63.6%只分类,引号冲突
v3.13105单卡2.6%63.6%tokens=256 截断 JSON
v3.25775单卡100%69.5%引号修复 + 扩标 + tokens→1024
v4 ⭐57758 卡 DDP100%72.8%8 卡重训,+3.3pp,各类型全面提升

v4 各类型准确率

类型v3.2v4变化
narration—82%最强
dialogue—70%
thought—62%
action—58%
scene_description—54%最弱
总体69.5%72.8%+3.3pp

v3.1验证集指标如下

570d3a273788c14c489e0b29bacda843

结论

  • —零基座 / +Stage1 全 0%:不做 Agent SFT 就不会叙事分类 ✅
  • —v3.2→v4 +3.3pp:8 卡 DDP 重训,1,526 个 unit 测试,凭更大 batch/更多通信推高上限
  • —关键修复: 输入引号 ""→「」 + maxnewtokens 256→1024