README.md 3.8 KB
Newer Older
wangsen's avatar
wangsen committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 介绍
通用领域的大语言模型 (LLM),例如 ChatGPT,在遵循指令和产生类似人类响应方面取得了显著的成功,这种成功间接促进了多模态大模型的研究和发展,如通用领域的多模态大模型MiniGPT-4、mPLUG-Owl、Multimodal-GPT和LLaVA ,然而,此类多模态大模型却很少出现在医学领域的研究中,阻碍了相关研究发展。visual-med-alpaca虽然在医学多模态大模型方面做出了一些很有成效的工作,然而其数据为英文诊断报告,不利于促进中文领域医学多模态大模型的研究发展。为此,我们开发了XrayGLM以解决上述问题。XrayGLM在医学影像诊断和多轮交互对话上显示出了非凡的潜力。


# 模型结构
借助ChatGPT以及公开的数据集,构造了一个X光影像-诊断报告对的医学多模态数据集;把数据集分为TP和FN。

![Alt text](./images/image2.png)



# 算法原理
诊断数据集在VisualGLM-6B进行微调训练, 最后输出对胸片的询问结果

![Alt text](./images/image1.png)

# 环境配置
Docker(方式一)
推荐使用docker方式运行,提供拉取的docker镜像:

```
docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-ubuntu20.04-dtk24.04.1-py3.10
docker run -dit --shm-size 80g --network=host --name=xrayglm --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -u root -v /opt/hyhal/:/opt/hyhal/:ro image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-ubuntu20.04-dtk24.04.1-py3.10 /bin/bash
docker exec -it xrayglm  /bin/bash
```

安装docker中没有的依赖:

```
pip install -r requirements.txt  -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
MPU王荣胜's avatar
MPU王荣胜 committed
31
32
```

wangsen's avatar
wangsen committed
33
Dockerfile(方式二)
MPU王荣胜's avatar
MPU王荣胜 committed
34

wangsen's avatar
wangsen committed
35
36
37
38
```
docker build -t xrayglm:latest .
docker run -dit --shm-size 80g --network=host --name=xrayglm --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -u root -v /opt/hyhal/:/opt/hyhal/:ro geneformer:latest /bin/bash
docker exec -it xrayglm   /bin/bash
MPU王荣胜's avatar
MPU王荣胜 committed
39
40
```

MPU王荣胜's avatar
MPU王荣胜 committed
41

wangsen's avatar
wangsen committed
42
Conda(方式三)
MPU王荣胜's avatar
MPU王荣胜 committed
43

wangsen's avatar
wangsen committed
44
45
46
47
48
1.创建conda虚拟环境:

```
conda create -n xrayglm python=3.10
conda activate xrayglm 
MPU王荣胜's avatar
MPU王荣胜 committed
49
50
```

