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
Upload folder using huggingface_hub
Browse files- README.md +20 -53
- adapter_config.json +47 -47
- adapter_model.safetensors +1 -1
- tokenizer.json +1 -1
README.md
CHANGED
|
@@ -3,43 +3,28 @@ language: zh
|
|
| 3 |
license: apache-2.0
|
| 4 |
library_name: peft
|
| 5 |
pipeline_tag: text-generation
|
| 6 |
-
tags:
|
| 7 |
-
|
| 8 |
-
- lora
|
| 9 |
-
- narrative-parsing
|
| 10 |
-
- novel-analysis
|
| 11 |
-
- chinese-novels
|
| 12 |
-
base_model: mikuhhn1239/qwen3-8b-novel-base-sft
|
| 13 |
---
|
| 14 |
|
| 15 |
-
# Qwen3-8B Narrative
|
| 16 |
|
| 17 |
-
**All Novel Can Be Galgame**
|
| 18 |
|
| 19 |
-
将
|
| 20 |
|
| 21 |
-
##
|
| 22 |
|
| 23 |
-
|
| 24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
-
|
| 27 |
-
- `dialogue` — 角色对话
|
| 28 |
-
- `narration` — 一般叙述
|
| 29 |
-
- `thought` — 内心活动
|
| 30 |
-
- `action` — 动作/行为
|
| 31 |
-
- `scene_description` — 环境描写
|
| 32 |
-
|
| 33 |
-
## 示例
|
| 34 |
-
|
| 35 |
-
```
|
| 36 |
-
输入: "你怎么来了?"她愣了一下。我站在门口,雨水顺着伞沿滴落。
|
| 37 |
-
|
| 38 |
-
输出:
|
| 39 |
-
u1: "你怎么来了?" → dialogue
|
| 40 |
-
u2: 她愣了一下。 → action
|
| 41 |
-
u3: 我站在门口,雨水... → narration
|
| 42 |
-
```
|
| 43 |
|
| 44 |
## 加载
|
| 45 |
|
|
@@ -47,30 +32,12 @@ base_model: mikuhhn1239/qwen3-8b-novel-base-sft
|
|
| 47 |
from transformers import AutoModelForCausalLM
|
| 48 |
from peft import PeftModel
|
| 49 |
|
| 50 |
-
base = AutoModelForCausalLM.from_pretrained(
|
| 51 |
-
|
| 52 |
-
torch_dtype="auto", device_map="auto",
|
| 53 |
-
)
|
| 54 |
-
model = PeftModel.from_pretrained(
|
| 55 |
-
base, "mikuhhn1239/qwen3-8b-narrative-parsing-lora"
|
| 56 |
-
).merge_and_unload()
|
| 57 |
```
|
| 58 |
|
| 59 |
-
## 版本历史
|
| 60 |
-
|
| 61 |
-
| 版本 | JSON 解析率 | 类型准确率 | 比对单元 | 说明 |
|
| 62 |
-
|------|-----------|-----------|---------|------|
|
| 63 |
-
| v1 | 14.3% | 6.2% | 16 | 端到端(切分+分类+复制原文),68条数据 |
|
| 64 |
-
| v2 | 57.1% | 25.0% | 92 | v2 简化格式(只分类),扩标数据 |
|
| 65 |
-
| v3 | 待训 | 待训 | — | 388条清洁数据,统一System Prompt |
|
| 66 |
-
|
| 67 |
-
> v1: 需同时做切分+分类+复制原文 → 过难
|
| 68 |
-
> v2: 只输出 unit_id + type → JSON解析从14%→57%,类型准确从6%→25%
|
| 69 |
-
> v3: 388条训练数据 + 更高质量标注 → 预期>70%类型准确率
|
| 70 |
-
|
| 71 |
## 训练
|
| 72 |
|
| 73 |
-
- 基座
|
| 74 |
-
-
|
| 75 |
-
-
|
| 76 |
-
- 硬件:A800
|
|
|
|
| 3 |
license: apache-2.0
|
| 4 |
library_name: peft
|
| 5 |
pipeline_tag: text-generation
|
| 6 |
+
tags: [qwen3, lora, narrative-parsing, novel-analysis, chinese-novels]
|
| 7 |
+
base_model: Qwen/Qwen3-8B-Instruct
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
+
# Qwen3-8B Narrative Type Classification LoRA
|
| 11 |
|
| 12 |
+
**All Novel Can Be Galgame** — Agent 1: 叙事单元分类 (v3.1)
|
| 13 |
|
| 14 |
+
将已切分的叙事单元标注为 dialogue / narration / thought / action / scene_description。
|
| 15 |
|
| 16 |
+
## 版本演进
|
| 17 |
|
| 18 |
+
| 版本 | 数据 | epochs | LR | JSON解析 | 类型准确率 | 说明 |
|
| 19 |
+
|------|------|--------|-----|---------|-----------|------|
|
| 20 |
+
| 零基座 | — | — | — | 0% | 0% | Qwen3-8B原始完全不会 |
|
| 21 |
+
| +Stage1全参 | — | — | — | 0% | 0% | 读完669本小说也不会 |
|
| 22 |
+
| v1 | 68 | 3 | 2e-4 | 14.3% | 6.2% | 端到端(切分+分类+复制)过难 |
|
| 23 |
+
| v2 | ~140 | 3 | 2e-4 | 57.1% | 25.0% | 简化格式只分类 |
|
| 24 |
+
| v3 | 310 | 3 | 2e-4 | 2.6% | **63.6%** | 清洁数据+统一Prompt |
|
| 25 |
+
| **v3.1** | **310** | **5** | **1e-4** | **2.6%** | **63.6%** | **当前最佳** |
|
| 26 |
|
| 27 |
+
> 类型准确率 63.6% 但 JSON 解析 2.6% 是输出格式问题(引号/换行符转义),非判断错误。下版修复格式。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
|
| 29 |
## 加载
|
| 30 |
|
|
|
|
| 32 |
from transformers import AutoModelForCausalLM
|
| 33 |
from peft import PeftModel
|
| 34 |
|
| 35 |
+
base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-8B-Instruct", torch_dtype="auto", device_map="auto")
|
| 36 |
+
model = PeftModel.from_pretrained(base, "mikuhhn1239/qwen3-8b-narrative-parsing-lora").merge_and_unload()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
```
|
| 38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
## 训练
|
| 40 |
|
| 41 |
+
- 基座: Qwen3-8B-Instruct | 方法: LoRA r=64 α=128
|
| 42 |
+
- 数据: 388条 (310 train / 39 val / 39 test)
|
| 43 |
+
- 格式: 只输出 `{"labels": [{"unit_id","type"}]}`,不复制原文
|
|
|
adapter_config.json
CHANGED
|
@@ -1,48 +1,48 @@
|
|
| 1 |
-
{
|
| 2 |
-
"alora_invocation_tokens": null,
|
| 3 |
-
"alpha_pattern": {},
|
| 4 |
-
"arrow_config": null,
|
| 5 |
-
"auto_mapping": null,
|
| 6 |
-
"base_model_name_or_path": "/
|
| 7 |
-
"bias": "none",
|
| 8 |
-
"corda_config": null,
|
| 9 |
-
"ensure_weight_tying": false,
|
| 10 |
-
"eva_config": null,
|
| 11 |
-
"exclude_modules": null,
|
| 12 |
-
"fan_in_fan_out": false,
|
| 13 |
-
"inference_mode": true,
|
| 14 |
-
"init_lora_weights": true,
|
| 15 |
-
"layer_replication": null,
|
| 16 |
-
"layers_pattern": null,
|
| 17 |
-
"layers_to_transform": null,
|
| 18 |
-
"loftq_config": {},
|
| 19 |
-
"lora_alpha": 128,
|
| 20 |
-
"lora_bias": false,
|
| 21 |
-
"lora_dropout": 0.05,
|
| 22 |
-
"lora_ga_config": null,
|
| 23 |
-
"megatron_config": null,
|
| 24 |
-
"megatron_core": "megatron.core",
|
| 25 |
-
"modules_to_save": null,
|
| 26 |
-
"peft_type": "LORA",
|
| 27 |
-
"peft_version": "0.19.1",
|
| 28 |
-
"qalora_group_size": 16,
|
| 29 |
-
"r": 64,
|
| 30 |
-
"rank_pattern": {},
|
| 31 |
-
"revision": null,
|
| 32 |
-
"target_modules": [
|
| 33 |
-
"k_proj",
|
| 34 |
-
"
|
| 35 |
-
"up_proj",
|
| 36 |
-
"
|
| 37 |
-
"
|
| 38 |
-
"
|
| 39 |
-
"
|
| 40 |
-
],
|
| 41 |
-
"target_parameters": null,
|
| 42 |
-
"task_type": "CAUSAL_LM",
|
| 43 |
-
"trainable_token_indices": null,
|
| 44 |
-
"use_bdlora": null,
|
| 45 |
-
"use_dora": false,
|
| 46 |
-
"use_qalora": false,
|
| 47 |
-
"use_rslora": false
|
| 48 |
}
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"alora_invocation_tokens": null,
|
| 3 |
+
"alpha_pattern": {},
|
| 4 |
+
"arrow_config": null,
|
| 5 |
+
"auto_mapping": null,
|
| 6 |
+
"base_model_name_or_path": "Qwen/Qwen3-8B-Instruct",
|
| 7 |
+
"bias": "none",
|
| 8 |
+
"corda_config": null,
|
| 9 |
+
"ensure_weight_tying": false,
|
| 10 |
+
"eva_config": null,
|
| 11 |
+
"exclude_modules": null,
|
| 12 |
+
"fan_in_fan_out": false,
|
| 13 |
+
"inference_mode": true,
|
| 14 |
+
"init_lora_weights": true,
|
| 15 |
+
"layer_replication": null,
|
| 16 |
+
"layers_pattern": null,
|
| 17 |
+
"layers_to_transform": null,
|
| 18 |
+
"loftq_config": {},
|
| 19 |
+
"lora_alpha": 128,
|
| 20 |
+
"lora_bias": false,
|
| 21 |
+
"lora_dropout": 0.05,
|
| 22 |
+
"lora_ga_config": null,
|
| 23 |
+
"megatron_config": null,
|
| 24 |
+
"megatron_core": "megatron.core",
|
| 25 |
+
"modules_to_save": null,
|
| 26 |
+
"peft_type": "LORA",
|
| 27 |
+
"peft_version": "0.19.1",
|
| 28 |
+
"qalora_group_size": 16,
|
| 29 |
+
"r": 64,
|
| 30 |
+
"rank_pattern": {},
|
| 31 |
+
"revision": null,
|
| 32 |
+
"target_modules": [
|
| 33 |
+
"k_proj",
|
| 34 |
+
"gate_proj",
|
| 35 |
+
"up_proj",
|
| 36 |
+
"down_proj",
|
| 37 |
+
"o_proj",
|
| 38 |
+
"q_proj",
|
| 39 |
+
"v_proj"
|
| 40 |
+
],
|
| 41 |
+
"target_parameters": null,
|
| 42 |
+
"task_type": "CAUSAL_LM",
|
| 43 |
+
"trainable_token_indices": null,
|
| 44 |
+
"use_bdlora": null,
|
| 45 |
+
"use_dora": false,
|
| 46 |
+
"use_qalora": false,
|
| 47 |
+
"use_rslora": false
|
| 48 |
}
|
adapter_model.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 698419728
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e1454b00f37e0dce8aacd61601de6982592bc83c9f4ccd9ce98a91b22fae1c40
|
| 3 |
size 698419728
|
tokenizer.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 11422753
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2f1298e298f2fe0059aba46f037697a339ccba45a1908780ce8ca14b45582f23
|
| 3 |
size 11422753
|