Files
Medical_Dialogue_Model/README.md
ModelHub XC 6d75397d03 初始化项目,由ModelHub XC社区提供模型
Model: zpeng1989/Medical_Dialogue_Model
Source: Original Platform
2026-09-20 01:14:14 +08:00

171 lines
4.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 肿瘤知识问答大模型
## 项目概述
本项目旨在构建一个针对肿瘤知识的问答大模型,基于`qwen2.5-7B`模型作为基座模型使用LoRALow-Rank Adaptation技术进行微调。模型训练数据涵盖了基因数据、肿瘤药物、NCCN美国国家综合癌症网络指南、CSCO中国临床肿瘤学会指南等权威肿瘤学知识信息并通过问答题目进行微调以提升模型在肿瘤领域的问答能力。
## 模型架构
- **基座模型**: `qwen2.5-7B`
- **微调方法**: LoRALow-Rank Adaptation
- **训练数据**:
- 基因数据
- 肿瘤药物信息
- NCCN指南
- CSCO指南
- 肿瘤知识问答题目
## 数据集
### 数据来源
1. **基因数据**: 包含与肿瘤相关的基因突变、表达谱等信息。
2. **肿瘤药物**: 涵盖常用肿瘤药物的适应症、副作用、作用机制等。
3. **NCCN指南**: 美国国家综合癌症网络发布的肿瘤治疗指南。
4. **CSCO指南**: 中国临床肿瘤学会发布的肿瘤诊疗指南。
5. **问答题目**: 基于上述数据生成的肿瘤知识问答题目,用于模型微调。
### 数据预处理
- **数据清洗**: 去除重复、不完整或无关的数据。
- **数据标注**: 对问答题目进行标注,确保问题和答案的准确性。
- **数据分割**: 将数据集分为训练集、验证集和测试集。
## 模型训练
### 微调方法
使用LoRA技术对`qwen2.5-7B`模型进行微调。LoRA通过在预训练模型的权重矩阵中引入低秩矩阵来减少参数量从而在保持模型性能的同时降低计算成本。
### 训练步骤
1. **加载预训练模型**: 加载`qwen2.5-7B`模型。
2. **应用LoRA**: 在模型的关键层应用LoRA技术。
3. **训练模型**: 使用准备好的肿瘤知识问答数据集进行微调。
4. **验证与测试**: 在验证集和测试集上评估模型性能,调整超参数以优化结果。
## 模型评估
### 评估指标
- **准确率**: 模型在问答任务中的准确率。
- **召回率**: 模型能够正确回答的问题比例。
- **F1分数**: 准确率和召回率的调和平均数。
### 评估结果
在测试集上的评估结果如下:
待更新
## 使用指南
### 环境配置
1. **Python版本**: 3.10+
2. **依赖库**:
- `transformers`
- `torch`
### 模型下载
SDK下载
```bash
#安装ModelScope
pip install modelscope
```
```python
#SDK模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('zpeng1989/Medical_Oncology_Large_Language_Model')
```
Git下载
```
#Git模型下载
git clone https://www.modelscope.cn/zpeng1989/Medical_Oncology_Large_Language_Model.git
```
### 模型推理
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
# 加载微调后的模型
model = AutoModelForCausalLM.from_pretrained("path_to_your_model")
tokenizer = AutoTokenizer.from_pretrained("path_to_your_model")
# 输入问题
question = "什么是NCCN指南"
inputs = tokenizer(question, return_tensors="pt")
# 生成答案
outputs = model.generate(**inputs)
answer = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(answer)
```
## 具体案例
### Case 1
```
[
{
"role": "system",
"content": "你是医生"
},
{
"role": "user",
"content": [
{
"type": "text",
"text": "安罗替尼的副作用与肝功能有何关联?"
}
]
},
{
"role": "assistant",
"content": "安罗替尼的副作用可能与肝功能有关,包括肝酶异常等。"
}
]
```
### Case 2
```
[
{
"role": "system",
"content": "你是医生"
},
{
"role": "user",
"content": [
{
"type": "text",
"text": "KDR受体的功能和作用是什么"
}
]
},
{
"role": "assistant",
"content": "KDR受体主要调节VEGF激活的内皮细胞功能在内皮细胞中促进增殖、迁移血管渗透性以及血管再生。"
}
]
```
## 许可证
本项目采用 [MIT 许可证](LICENSE)。
## 致谢
- 感谢 `qwen2.5-7B` 模型的开发者。
- 感谢 NCCN 和 CSCO 提供的指南数据。
- 感谢所有为肿瘤知识问答数据集做出贡献的研究人员。
## 联系方式
如有任何问题,请联系 [592392714@qq.com]。
---
**注意**: 本项目仅供学术研究使用,不构成医疗建议。