wangsen's avatar
wangsen committed
51
52
53
54
2.关于本项目DCU显卡所需的工具包、深度学习库等均可从光合开发者社区下载安装。
- [DTK 24.04.1](https://cancon.hpccube.com:65024/directlink/1/DTK-24.04.1/Ubuntu20.04.1/DTK-24.04.1-Ubuntu20.04.1-x86_64.tar.gz)
- [Pytorch 2.1](https://cancon.hpccube.com:65024/directlink/4/pytorch/DAS1.2/torch-2.1.0+das.opt1.dtk24042-cp310-cp310-manylinux_2_28_x86_64.whl)
- [DeepSpeed 0.12.3](https://download.sourcefind.cn:65024/directlink/4/deepspeed/DAS1.1/deepspeed-0.12.3+gita724046.abi1.dtk2404.torch2.1.0-cp310-cp310-manylinux_2_31_x86_64.whl)
MPU王荣胜's avatar
MPU王荣胜 committed
55
56


wangsen's avatar
wangsen committed
57
Tips:以上dtk驱动、torch等工具版本需要严格一一对应。
MPU王荣胜's avatar
MPU王荣胜 committed
58
59


wangsen's avatar
wangsen committed
60
3. 其它依赖库参照requirements.txt安装:
MPU王荣胜's avatar
MPU王荣胜 committed
61
62

```
wangsen's avatar
wangsen committed
63
64
65
python setup.py install
pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
```
MPU王荣胜's avatar
MPU王荣胜 committed
66

wangsen's avatar
wangsen committed
67
# 数据集
MPU王荣胜's avatar
MPU王荣胜 committed
68

wangsen's avatar
wangsen committed
69
暂无
MPU王荣胜's avatar
MPU王荣胜 committed
70

wangsen's avatar
wangsen committed
71
# 训练
MPU王荣胜's avatar
MPU王荣胜 committed
72

wangsen's avatar
wangsen committed
73
暂无
MPU王荣胜's avatar
MPU王荣胜 committed
74

wangsen's avatar
wangsen committed
75
# 推理
MPU王荣胜's avatar
MPU王荣胜 committed
76

wangsen's avatar
wangsen committed
77
78
## 模型
需下载模型 xrayGLM-300和visualglm-6b模型
MPU王荣胜's avatar
MPU王荣胜 committed
79

wangsen's avatar
wangsen committed
80
81
- [checkpoints-XrayGLM-300](https://huggingface.co/wangrongsheng/XrayGLM-300/tree/main)
- [visualglm-6b](http://113.200.138.88:18080/aimodels/visualglm-6b)
MPU王荣胜's avatar
MPU王荣胜 committed
82
83


wangsen's avatar
wangsen committed
84
85
## cli推理

wangsen's avatar
wangsen committed
86
根据需要修改预训练模型以及cli_demo.py中48行visualglm-6b模型的位置
MPU王荣胜's avatar
MPU王荣胜 committed
87

wangsen's avatar
wangsen committed
88
89
```
python cli_demo.py --from_pretrained checkpoints/checkpoints-XrayGLM-300 --prompt_zh '详细描述这张胸部X光片的诊断结果'
MPU王荣胜's avatar
MPU王荣胜 committed
90
91
```

wangsen's avatar
wangsen committed
92
93
## 精度

MPU王荣胜's avatar
MPU王荣胜 committed
94

wangsen's avatar
wangsen committed
95
![Alt text](./images/image3.png)
MPU王荣胜's avatar
MPU王荣胜 committed
96

MPU王荣胜's avatar
MPU王荣胜 committed
97

wangsen's avatar
wangsen committed
98
99
# 算法类别
NLP   
MPU王荣胜's avatar
MPU王荣胜 committed
100

wangsen's avatar
wangsen committed
101
## 应用场景
MPU王荣胜's avatar
MPU王荣胜 committed
102

wangsen's avatar
wangsen committed
103
科研   
MPU王荣胜's avatar
MPU王荣胜 committed
104

wangsen's avatar
wangsen committed
105
## 热点应用行业
MPU王荣胜's avatar
MPU王荣胜 committed
106

wangsen's avatar
wangsen committed
107
科研   医疗 教育
MPU王荣胜's avatar
MPU王荣胜 committed
108

wangsen's avatar
wangsen committed
109
110
111
# 源码仓库及问题反馈


wangsen's avatar
wangsen committed
112
113
http://developer.sourcefind.cn/codes/modelzoo/xrayglm.git

wangsen's avatar
wangsen committed
114
115
116
117


# 参考资料

wangsen's avatar
wangsen committed
118

wangsen's avatar
wangsen committed
119
https://github.com/WangRongsheng/XrayGLM.git
MPU王荣胜's avatar
MPU王荣胜 committed
120

MPU王荣胜's avatar
MPU王荣胜 committed
121

MPU王荣胜's avatar
MPU王荣胜 committed
122

MPU王荣胜's avatar
MPU王荣胜 committed
123

MPU王荣胜's avatar
MPU王荣胜 committed
124