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} }

相关项目

编辑推荐精选

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成热门AI工具AI图像AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具使用教程AI营销产品酷表ChatExcelAI智能客服
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

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

热门AI工具生产力协作转型TraeAI IDE
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

数据安全AI助手热门AI工具AI辅助写作AI论文工具论文写作智能生成大纲
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

热门AI工具AI办公办公工具智能排版AI生成PPT博思AIPPT海量精品模板AI创作
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

下拉加载更多