LLaVA-Med

LLaVA-Med

生物医学视觉语言模型助力图像分析与智能问答

LLaVA-Med是一个针对生物医学领域的大规模语言和视觉模型。该模型通过课程学习方法对LLaVA进行了生物医学领域适应,在PathVQA和VQA-RAD等开放式生物医学问答任务中表现优异。LLaVA-Med支持多模态对话和视觉问答,为生物医学视觉语言处理研究提供了有力工具。需要注意的是,此模型仅供研究使用,不适用于临床决策。

LLaVA-Med多模态生物医学大语言模型视觉问答Github开源项目

LLaVA-Med: 生物医学大型语言和视觉助手

通过视觉指令微调,朝着在生物医学领域构建具有GPT-4级别能力的大型语言和视觉模型迈进。

[论文,NeurIPS 2023数据集和基准测试赛道(聚焦报告)]

LLaVA-Med:一天内训练生物医学大型语言-视觉助手 <br>

Chunyuan Li*,Cliff Wong*,Sheng Zhang*,Naoto Usuyama,Haotian Liu,Jianwei Yang,Tristan Naumann,Hoifung Poon,Jianfeng Gao (*贡献相同)

<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/f3ca0b06-c01f-466f-8855-b4f35c1fb726.png" width="50%"> <br>

<a href="https://gligen.github.io/">GLIGEN</a>使用定位修复模式生成,包含三个框:"白色医生外套"、"听诊器"、"带红十字标志的白色医生帽"。

</p>

发布

  • [2024年5月13日] 🔥LLaVA-Med v1.5发布!它不仅显著更好(参见评估结果),而且使用起来更加简单:不再需要delta权重!现在你可以直接从🤗 Hub加载我们的模型。原始LLaVA-Med(即v1.0.0)代码库已移至Archive
  • [2023年11月8日] LLaVA-Med根据MSR发布政策开源。非常感谢团队的付出和社区的耐心等待。
  • [2023年9月] LLaVA-Med被NeurIPS 2023数据集和基准测试赛道接收,并作为聚焦报告。
  • [2023年6月1日] 🔥我们发布了LLaVA-Med:生物医学大型语言和视觉助手,这是朝着构建具有GPT-4级别能力的生物医学领域大型语言和视觉模型迈出的一步。查看论文
<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/da0f5c8d-0b0b-4425-aaf1-1c14361defec.png" width="90%"> <br>

LLaVA-Med初始化为通用领域的LLaVA,然后以课程学习的方式持续训练(首先进行生物医学概念对齐,然后进行全面的指令微调)。我们在标准视觉对话和问答任务上评估了LLaVA-Med。

</p>

代码许可证 数据许可证 使用和许可声明:数据、代码和模型检查点仅供研究使用。它们还受到LLaMA、Vicuna和GPT-4各自使用条款规定的额外限制。数据以CC BY NC 4.0许可提供。数据、代码和模型检查点可用于非商业目的,使用该数据集训练的任何模型只能用于研究目的。明确禁止将在此数据上训练的模型用于临床护理或任何临床决策目的。

目录

安装

  1. 克隆此仓库并进入LLaVA-Med文件夹
https://github.com/microsoft/LLaVA-Med.git cd LLaVA-Med
  1. 安装包:创建conda环境
conda create -n llava-med python=3.10 -y conda activate llava-med pip install --upgrade pip # 启用PEP 660支持 pip install -e .

模型下载

模型描述🤗 Huggingface Hub
LLaVA-Med v1.5microsoft/llava-med-v1.5-mistral-7b

服务

Web UI

启动控制器

python -m llava.serve.controller --host 0.0.0.0 --port 10000

启动模型工作进程

python -m llava.serve.model_worker --host 0.0.0.0 --controller http://localhost:10000 --port 40000 --worker http://localhost:40000 --model-path microsoft/llava-med-v1.5-mistral-7b --multi-modal

等待进程完成加载模型,直到看到"Uvicorn running on ..."。

启动模型工作进程(多GPU,当GPU VRAM <= 24GB)

如果你的GPU VRAM小于24GB(例如RTX 3090、RTX 4090等),你可以尝试使用多个GPU运行。

python -m llava.serve.model_worker --host 0.0.0.0 --controller http://localhost:10000 --port 40000 --worker http://localhost:40000 --model-path microsoft/llava-med-v1.5-mistral-7b --multi-modal --num-gpus 2

等待进程完成加载模型,直到看到"Uvicorn running on ..."。

发送测试消息

python -m llava.serve.test_message --model-name llava-med-v1.5-mistral-7b --controller http://localhost:10000

启动gradio web服务器

python -m llava.serve.gradio_web_server --controller http://localhost:10000

现在你可以打开浏览器与模型聊天了。

评估

医学视觉对话(GPT辅助评估)

我们提供了用于多模态建模的GPT辅助评估管道,以全面了解视觉-语言模型的能力。有关更多详细信息,请参阅我们的论文。

1. Azure OpenAI连接信息

打开llava/eval/llm.py并插入你的Azure OpenAI端点和API密钥

openai_cxn_dict = { 'default': { 'endpoint': "在此插入你的AZURE OPENAI端点", 'api_key': "在此插入你的AZURE OPENAI API密钥", }, }
  • GPT-4推理仅使用Azure OpenAI API进行测试。如果你使用OpenAI API,需要将llava/eval/llm.py (第55行)中的AsyncAzureOpenAI替换为AsyncOpenAI。

