初始化项目,由ModelHub XC社区提供模型
Model: jzyking/qwen2.5-7b-instruct-LiHuowang Source: Original Platform
This commit is contained in:
47
.gitattributes
vendored
Normal file
47
.gitattributes
vendored
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bin.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.model filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.parquet filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zstandard filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.db* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ark* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text
|
||||||
|
**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gguf* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ggml filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.llamafile* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pt2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.npy filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.npz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pickle filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pkl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.wasm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||||
247
README.md
Normal file
247
README.md
Normal file
@@ -0,0 +1,247 @@
|
|||||||
|
```markdown
|
||||||
|
# qwen2.5-7b-instruct-LiHuowang
|
||||||
|
|
||||||
|
> 基于 Qwen-2.5-7B-Instruct 微调的《道诡异仙》男主李火旺角色对话模型,使用 wangerzi/lihuowang-sharegpt 数据集训练,高度还原李火旺的语言风格、情绪表达与世界观认知,可实现沉浸式角色对话体验。
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
## 目录
|
||||||
|
|
||||||
|
- [模型概述](#模型概述)
|
||||||
|
- [模型介绍](#模型介绍)
|
||||||
|
- [微调目标](#微调目标)
|
||||||
|
- [数据集与预处理](#数据集与预处理)
|
||||||
|
- [训练配置与资源](#训练配置与资源示例推荐)
|
||||||
|
- [推理快速开始](#推理快速开始)
|
||||||
|
- [示例对话](#示例对话模型效果)
|
||||||
|
- [适用建议](#适用建议)
|
||||||
|
- [风险、限制与安全建议](#风险限制与安全建议重要)
|
||||||
|
- [许可证与免责声明](#许可证与免责声明建议)
|
||||||
|
- [如何引用](#如何引用)
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
## 模型概述
|
||||||
|
|
||||||
|
**模型名**:`qwen2.5-7b-instruct-LiHuowang`
|
||||||
|
**定位**:面向《道诡异仙》男主李火旺的角色对话模型,专注还原其警觉、多疑、情绪波动大、世界观认知异常等语言特质,适合小说衍生创作、角色扮演与对话实验场景。
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
## 模型介绍
|
||||||
|
|
||||||
|
- **基模型**:Qwen-2.5-7B-Instruct
|
||||||
|
- **微调数据**:wangerzi/lihuowang-sharegpt(用于训练李火旺的角色设定、语言风格与世界观认知)
|
||||||
|
- **微调方法**:QLoRA(LoRA 注入 + 4-bit NF4 量化 via bitsandbytes),支持在单卡或低显存环境下完成微调与推理
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
## 微调目标
|
||||||
|
|
||||||
|
1. **角色特质学习**:
|
||||||
|
- 掌握李火旺特有的警觉性与多疑表达
|
||||||
|
- 模仿其情绪波动大、易受刺激的语言风格
|
||||||
|
- 再现其对异常世界的认知与反应方式
|
||||||
|
|
||||||
|
2. **对话风格适配**:
|
||||||
|
- 对异常事件的敏感回应
|
||||||
|
- 对他人动机的怀疑与追问
|
||||||
|
- 对自身处境的困惑与挣扎
|
||||||
|
|
||||||
|
3. **人设一致性**:
|
||||||
|
- 确保回应符合李火旺角色设定
|
||||||
|
- 保持其特有的认知偏差与情绪反应
|
||||||
|
- 避免性格冲突内容
|
||||||
|
|
||||||
|
4. **氛围营造**:
|
||||||
|
- 优先输出符合小说氛围的对话
|
||||||
|
- 保持紧张、悬疑的情绪基调
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
## 数据集与预处理
|
||||||
|
|
||||||
|
### 主数据集
|
||||||
|
`wangerzi/lihuowang-sharegpt`(构造李火旺与各类角色的互动对话、情绪反应样例)
|
||||||
|
|
||||||
|
### 预处理要点
|
||||||
|
1. **格式转换**:
|
||||||
|
- 转为 system/user/assistant 三段式 ChatML 或 `qwen` 模板
|
||||||
|
- 明确角色身份标签(`[李火旺]` `[对话者]`)
|
||||||
|
|
||||||
|
2. **风格强化**:
|
||||||
|
- 统一李火旺特有的疑问、警觉表达方式
|
||||||
|
- 添加情绪波动关键词库
|
||||||
|
- 增强其对异常事件的反应模式
|
||||||
|
|
||||||
|
3. **数据优化**:
|
||||||
|
- 移除与角色性格冲突的样本,删除部分重复回答可能会影响微调结果的对话数据
|
||||||
|
- 过滤过于平淡的表达
|
||||||
|
- 增强对异常事件反应的样本权重
|
||||||
|
- 添加多疑、追问类对话模板
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
## 训练配置与资源(示例/推荐)
|
||||||
|
|
||||||
|
> 单卡 RTX 4060(8GB 显存)配置方案,训练时长约90分钟
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"model_name_or_path": "./Qwen-2.5-7B-Instruct",
|
||||||
|
"template": "qwen",
|
||||||
|
"default_system": "请你扮演小说《道诡异仙》中的男主角李火旺,不要说自己是人工智能",
|
||||||
|
"finetuning_type": "lora",
|
||||||
|
"quantization_bit": 4,
|
||||||
|
"quantization_type": "nf4",
|
||||||
|
"double_quantization": true,
|
||||||
|
"quantization_method": "bitsandbytes",
|
||||||
|
|
||||||
|
"train_sft_args": {
|
||||||
|
"dataset_dir": "./sft",
|
||||||
|
"use_fast_tokenizer": true,
|
||||||
|
"lora_target": "q_proj,v_proj",
|
||||||
|
"lora_rank": 4,
|
||||||
|
"lora_dropout": 0.2,
|
||||||
|
"weight_decay": 0.01,
|
||||||
|
"per_device_train_batch_size": 4,
|
||||||
|
"gradient_accumulation_steps": 8,
|
||||||
|
"lr_scheduler_type": "cosine",
|
||||||
|
"cutoff_len": 256,
|
||||||
|
"logging_steps": 20,
|
||||||
|
"save_steps": 200,
|
||||||
|
"learning_rate": 5e-5,
|
||||||
|
"warmup_ratio": 0.05,
|
||||||
|
"num_train_epochs": 16,
|
||||||
|
"fp16": true,
|
||||||
|
"flash_attn": "fa2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 训练优化要点
|
||||||
|
1. 在prompt中强化角色设定(李火旺/多疑自称)
|
||||||
|
2. 对异常事件反应类样本增加权重
|
||||||
|
3. 提供f16和q8_0两种精度的gguf格式导出,以下示例输出结果为使用较低精度q8_0测试
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 推理快速开始
|
||||||
|
|
||||||
|
### GGUF / LmStudio / llama.cpp
|
||||||
|
|
||||||
|
可直接将gguf文件注入使用,也可使用命令行
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./main -m model.gguf -p "李师兄,白师妹的人在做什么,你都知道吗?" -n 200 --temp 0.7
|
||||||
|
```
|
||||||
|
|
||||||
|
### 示例对话(模型效果)
|
||||||
|
|
||||||
|
> System Prompt:*"请你扮演《道诡异仙》中的男主李火旺"*
|
||||||
|
|
||||||
|
### 示例 A
|
||||||
|
**输入**:`啊!一声女人的惊恐尖叫,引得所有人看去。只见在溶洞的一旁,一位兔唇的胖少年脸上露出猥琐的笑容,企图把一位白化病少女拉进自己的怀里。`
|
||||||
|
**输出**:
|
||||||
|
> 什么?这不可能,那少年是何方神圣?
|
||||||
|
|
||||||
|
### 示例 B
|
||||||
|
**输入**:`就是出来走走透透气,没必要这么多护卫吧?`
|
||||||
|
**输出**:
|
||||||
|
> 是的,我们也是为了防止有意外发生。
|
||||||
|
|
||||||
|
### 示例 C
|
||||||
|
**输入**:`你还好吧`
|
||||||
|
**输出**:
|
||||||
|
> 没事了,只是受了一点惊吓而已。
|
||||||
|
|
||||||
|
### 示例 D
|
||||||
|
**输入**:`李师兄,白师妹的人在做什么,你都知道吗?`
|
||||||
|
**输出**:
|
||||||
|
> 知道什么啊!她到底是谁?为什么你们会派这么多人护卫她?
|
||||||
|
|
||||||
|
> *注:实际输出可能因生成参数调整而略有不同*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 适用建议
|
||||||
|
|
||||||
|
### 推荐使用场景 ✅
|
||||||
|
- 小说衍生创作与对话生成
|
||||||
|
- 角色扮演与互动实验
|
||||||
|
- 文学研究与语言风格分析
|
||||||
|
- 创意写作辅助
|
||||||
|
|
||||||
|
### 不推荐场景 ❌
|
||||||
|
- 专业知识咨询
|
||||||
|
- 日常对话助手
|
||||||
|
- 事实性信息查询
|
||||||
|
- 心理疏导场景
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 风险、限制与安全建议(重要)
|
||||||
|
|
||||||
|
### 核心限制
|
||||||
|
1. **内容特异性**:输出包含小说特有的认知偏差与情绪反应
|
||||||
|
2. **表达局限性**:可能偶现过度多疑或情绪化表达
|
||||||
|
3. **知识边界**:知识库限于训练数据范围
|
||||||
|
|
||||||
|
### 安全部署建议
|
||||||
|
```mermaid
|
||||||
|
graph TD
|
||||||
|
A[用户输入] --> B{内容过滤模块}
|
||||||
|
B -->|通过| C[模型推理]
|
||||||
|
B -->|拦截| D[返回安全提示]
|
||||||
|
C --> E{人设一致性检测}
|
||||||
|
E -->|符合| F[输出响应]
|
||||||
|
E -->|偏离| G[触发角色修正]
|
||||||
|
F --> H[添加虚构免责声明]
|
||||||
|
```
|
||||||
|
|
||||||
|
### 必须包含的安全措施
|
||||||
|
1. **前端标注**:显目标注"虚构角色互动,内容源自小说创作"
|
||||||
|
2. **关键词过滤**:实时检测并拦截:
|
||||||
|
- 极端情绪诱导
|
||||||
|
- 危险行为引导
|
||||||
|
- 现实伤害性内容
|
||||||
|
3. **人设守护机制**:
|
||||||
|
- 当输出偏离角色设定时自动修正
|
||||||
|
- 建立情绪稳定性检测
|
||||||
|
|
||||||
|
### 伦理使用规范
|
||||||
|
- 禁止传播不实信息
|
||||||
|
- 禁止诱导现实伤害行为
|
||||||
|
- 禁止用于欺骗性交互
|
||||||
|
- 商业使用需额外授权
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 许可证与免责声明
|
||||||
|
|
||||||
|
### 授权信息
|
||||||
|
1. **代码授权**:Apache License 2.0
|
||||||
|
2. **模型权重**:CC BY-NC 4.0
|
||||||
|
|
||||||
|
### 免责声明
|
||||||
|
> 本模型按"原样"(AS IS)提供,仅用于娱乐与研究目的。使用者应知悉:
|
||||||
|
> 1. 输出内容含小说创作元素,无现实指导意义
|
||||||
|
> 2. 禁止用于心理干预、医疗建议等专业领域
|
||||||
|
> 3. 发布者不对角色扮演引发的任何误解承担责任
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 如何引用
|
||||||
|
|
||||||
|
```bibtex
|
||||||
|
@misc{qwen2.5-7b-instruct-LiHuowang,
|
||||||
|
title={qwen2.5-7b-instruct-LiHuowang},
|
||||||
|
author={jzyking},
|
||||||
|
year={2025},
|
||||||
|
note={基于Qwen-2.5-7B-Instruct微调的李火旺角色对话模型}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**文本引用格式**:
|
||||||
|
qwen2.5-7b-instruct-LiHuowang. 基于Qwen-2.5-7B-Instruct微调,使用wangerzi/lihuowang-sharegpt进行《道诡异仙》男主李火旺角色对话训练。发布者: jzyking。
|
||||||
|
```
|
||||||
1
configuration.json
Normal file
1
configuration.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"task":"text-generation"}
|
||||||
3
qwen-2.5-7b-instruct-f16-LiHuowang.gguf
Normal file
3
qwen-2.5-7b-instruct-f16-LiHuowang.gguf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:3269cbc99eac74886b4f5cfcd10d00cbb0860b1b279f6db49cc527f4b7a44f75
|
||||||
|
size 15237853152
|
||||||
3
qwen-2.5-7b-instruct-q8_0-LiHuowang.gguf
Normal file
3
qwen-2.5-7b-instruct-q8_0-LiHuowang.gguf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:46eea89e66aff07c832081e9b7260b4f1838387fa9f8f167a3d67223c2e3c3bf
|
||||||
|
size 8098525152
|
||||||
Reference in New Issue
Block a user