综合介绍
HealthGPT 是一个先进的医疗大视觉语言模型,旨在通过异构知识适应实现统一的医学视觉理解和生成功能。该项目的目标是将医学视觉理解和生成能力集成到一个统一的自回归框架中,显著提升了医疗图像处理的效率和准确性。HealthGPT 支持多种医学理解任务和生成任务,能够在各类医学图像处理场景中表现出色。项目由浙江大学、电子科技大学、阿里巴巴、香港科技大学、新加坡国立大学等多家机构联合开发,具备强大的科研和实用价值。
功能列表
- 医学视觉问答:支持多种医学影像的问答任务,精确回答用户提出的医学问题。
- 医学图像生成:能够生成高质量的医学图像,辅助医疗诊断和研究。
- 任务分类支持:支持7种医学理解任务和5种医学生成任务,覆盖广泛的医疗应用场景。
- 模型架构:采用分层视觉感知和H-LoRA插件,选择视觉特征和H-LoRA插件,生成文本和视觉内容。
- 多版本模型:提供HealthGPT-M3和HealthGPT-L14两种配置,分别适应不同的需求和资源。
使用帮助
安装流程
- 准备环境
首先,克隆项目并创建Python运行环境:git clone https://github.com/DCDmllm/HealthGPT.git cd HealthGPT conda create -n HealthGPT python=3.10 conda activate HealthGPT pip install -r requirements.txt
- 准备预训练权重
HealthGPT使用clip-vit-large-patch14-336
作为视觉编码器,HealthGPT-M3和HealthGPT-L14分别基于Phi-3-mini-4k-instruct
和phi-4
预训练。
下载所需的模型权重并放置在相应目录: - 准备H-LoRA和适配器权重
下载并放置H-LoRA权重以增强模型的医学视觉理解和生成能力。完整的权重即将发布,敬请期待。
推理
医学视觉问答
- 下载必要文件
- 更新脚本路径
打开llava/demo/com_infer.sh
脚本,修改以下变量为下载文件的路径:- MODEL_NAME_OR_PATH: 基础模型路径或标识符
- VIT_PATH: 视觉变换器模型权重路径
- HLORA_PATH: 视觉理解H-LoRA权重路径
- FUSION_LAYER_PATH: 融合层权重路径
- 运行脚本
cd llava/demo bash com_infer.sh
也可以直接运行Python命令:
python3 com_infer.py \ --model_name_or_path "microsoft/Phi-3-mini-4k-instruct" \ --dtype "FP16" \ --hlora_r "64" \ --hlora_alpha "128" \ --hlora_nums "4" \ --vq_idx_nums "8192" \ --instruct_template "phi3_instruct" \ --vit_path "openai/clip-vit-large-patch14-336/" \ --hlora_path "path/to/your/local/com_hlora_weights.bin" \ --fusion_layer_path "path/to/your/local/fusion_layer_weights.bin" \ --question "Your question" \ --img_path "path/to/image.jpg"
图像重建
将HLORA_PATH
设置为gen_hlora_weights.bin
文件路径,并配置其他模型路径:
cd llava/demo
bash gen_infer.sh
也可以直接运行以下Python命令:
python3 gen_infer.py \
--model_name_or_path "microsoft/Phi-3-mini-4k-instruct" \
--dtype "FP16" \
--hlora_r "256" \
--hlora_alpha "512" \
--hlora_nums "4" \
--vq_idx_nums "8192" \
--instruct_template "phi3_instruct" \
--vit_path "openai/clip-vit-large-patch14-336/" \
--hlora_path "path/to/your/local/gen_hlora_weights.bin" \
--fusion_layer_path "path/to/your/local/fusion_layer_weights.bin" \
--question "Reconstruct the image." \
--img_path "path/to/image.jpg" \
--save_path "path/to/save.jpg"