2. 部署ID

llava/eval/eval_multimodal_chat_gpt_score.py (第55行)中,如有必要,替换为你的GPT-4模型部署ID:

3. 下载图像

wget https://hanoverprod.z21.web.core.windows.net/med_llava/multimodal_chat_eval/llava_med_test_image_urls.jsonl -P data/ python llava/data/download_images.py \ --input_path data/llava_med_test_image_urls.jsonl \ --pmc_output_path data/pmc \ --images_output_path data/images

4. 多模态对话推理

在我们的案例中,llava_med_eval_qa50_qa.jsonl包含问题、上下文(标题和行内提及)以及由纯文本GPT-4(0314)生成的响应,我们将其视为真实标准。

PYTHONPATH=. python llava/eval/model_vqa.py \ --conv-mode mistral_instruct \ --model-path microsoft/llava-med-v1.5-mistral-7b \ --question-file data/eval/llava_med_eval_qa50_qa.jsonl \ --image-folder data/images \ --answers-file /path/to/answer-file.jsonl \ --temperature 0.0

5. GPT-4对生成答案的评估

python llava/eval/eval_multimodal_chat_gpt_score.py \ --answers-file /path/to/answer-file.jsonl \ --question-file data/eval/llava_med_eval_qa50_qa.jsonl \ --scores-file /path/to/scores-file.jsonl

6. 总结评估结果

python llava/eval/summarize_gpt_review.py \ --scores-file /path/to/scores-file.jsonl

数据下载

LLaVA-Med数据集

<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/e0f5fdf4-4767-4d4b-a149-d4fabd8b8f11.png" width="90%"> <br>

生物医学多模态指令遵循数据的统计信息:(a,b)指令和响应的词根动词-名词对,其中图的内圈代表输出响应的词根动词,外圈代表直接名词。(c)五个领域的图像和问答对分布,每个领域显示一张图像。

</p>

数据下载

对齐数据文件大小
llava_med_alignment_500k.json341.52 MiB
指令微调数据文件大小
llava_med_instruct_10k.json19.24 MiB
llava_med_instruct_60k.json84.65 MiB
llava_med_instruct_60k_inline_mention.json83.61 MiB
llava_med_instruct_fig_captions.json161.39 MiB
评估文件大小
------:
llava_med_eval_qa50_qa.jsonl256.18 KiB
llava_med_eval_qa50_fig_captions.json51.82 KiB
llava_med_qa50_instruct_caption_in_text_cleaned-60k-3epoch.json100.97 KiB
图片URL大小
llava_med_image_urls.jsonl122.82 MiB

download_images.py用于使用上述image_urls文件下载PMC文章并提取图片

要下载我们的语言-图像多模态指令跟随数据集,请运行以下脚本:

sh download_data.sh

存档

模型描述

生物医学大型语言与视觉助手(即"LLaVA-Med")是一个使用课程学习方法训练的大型语言和视觉模型,用于将LLaVA适应到生物医学领域。这是一个开源发布,仅用于研究用途,以促进相应论文的可复现性。该论文声称在开放式生物医学问答任务中表现有所提升,包括常见的视觉问答(VQA)基准数据集,如PathVQA和VQA-RAD。

模型用途

预期用途

数据、代码和模型检查点仅用于(I)未来的视觉语言处理研究和(II)复现参考论文中报告的实验结果。数据、代码和模型检查点不应用于临床护理或任何临床决策制定目的。

主要预期用途

主要预期用途是支持人工智能研究人员复现并在此基础上进行研究。LLaVA-Med及其相关模型应有助于探索各种生物医学视觉语言处理(VLP)和视觉问答(VQA)研究问题。

超出范围的使用

模型的任何部署使用情况——无论是商业还是其他用途——都超出了范围。尽管我们使用一系列公开可用的研究基准对模型进行了评估,但这些模型和评估仅供研究使用,不适用于部署场景。更多详情请参阅相关论文

数据

该模型基于PMC-15M数据集构建,这是一个用于生物医学视觉语言处理的大规模平行图像-文本数据集。它包含从PubMed Central的生物医学研究文章中提取的1500万个图像-标题对。它涵盖了多种生物医学图像类型,如显微镜、X射线、组织学等。

局限性

该模型使用英语语料库开发,因此可能被视为仅支持英语。该模型在LLaVA-Med论文中描述的一系列狭窄的生物医学基准任务上进行了评估。因此,它不适合在任何临床环境中使用。在某些条件下,该模型可能会做出不准确的预测并显示局限性,这可能需要额外的缓解策略。特别是,该模型可能会带有许多源自其衍生模型LLaVA的局限性。

此外,该模型的部分开发使用了PMC-15M数据集。构成该数据集的图像-标题对可能包含反映当前学术出版实践的偏见。例如,相应的论文可能富含阳性发现、包含极端案例的示例,并以其他方式反映不能代表其他生物医学数据来源的分布。

致谢

如果您发现LLaVA-Med对您的研究和应用有用,请使用以下BibTeX进行引用:

@article{li2023llavamed, title={Llava-med: Training a large language-and-vision assistant for biomedicine in one day}, author={Li, Chunyuan and Wong, Cliff and Zhang, Sheng and Usuyama, Naoto and Liu, Haotian and Yang, Jianwei and Naumann, Tristan and Poon, Hoifung and Gao, Jianfeng}, journal={arXiv preprint arXiv:2306.00890}, year={2023} }

相关项目

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多