1140 lines
26 KiB
Markdown
1140 lines
26 KiB
Markdown
|
|
---
|
||
|
|
license: mit
|
||
|
|
library_name: transformers
|
||
|
|
pipeline_tag: image-text-to-text
|
||
|
|
tags:
|
||
|
|
- medical
|
||
|
|
- multimodal
|
||
|
|
- report generation
|
||
|
|
- radiology
|
||
|
|
- clinical-reasoning
|
||
|
|
- MRI
|
||
|
|
- CT
|
||
|
|
- Histopathology
|
||
|
|
- X-ray
|
||
|
|
- Fundus
|
||
|
|
---
|
||
|
|
|
||
|
|
<p align="center">
|
||
|
|
<img src="lingshu_logo.png" width="200" />
|
||
|
|
</p>
|
||
|
|
<p align="center">
|
||
|
|
<a href="https://alibaba-damo-academy.github.io/lingshu/" target="_blank" rel="noopener">Website</a>
|
||
|
|
|
||
|
|
<a href="https://huggingface.co/lingshu-medical-mllm/Lingshu-7B" target="_blank" rel="noopener"> 🤖 7B Model</a>
|
||
|
|
|
||
|
|
<a href="https://huggingface.co/lingshu-medical-mllm/Lingshu-32B" target="_blank" rel="noopener"> 🤖 32B Model</a>
|
||
|
|
|
||
|
|
<a href="https://github.com/alibaba-damo-academy/MedEvalKit" target="_blank" rel="noopener"> MedEvalKit </a>
|
||
|
|
|
||
|
|
<a href="https://arxiv.org/abs/2506.07044" target="_blank" rel="noopener">Technical Report</a>
|
||
|
|
|
||
|
|
<a href="https://github.com/alibaba-damo-academy/Lingshu_MCP" target="_blank" rel="noopener">Lingshu MCP</a>
|
||
|
|
</p>
|
||
|
|
|
||
|
|
# *Lingshu* - SOTA Multimodal Large Language Models for Medical Domain
|
||
|
|
|
||
|
|
|
||
|
|
# <strong style="color: red">BIG NEWS: <a href="https://huggingface.co/lingshu-medical-mllm/Lingshu-7B">Lingshu</a> is released with state-of-the-art performance on medical VQA tasks and report generation.</strong>
|
||
|
|
This repository contains the model of the paper [Lingshu: A Generalist Foundation Model for Unified Multimodal Medical Understanding and Reasoning](https://huggingface.co/papers/2506.07044). We also release a comprehensive medical evaluation toolkit in [MedEvalKit](https://github.com/alibaba-damo-academy/MedEvalKit), which supports fast evaluation of major multimodal and textual medical tasks.
|
||
|
|
|
||
|
|
<p align="center">
|
||
|
|
<img src="lingshu_overview_rev.png" width="1500" />
|
||
|
|
</p>
|
||
|
|
|
||
|
|
|
||
|
|
### Highlights
|
||
|
|
* [Lingshu](https://huggingface.co/lingshu-medical-mllm/Lingshu-7B) models achieve SOTA on most medical multimodal/textual QA and report generation tasks for 7B and 32 model sizes.
|
||
|
|
* [Lingshu-32B](https://huggingface.co/lingshu-medical-mllm/Lingshu-32B) outperforms GPT-4.1 and Claude Sonnet 4 in most multimodal QA and report generation tasks.
|
||
|
|
* Lingshu supports more than 12 medical imaging modalities, including X-Ray, CT Scan, MRI, Microscopy, Ultrasound, Histopathology, Dermoscopy, Fundus, OCT, Digital Photography, Endoscopy, and PET.
|
||
|
|
|
||
|
|
### Release
|
||
|
|
- Technical report: [Arxiv: Lingshu: A Generalist Foundation Model for Unified Multimodal Medical Understanding and Reasoning](https://arxiv.org/pdf/2506.07044).
|
||
|
|
- Model weights:
|
||
|
|
- [Lingshu-7B](https://huggingface.co/lingshu-medical-mllm/Lingshu-7B)
|
||
|
|
- [Lingshu-32B](https://huggingface.co/lingshu-medical-mllm/Lingshu-32B)
|
||
|
|
|
||
|
|
|
||
|
|
> **Disclaimer**:
|
||
|
|
> We must note that even though the weights, codes, and demos are released in an open manner, similar to other pre-trained language models, and despite our best efforts in red teaming and safety fine-tuning and enforcement, our models come with potential risks, including but not limited to inaccurate, misleading or potentially harmful generation.
|
||
|
|
> Developers and stakeholders should perform their own red teaming and provide related security measures before deployment, and they must abide by and comply with local governance and regulations.
|
||
|
|
> In no event shall the authors be held liable for any claim, damages, or other liability arising from the use of the released weights, codes, or demos.
|
||
|
|
|
||
|
|
|
||
|
|
## Evaluation
|
||
|
|
|
||
|
|
|
||
|
|
### Medical Multimodal VQA
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
<table>
|
||
|
|
<thead>
|
||
|
|
<tr>
|
||
|
|
<th>Models</th>
|
||
|
|
<th>MMMU-Med</th>
|
||
|
|
<th>VQA-RAD</th>
|
||
|
|
<th>SLAKE</th>
|
||
|
|
<th>PathVQA</th>
|
||
|
|
<th>PMC-VQA</th>
|
||
|
|
<th>OmniMedVQA</th>
|
||
|
|
<th>MedXpertQA</th>
|
||
|
|
<th>Avg.</th>
|
||
|
|
</tr>
|
||
|
|
</thead>
|
||
|
|
<tbody>
|
||
|
|
<tr>
|
||
|
|
<td colspan="9" style="text-align:center;"><strong>Proprietary Models</strong></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>GPT-4.1</td>
|
||
|
|
<td>75.2</td>
|
||
|
|
<td>65.0</td>
|
||
|
|
<td>72.2</td>
|
||
|
|
<td>55.5</td>
|
||
|
|
<td>55.2</td>
|
||
|
|
<td>75.5</td>
|
||
|
|
<td>45.2</td>
|
||
|
|
<td>63.4</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>Claude Sonnet 4</td>
|
||
|
|
<td>74.6</td>
|
||
|
|
<td>67.6</td>
|
||
|
|
<td>70.6</td>
|
||
|
|
<td>54.2</td>
|
||
|
|
<td>54.4</td>
|
||
|
|
<td>65.5</td>
|
||
|
|
<td>43.3</td>
|
||
|
|
<td>61.5</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>Gemini-2.5-Flash</td>
|
||
|
|
<td>76.9</td>
|
||
|
|
<td>68.5</td>
|
||
|
|
<td>75.8</td>
|
||
|
|
<td>55.4</td>
|
||
|
|
<td>55.4</td>
|
||
|
|
<td>71.0</td>
|
||
|
|
<td>52.8</td>
|
||
|
|
<td>65.1</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td colspan="9" style="text-align:center;"><strong>Open-source Models (<10B)</strong></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>BiomedGPT</td>
|
||
|
|
<td>24.9</td>
|
||
|
|
<td>16.6</td>
|
||
|
|
<td>13.6</td>
|
||
|
|
<td>11.3</td>
|
||
|
|
<td>27.6</td>
|
||
|
|
<td>27.9</td>
|
||
|
|
<td>-</td>
|
||
|
|
<td>-</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>Med-R1-2B</td>
|
||
|
|
<td>34.8</td>
|
||
|
|
<td>39.0</td>
|
||
|
|
<td>54.5</td>
|
||
|
|
<td>15.3</td>
|
||
|
|
<td>47.4</td>
|
||
|
|
<td>-</td>
|
||
|
|
<td>21.1</td>
|
||
|
|
<td>-</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>MedVLM-R1-2B</td>
|
||
|
|
<td>35.2</td>
|
||
|
|
<td>48.6</td>
|
||
|
|
<td>56.0</td>
|
||
|
|
<td>32.5</td>
|
||
|
|
<td>47.6</td>
|
||
|
|
<td>77.7</td>
|
||
|
|
<td>20.4</td>
|
||
|
|
<td>45.4</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>MedGemma-4B-IT</td>
|
||
|
|
<td>43.7</td>
|
||
|
|
<td><strong><u>72.5</u></strong></td>
|
||
|
|
<td><u>76.4</u></td>
|
||
|
|
<td><u>48.8</u></td>
|
||
|
|
<td>49.9</td>
|
||
|
|
<td>69.8</td>
|
||
|
|
<td>22.3</td>
|
||
|
|
<td>54.8</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>LLaVA-Med-7B</td>
|
||
|
|
<td>29.3</td>
|
||
|
|
<td>53.7</td>
|
||
|
|
<td>48.0</td>
|
||
|
|
<td>38.8</td>
|
||
|
|
<td>30.5</td>
|
||
|
|
<td>44.3</td>
|
||
|
|
<td>20.3</td>
|
||
|
|
<td>37.8</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>HuatuoGPT-V-7B</td>
|
||
|
|
<td>47.3</td>
|
||
|
|
<td>67.0</td>
|
||
|
|
<td>67.8</td>
|
||
|
|
<td>48.0</td>
|
||
|
|
<td>53.3</td>
|
||
|
|
<td>74.2</td>
|
||
|
|
<td>21.6</td>
|
||
|
|
<td>54.2</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>BioMediX2-8B</td>
|
||
|
|
<td>39.8</td>
|
||
|
|
<td>49.2</td>
|
||
|
|
<td>57.7</td>
|
||
|
|
<td>37.0</td>
|
||
|
|
<td>43.5</td>
|
||
|
|
<td>63.3</td>
|
||
|
|
<td>21.8</td>
|
||
|
|
<td>44.6</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>Qwen2.5VL-7B</td>
|
||
|
|
<td>50.6</td>
|
||
|
|
<td>64.5</td>
|
||
|
|
<td>67.2</td>
|
||
|
|
<td>44.1</td>
|
||
|
|
<td>51.9</td>
|
||
|
|
<td>63.6</td>
|
||
|
|
<td>22.3</td>
|
||
|
|
<td>52.0</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>InternVL2.5-8B</td>
|
||
|
|
<td>53.5</td>
|
||
|
|
<td>59.4</td>
|
||
|
|
<td>69.0</td>
|
||
|
|
<td>42.1</td>
|
||
|
|
<td>51.3</td>
|
||
|
|
<td><u>81.3</u></td>
|
||
|
|
<td>21.7</td>
|
||
|
|
<td>54.0</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>InternVL3-8B</td>
|
||
|
|
<td><strong>59.2</strong></td>
|
||
|
|
<td>65.4</td>
|
||
|
|
<td>72.8</td>
|
||
|
|
<td>48.6</td>
|
||
|
|
<td><u>53.8</u></td>
|
||
|
|
<td>79.1</td>
|
||
|
|
<td><u>22.4</u></td>
|
||
|
|
<td><u>57.3</u></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td><strong>Lingshu-7B</strong></td>
|
||
|
|
<td><u>54.0</u></td>
|
||
|
|
<td><u>67.9</u></td>
|
||
|
|
<td><strong>83.1</strong></td>
|
||
|
|
<td><strong>61.9</strong></td>
|
||
|
|
<td><strong>56.3</strong></td>
|
||
|
|
<td><strong>82.9</strong></td>
|
||
|
|
<td><strong>26.7</strong></td>
|
||
|
|
<td><strong>61.8</strong></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td colspan="9" style="text-align:center;"><strong>Open-source Models (>10B)</strong></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>HealthGPT-14B</td>
|
||
|
|
<td>49.6</td>
|
||
|
|
<td>65.0</td>
|
||
|
|
<td>66.1</td>
|
||
|
|
<td><u>56.7</u></td>
|
||
|
|
<td>56.4</td>
|
||
|
|
<td>75.2</td>
|
||
|
|
<td>24.7</td>
|
||
|
|
<td>56.2</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>HuatuoGPT-V-34B</td>
|
||
|
|
<td>51.8</td>
|
||
|
|
<td>61.4</td>
|
||
|
|
<td>69.5</td>
|
||
|
|
<td>44.4</td>
|
||
|
|
<td>56.6</td>
|
||
|
|
<td>74.0</td>
|
||
|
|
<td>22.1</td>
|
||
|
|
<td>54.3</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>MedDr-40B</td>
|
||
|
|
<td>49.3</td>
|
||
|
|
<td>65.2</td>
|
||
|
|
<td>66.4</td>
|
||
|
|
<td>53.5</td>
|
||
|
|
<td>13.9</td>
|
||
|
|
<td>64.3</td>
|
||
|
|
<td>-</td>
|
||
|
|
<td>-</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>InternVL3-14B</td>
|
||
|
|
<td><u>63.1</u></td>
|
||
|
|
<td>66.3</td>
|
||
|
|
<td><u>72.8</u></td>
|
||
|
|
<td>48.0</td>
|
||
|
|
<td>54.1</td>
|
||
|
|
<td>78.9</td>
|
||
|
|
<td>23.1</td>
|
||
|
|
<td>58.0</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>Qwen2.5V-32B</td>
|
||
|
|
<td>59.6</td>
|
||
|
|
<td><u>71.8</u></td>
|
||
|
|
<td>71.2</td>
|
||
|
|
<td>41.9</td>
|
||
|
|
<td>54.5</td>
|
||
|
|
<td>68.2</td>
|
||
|
|
<td>25.2</td>
|
||
|
|
<td>56.1</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>InternVL2.5-38B</td>
|
||
|
|
<td>61.6</td>
|
||
|
|
<td>61.4</td>
|
||
|
|
<td>70.3</td>
|
||
|
|
<td>46.9</td>
|
||
|
|
<td><u>57.2</u></td>
|
||
|
|
<td><u>79.9</u></td>
|
||
|
|
<td>24.4</td>
|
||
|
|
<td>57.4</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>InternVL3-38B</td>
|
||
|
|
<td><strong>65.2</strong></td>
|
||
|
|
<td>65.4</td>
|
||
|
|
<td>72.7</td>
|
||
|
|
<td>51.0</td>
|
||
|
|
<td>56.6</td>
|
||
|
|
<td>79.8</td>
|
||
|
|
<td><u>25.2</u></td>
|
||
|
|
<td><u>59.4</u></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td><strong>Lingshu-32B</strong></td>
|
||
|
|
<td>62.3</td>
|
||
|
|
<td><strong>76.5</strong></td>
|
||
|
|
<td><strong>89.2</strong></td>
|
||
|
|
<td><strong>65.9</strong></td>
|
||
|
|
<td><strong>57.9</strong></td>
|
||
|
|
<td><strong>83.4</strong></td>
|
||
|
|
<td><strong>30.9</strong></td>
|
||
|
|
<td><strong>66.6</strong></td>
|
||
|
|
</tr>
|
||
|
|
</tbody>
|
||
|
|
</table>
|
||
|
|
|
||
|
|
|
||
|
|
### Medical Textual QA
|
||
|
|
|
||
|
|
<table>
|
||
|
|
<thead>
|
||
|
|
<tr>
|
||
|
|
<th>Models</th>
|
||
|
|
<th>MMLU-Med</th>
|
||
|
|
<th>PubMedQA</th>
|
||
|
|
<th>MedMCQA</th>
|
||
|
|
<th>MedQA</th>
|
||
|
|
<th>Medbullets</th>
|
||
|
|
<th>MedXpertQA</th>
|
||
|
|
<th>SuperGPQA-Med</th>
|
||
|
|
<th>Avg.</th>
|
||
|
|
</tr>
|
||
|
|
</thead>
|
||
|
|
<tbody>
|
||
|
|
<tr>
|
||
|
|
<td colspan="9" style="text-align:center;"><strong>Proprietary Models</strong></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>GPT-4.1</td>
|
||
|
|
<td>89.6</td>
|
||
|
|
<td>75.6</td>
|
||
|
|
<td>77.7</td>
|
||
|
|
<td>89.1</td>
|
||
|
|
<td>77.0</td>
|
||
|
|
<td>30.9</td>
|
||
|
|
<td>49.9</td>
|
||
|
|
<td>70.0</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>Claude Sonnet 4</td>
|
||
|
|
<td>91.3</td>
|
||
|
|
<td>78.6</td>
|
||
|
|
<td>79.3</td>
|
||
|
|
<td>92.1</td>
|
||
|
|
<td>80.2</td>
|
||
|
|
<td>33.6</td>
|
||
|
|
<td>56.3</td>
|
||
|
|
<td>73.1</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>Gemini-2.5-Flash</td>
|
||
|
|
<td>84.2</td>
|
||
|
|
<td>73.8</td>
|
||
|
|
<td>73.6</td>
|
||
|
|
<td>91.2</td>
|
||
|
|
<td>77.6</td>
|
||
|
|
<td>35.6</td>
|
||
|
|
<td>53.3</td>
|
||
|
|
<td>69.9</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td colspan="9" style="text-align:center;"><strong>Open-source Models (<10B)</strong></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>Med-R1-2B</td>
|
||
|
|
<td>51.5</td>
|
||
|
|
<td>66.2</td>
|
||
|
|
<td>39.1</td>
|
||
|
|
<td>39.9</td>
|
||
|
|
<td>33.6</td>
|
||
|
|
<td>11.2</td>
|
||
|
|
<td>17.9</td>
|
||
|
|
<td>37.0</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>MedVLM-R1-2B</td>
|
||
|
|
<td>51.8</td>
|
||
|
|
<td>66.4</td>
|
||
|
|
<td>39.7</td>
|
||
|
|
<td>42.3</td>
|
||
|
|
<td>33.8</td>
|
||
|
|
<td>11.8</td>
|
||
|
|
<td>19.1</td>
|
||
|
|
<td>37.8</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>MedGemma-4B-IT</td>
|
||
|
|
<td>66.7</td>
|
||
|
|
<td>72.2</td>
|
||
|
|
<td>52.2</td>
|
||
|
|
<td>56.2</td>
|
||
|
|
<td>45.6</td>
|
||
|
|
<td>12.8</td>
|
||
|
|
<td>21.6</td>
|
||
|
|
<td>46.8</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>LLaVA-Med-7B</td>
|
||
|
|
<td>50.6</td>
|
||
|
|
<td>26.4</td>
|
||
|
|
<td>39.4</td>
|
||
|
|
<td>42.0</td>
|
||
|
|
<td>34.4</td>
|
||
|
|
<td>9.9</td>
|
||
|
|
<td>16.1</td>
|
||
|
|
<td>31.3</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>HuatuoGPT-V-7B</td>
|
||
|
|
<td>69.3</td>
|
||
|
|
<td>72.8</td>
|
||
|
|
<td>51.2</td>
|
||
|
|
<td>52.9</td>
|
||
|
|
<td>40.9</td>
|
||
|
|
<td>10.1</td>
|
||
|
|
<td>21.9</td>
|
||
|
|
<td>45.6</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>BioMediX2-8B</td>
|
||
|
|
<td>68.6</td>
|
||
|
|
<td>75.2</td>
|
||
|
|
<td>52.9</td>
|
||
|
|
<td>58.9</td>
|
||
|
|
<td>45.9</td>
|
||
|
|
<td>13.4</td>
|
||
|
|
<td>25.2</td>
|
||
|
|
<td>48.6</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>Qwen2.5VL-7B</td>
|
||
|
|
<td>73.4</td>
|
||
|
|
<td><u>76.4</u></td>
|
||
|
|
<td>52.6</td>
|
||
|
|
<td>57.3</td>
|
||
|
|
<td>42.1</td>
|
||
|
|
<td>12.8</td>
|
||
|
|
<td>26.3</td>
|
||
|
|
<td>48.7</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>InternVL2.5-8B</td>
|
||
|
|
<td>74.2</td>
|
||
|
|
<td>76.4</td>
|
||
|
|
<td>52.4</td>
|
||
|
|
<td>53.7</td>
|
||
|
|
<td>42.4</td>
|
||
|
|
<td>11.6</td>
|
||
|
|
<td>26.1</td>
|
||
|
|
<td>48.1</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>InternVL3-8B</td>
|
||
|
|
<td><strong>77.5</strong></td>
|
||
|
|
<td>75.4</td>
|
||
|
|
<td><strong>57.7</strong></td>
|
||
|
|
<td><u>62.1</u></td>
|
||
|
|
<td><u>48.5</u></td>
|
||
|
|
<td><u>13.1</u></td>
|
||
|
|
<td><strong>31.2</strong></td>
|
||
|
|
<td><u>52.2</u></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td><strong>Lingshu-7B</strong></td>
|
||
|
|
<td><u>74.5</u></td>
|
||
|
|
<td><strong>76.6</strong></td>
|
||
|
|
<td><u>55.9</u></td>
|
||
|
|
<td><strong>63.3</strong></td>
|
||
|
|
<td><strong>56.2</strong></td>
|
||
|
|
<td><strong>16.5</strong></td>
|
||
|
|
<td><u>26.3</u></td>
|
||
|
|
<td><strong>52.8</strong></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td colspan="9" style="text-align:center;"><strong>Open-source Models (>10B)</strong></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>HealthGPT-14B</td>
|
||
|
|
<td>80.2</td>
|
||
|
|
<td>68.0</td>
|
||
|
|
<td>63.4</td>
|
||
|
|
<td>66.2</td>
|
||
|
|
<td>39.8</td>
|
||
|
|
<td>11.3</td>
|
||
|
|
<td>25.7</td>
|
||
|
|
<td>50.7</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>HuatuoGPT-V-34B</td>
|
||
|
|
<td>74.7</td>
|
||
|
|
<td>72.2</td>
|
||
|
|
<td>54.7</td>
|
||
|
|
<td>58.8</td>
|
||
|
|
<td>42.7</td>
|
||
|
|
<td>11.4</td>
|
||
|
|
<td>26.5</td>
|
||
|
|
<td>48.7</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>MedDr-40B</td>
|
||
|
|
<td>65.2</td>
|
||
|
|
<td>77.4</td>
|
||
|
|
<td>38.4</td>
|
||
|
|
<td>59.2</td>
|
||
|
|
<td>44.3</td>
|
||
|
|
<td>12.0</td>
|
||
|
|
<td>24.0</td>
|
||
|
|
<td>45.8</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>InternVL3-14B</td>
|
||
|
|
<td>81.7</td>
|
||
|
|
<td><u>77.2</u></td>
|
||
|
|
<td>62.0</td>
|
||
|
|
<td>70.1</td>
|
||
|
|
<td>49.5</td>
|
||
|
|
<td>14.1</td>
|
||
|
|
<td>37.9</td>
|
||
|
|
<td>56.1</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>Qwen2.5VL-32B</td>
|
||
|
|
<td>83.2</td>
|
||
|
|
<td>68.4</td>
|
||
|
|
<td>63.0</td>
|
||
|
|
<td>71.6</td>
|
||
|
|
<td>54.2</td>
|
||
|
|
<td>15.6</td>
|
||
|
|
<td>37.6</td>
|
||
|
|
<td>56.2</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>InternVL2.5-38B</td>
|
||
|
|
<td><u>84.6</u></td>
|
||
|
|
<td>74.2</td>
|
||
|
|
<td><u>65.9</u></td>
|
||
|
|
<td><u>74.4</u></td>
|
||
|
|
<td><u>55.0</u></td>
|
||
|
|
<td>14.7</td>
|
||
|
|
<td>39.9</td>
|
||
|
|
<td>58.4</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>InternVL3-38B</td>
|
||
|
|
<td>83.8</td>
|
||
|
|
<td>73.2</td>
|
||
|
|
<td>64.9</td>
|
||
|
|
<td>73.5</td>
|
||
|
|
<td>54.6</td>
|
||
|
|
<td><u>16.0</u></td>
|
||
|
|
<td><strong>42.5</strong></td>
|
||
|
|
<td><u>58.4</u></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td><strong>Lingshu-32B</strong></td>
|
||
|
|
<td><strong>84.7</strong></td>
|
||
|
|
<td><strong>77.8</strong></td>
|
||
|
|
<td><strong>66.1</strong></td>
|
||
|
|
<td><strong>74.7</strong></td>
|
||
|
|
<td><strong>65.4</strong></td>
|
||
|
|
<td><strong>22.7</strong></td>
|
||
|
|
<td><u>41.1</u></td>
|
||
|
|
<td><strong>61.8</strong></td>
|
||
|
|
</tr>
|
||
|
|
</tbody>
|
||
|
|
</table>
|
||
|
|
|
||
|
|
|
||
|
|
#### Medical Report Generation
|
||
|
|
|
||
|
|
|
||
|
|
<table>
|
||
|
|
<thead>
|
||
|
|
<tr>
|
||
|
|
<th rowspan="3">Models</th>
|
||
|
|
<th colspan="5">MIMIC-CXR</th>
|
||
|
|
<th colspan="5">CheXpert Plus</th>
|
||
|
|
<th colspan="5">IU-Xray</th>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<th>ROUGE-L</th>
|
||
|
|
<th>CIDEr</th>
|
||
|
|
<th>RaTE</th>
|
||
|
|
<th>SembScore</th>
|
||
|
|
<th>RadCliQ-v1<sup>-1</sup></th>
|
||
|
|
<th>ROUGE-L</th>
|
||
|
|
<th>CIDEr</th>
|
||
|
|
<th>RaTE</th>
|
||
|
|
<th>SembScore</th>
|
||
|
|
<th>RadCliQ-v1<sup>-1</sup></th>
|
||
|
|
<th>ROUGE-L</th>
|
||
|
|
<th>CIDEr</th>
|
||
|
|
<th>RaTE</th>
|
||
|
|
<th>SembScore</th>
|
||
|
|
<th>RadCliQ-v1<sup>-1</sup></th>
|
||
|
|
</tr>
|
||
|
|
</thead>
|
||
|
|
<tbody>
|
||
|
|
<tr>
|
||
|
|
<td colspan="16" style="text-align:center;"><strong>Proprietary Models</strong></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>GPT-4.1</td>
|
||
|
|
<td>9.0</td>
|
||
|
|
<td>82.8</td>
|
||
|
|
<td>51.3</td>
|
||
|
|
<td>23.9</td>
|
||
|
|
<td>57.1</td>
|
||
|
|
<td>24.5</td>
|
||
|
|
<td>78.8</td>
|
||
|
|
<td>45.5</td>
|
||
|
|
<td>23.2</td>
|
||
|
|
<td>45.5</td>
|
||
|
|
<td>30.2</td>
|
||
|
|
<td>124.6</td>
|
||
|
|
<td>51.3</td>
|
||
|
|
<td>47.5</td>
|
||
|
|
<td>80.3</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>Claude Sonnet 4</td>
|
||
|
|
<td>20.0</td>
|
||
|
|
<td>56.6</td>
|
||
|
|
<td>45.6</td>
|
||
|
|
<td>19.7</td>
|
||
|
|
<td>53.4</td>
|
||
|
|
<td>22.0</td>
|
||
|
|
<td>59.5</td>
|
||
|
|
<td>43.5</td>
|
||
|
|
<td>18.9</td>
|
||
|
|
<td>43.3</td>
|
||
|
|
<td>25.4</td>
|
||
|
|
<td>88.3</td>
|
||
|
|
<td>55.4</td>
|
||
|
|
<td>41.0</td>
|
||
|
|
<td>72.1</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>Gemini-2.5-Flash</td>
|
||
|
|
<td>25.4</td>
|
||
|
|
<td>80.7</td>
|
||
|
|
<td>50.3</td>
|
||
|
|
<td>29.7</td>
|
||
|
|
<td>59.4</td>
|
||
|
|
<td>23.6</td>
|
||
|
|
<td>72.2</td>
|
||
|
|
<td>44.3</td>
|
||
|
|
<td>27.4</td>
|
||
|
|
<td>44.0</td>
|
||
|
|
<td>33.5</td>
|
||
|
|
<td>129.3</td>
|
||
|
|
<td>55.6</td>
|
||
|
|
<td>50.9</td>
|
||
|
|
<td>91.6</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td colspan="16" style="text-align:center;"><strong>Open-source Models (<10B)</strong></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>Med-R1-2B</td>
|
||
|
|
<td>19.3</td>
|
||
|
|
<td>35.4</td>
|
||
|
|
<td>40.6</td>
|
||
|
|
<td>14.8</td>
|
||
|
|
<td>42.4</td>
|
||
|
|
<td>18.6</td>
|
||
|
|
<td>37.1</td>
|
||
|
|
<td>38.5</td>
|
||
|
|
<td>17.8</td>
|
||
|
|
<td>37.6</td>
|
||
|
|
<td>16.1</td>
|
||
|
|
<td>38.3</td>
|
||
|
|
<td>41.4</td>
|
||
|
|
<td>12.5</td>
|
||
|
|
<td>43.6</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>MedVLM-R1-2B</td>
|
||
|
|
<td>20.3</td>
|
||
|
|
<td>40.1</td>
|
||
|
|
<td>41.6</td>
|
||
|
|
<td>14.2</td>
|
||
|
|
<td>48.3</td>
|
||
|
|
<td>20.9</td>
|
||
|
|
<td>43.5</td>
|
||
|
|
<td>38.9</td>
|
||
|
|
<td>15.5</td>
|
||
|
|
<td>40.9</td>
|
||
|
|
<td>22.7</td>
|
||
|
|
<td>61.1</td>
|
||
|
|
<td>46.1</td>
|
||
|
|
<td>22.7</td>
|
||
|
|
<td>54.3</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>MedGemma-4B-IT</td>
|
||
|
|
<td><u>25.6</u></td>
|
||
|
|
<td><u>81.0</u></td>
|
||
|
|
<td><strong>52.4</strong></td>
|
||
|
|
<td><u>29.2</u></td>
|
||
|
|
<td><u>62.9</u></td>
|
||
|
|
<td><strong>27.1</strong></td>
|
||
|
|
<td><u>79.0</u></td>
|
||
|
|
<td><strong>47.2</strong></td>
|
||
|
|
<td><strong>29.3</strong></td>
|
||
|
|
<td><u>46.6</u></td>
|
||
|
|
<td><u>30.8</u></td>
|
||
|
|
<td>103.6</td>
|
||
|
|
<td><u>57.0</u></td>
|
||
|
|
<td><u>46.8</u></td>
|
||
|
|
<td><u>86.7</u></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>LLaVA-Med-7B</td>
|
||
|
|
<td>15.0</td>
|
||
|
|
<td>43.4</td>
|
||
|
|
<td>12.8</td>
|
||
|
|
<td>18.3</td>
|
||
|
|
<td>52.9</td>
|
||
|
|
<td>18.4</td>
|
||
|
|
<td>45.5</td>
|
||
|
|
<td>38.8</td>
|
||
|
|
<td>23.5</td>
|
||
|
|
<td>44.0</td>
|
||
|
|
<td>18.8</td>
|
||
|
|
<td>68.2</td>
|
||
|
|
<td>40.9</td>
|
||
|
|
<td>16.0</td>
|
||
|
|
<td>58.1</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>HuatuoGPT-V-7B</td>
|
||
|
|
<td>23.4</td>
|
||
|
|
<td>69.5</td>
|
||
|
|
<td>48.9</td>
|
||
|
|
<td>20.0</td>
|
||
|
|
<td>48.2</td>
|
||
|
|
<td>21.3</td>
|
||
|
|
<td>64.7</td>
|
||
|
|
<td>44.2</td>
|
||
|
|
<td>19.3</td>
|
||
|
|
<td>39.4</td>
|
||
|
|
<td>29.6</td>
|
||
|
|
<td><u>104.3</u></td>
|
||
|
|
<td>52.9</td>
|
||
|
|
<td>40.7</td>
|
||
|
|
<td>63.6</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>BioMediX2-8B</td>
|
||
|
|
<td>20.0</td>
|
||
|
|
<td>52.8</td>
|
||
|
|
<td>44.4</td>
|
||
|
|
<td>17.7</td>
|
||
|
|
<td>53.0</td>
|
||
|
|
<td>18.1</td>
|
||
|
|
<td>47.9</td>
|
||
|
|
<td>40.8</td>
|
||
|
|
<td>21.6</td>
|
||
|
|
<td>43.3</td>
|
||
|
|
<td>19.6</td>
|
||
|
|
<td>58.8</td>
|
||
|
|
<td>40.1</td>
|
||
|
|
<td>11.6</td>
|
||
|
|
<td>53.8</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>Qwen2.5VL-7B</td>
|
||
|
|
<td>24.1</td>
|
||
|
|
<td>63.7</td>
|
||
|
|
<td>47.0</td>
|
||
|
|
<td>18.4</td>
|
||
|
|
<td>55.1</td>
|
||
|
|
<td>22.2</td>
|
||
|
|
<td>62.0</td>
|
||
|
|
<td>41.0</td>
|
||
|
|
<td>17.2</td>
|
||
|
|
<td>43.1</td>
|
||
|
|
<td>26.5</td>
|
||
|
|
<td>78.1</td>
|
||
|
|
<td>48.4</td>
|
||
|
|
<td>36.3</td>
|
||
|
|
<td>66.1</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>InternVL2.5-8B</td>
|
||
|
|
<td>23.2</td>
|
||
|
|
<td>61.8</td>
|
||
|
|
<td>47.0</td>
|
||
|
|
<td>21.0</td>
|
||
|
|
<td>56.2</td>
|
||
|
|
<td>20.6</td>
|
||
|
|
<td>58.5</td>
|
||
|
|
<td>43.1</td>
|
||
|
|
<td>19.7</td>
|
||
|
|
<td>42.7</td>
|
||
|
|
<td>24.8</td>
|
||
|
|
<td>75.4</td>
|
||
|
|
<td>51.1</td>
|
||
|
|
<td>36.7</td>
|
||
|
|
<td>67.0</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>InternVL3-8B</td>
|
||
|
|
<td>22.9</td>
|
||
|
|
<td>66.2</td>
|
||
|
|
<td>48.2</td>
|
||
|
|
<td>21.5</td>
|
||
|
|
<td>55.1</td>
|
||
|
|
<td>20.9</td>
|
||
|
|
<td>65.4</td>
|
||
|
|
<td>44.3</td>
|
||
|
|
<td>25.2</td>
|
||
|
|
<td>43.7</td>
|
||
|
|
<td>22.9</td>
|
||
|
|
<td>76.2</td>
|
||
|
|
<td>51.2</td>
|
||
|
|
<td>31.3</td>
|
||
|
|
<td>59.9</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td><strong>Lingshu-7B</strong></td>
|
||
|
|
<td><strong>30.8</strong></td>
|
||
|
|
<td><strong>109.4</strong></td>
|
||
|
|
<td><u>52.1</u></td>
|
||
|
|
<td><strong>30.0</strong></td>
|
||
|
|
<td><strong>69.2</strong></td>
|
||
|
|
<td><u>26.5</u></td>
|
||
|
|
<td><strong>79.0</strong></td>
|
||
|
|
<td><u>45.4</u></td>
|
||
|
|
<td><u>26.8</u></td>
|
||
|
|
<td><strong>47.3</strong></td>
|
||
|
|
<td><strong>41.2</strong></td>
|
||
|
|
<td><strong>180.7</strong></td>
|
||
|
|
<td><strong>57.6</strong></td>
|
||
|
|
<td><strong>48.4</strong></td>
|
||
|
|
<td><strong>108.1</strong></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td colspan="16" style="text-align:center;"><strong>Open-source Models (>10B)</strong></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>HealthGPT-14B</td>
|
||
|
|
<td>21.4</td>
|
||
|
|
<td>64.7</td>
|
||
|
|
<td>48.4</td>
|
||
|
|
<td>16.5</td>
|
||
|
|
<td>52.7</td>
|
||
|
|
<td>20.6</td>
|
||
|
|
<td><u>66.2</u></td>
|
||
|
|
<td><u>44.4</u></td>
|
||
|
|
<td>22.7</td>
|
||
|
|
<td>42.6</td>
|
||
|
|
<td>22.9</td>
|
||
|
|
<td>81.9</td>
|
||
|
|
<td>50.8</td>
|
||
|
|
<td>16.6</td>
|
||
|
|
<td>56.9</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>HuatuoGPT-V-34B</td>
|
||
|
|
<td><u>23.5</u></td>
|
||
|
|
<td><u>68.5</u></td>
|
||
|
|
<td>48.5</td>
|
||
|
|
<td><u>23.0</u></td>
|
||
|
|
<td>47.1</td>
|
||
|
|
<td>22.5</td>
|
||
|
|
<td>62.8</td>
|
||
|
|
<td>42.9</td>
|
||
|
|
<td>22.1</td>
|
||
|
|
<td>39.7</td>
|
||
|
|
<td>28.2</td>
|
||
|
|
<td><u>108.3</u></td>
|
||
|
|
<td>54.4</td>
|
||
|
|
<td><u>42.2</u></td>
|
||
|
|
<td>59.3</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>MedDr-40B</td>
|
||
|
|
<td>15.7</td>
|
||
|
|
<td>62.3</td>
|
||
|
|
<td>45.2</td>
|
||
|
|
<td>12.2</td>
|
||
|
|
<td>47.0</td>
|
||
|
|
<td><u>24.1</u></td>
|
||
|
|
<td>66.1</td>
|
||
|
|
<td><strong>44.7</strong></td>
|
||
|
|
<td><u>24.2</u></td>
|
||
|
|
<td>44.7</td>
|
||
|
|
<td>19.4</td>
|
||
|
|
<td>62.9</td>
|
||
|
|
<td>40.3</td>
|
||
|
|
<td>7.3</td>
|
||
|
|
<td>48.9</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>InternVL3-14B</td>
|
||
|
|
<td>22.0</td>
|
||
|
|
<td>63.7</td>
|
||
|
|
<td><u>48.6</u></td>
|
||
|
|
<td>17.4</td>
|
||
|
|
<td>46.5</td>
|
||
|
|
<td>20.4</td>
|
||
|
|
<td>60.2</td>
|
||
|
|
<td>44.1</td>
|
||
|
|
<td>20.7</td>
|
||
|
|
<td>39.4</td>
|
||
|
|
<td>24.8</td>
|
||
|
|
<td>93.7</td>
|
||
|
|
<td><u>55.0</u></td>
|
||
|
|
<td>38.7</td>
|
||
|
|
<td>55.0</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>Qwen2.5VL-32B</td>
|
||
|
|
<td>15.7</td>
|
||
|
|
<td>50.2</td>
|
||
|
|
<td>47.5</td>
|
||
|
|
<td>17.1</td>
|
||
|
|
<td>45.2</td>
|
||
|
|
<td>15.2</td>
|
||
|
|
<td>54.8</td>
|
||
|
|
<td>43.4</td>
|
||
|
|
<td>18.5</td>
|
||
|
|
<td>40.3</td>
|
||
|
|
<td>18.9</td>
|
||
|
|
<td>73.3</td>
|
||
|
|
<td>51.3</td>
|
||
|
|
<td>38.1</td>
|
||
|
|
<td>54.0</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>InternVL2.5-38B</td>
|
||
|
|
<td>22.7</td>
|
||
|
|
<td>61.4</td>
|
||
|
|
<td>47.5</td>
|
||
|
|
<td>18.2</td>
|
||
|
|
<td><u>54.9</u></td>
|
||
|
|
<td>21.6</td>
|
||
|
|
<td>60.6</td>
|
||
|
|
<td>42.6</td>
|
||
|
|
<td>20.3</td>
|
||
|
|
<td><u>45.4</u></td>
|
||
|
|
<td><u>28.9</u></td>
|
||
|
|
<td>96.5</td>
|
||
|
|
<td>53.5</td>
|
||
|
|
<td>38.5</td>
|
||
|
|
<td><u>69.7</u></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td>InternVL3-38B</td>
|
||
|
|
<td>22.8</td>
|
||
|
|
<td>64.6</td>
|
||
|
|
<td>47.9</td>
|
||
|
|
<td>18.1</td>
|
||
|
|
<td>47.2</td>
|
||
|
|
<td>20.5</td>
|
||
|
|
<td>62.7</td>
|
||
|
|
<td>43.8</td>
|
||
|
|
<td>20.2</td>
|
||
|
|
<td>39.4</td>
|
||
|
|
<td>25.5</td>
|
||
|
|
<td>90.7</td>
|
||
|
|
<td>53.5</td>
|
||
|
|
<td>33.1</td>
|
||
|
|
<td>55.2</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td><strong>Lingshu-32B</strong></td>
|
||
|
|
<td><strong>28.8</strong></td>
|
||
|
|
<td><strong>96.4</strong></td>
|
||
|
|
<td><strong>50.8</strong></td>
|
||
|
|
<td><strong>30.1</strong></td>
|
||
|
|
<td><strong>67.1</strong></td>
|
||
|
|
<td><strong>25.3</strong></td>
|
||
|
|
<td><strong>75.9</strong></td>
|
||
|
|
<td>43.4</td>
|
||
|
|
<td><strong>24.2</strong></td>
|
||
|
|
<td><strong>47.1</strong></td>
|
||
|
|
<td><strong>42.8</strong></td>
|
||
|
|
<td><strong>189.2</strong></td>
|
||
|
|
<td><strong>63.5</strong></td>
|
||
|
|
<td><strong>54.6</strong></td>
|
||
|
|
<td><strong>130.4</strong></td>
|
||
|
|
</tr>
|
||
|
|
</tbody>
|
||
|
|
</table>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
### Usage
|
||
|
|
|
||
|
|
#### Using transformers (version 4.52.1 is recommended)
|
||
|
|
```python
|
||
|
|
from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
|
||
|
|
from qwen_vl_utils import process_vision_info
|
||
|
|
|
||
|
|
|
||
|
|
# We recommend enabling flash_attention_2 for better acceleration and memory saving, especially in multi-image and video scenarios.
|
||
|
|
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
|
||
|
|
"lingshu-medical-mllm/Lingshu-7B",
|
||
|
|
torch_dtype=torch.bfloat16,
|
||
|
|
attn_implementation="flash_attention_2",
|
||
|
|
device_map="auto",
|
||
|
|
)
|
||
|
|
|
||
|
|
processor = AutoProcessor.from_pretrained("lingshu-medical-mllm/Lingshu-7B")
|
||
|
|
|
||
|
|
messages = [
|
||
|
|
{
|
||
|
|
"role": "user",
|
||
|
|
"content": [
|
||
|
|
{
|
||
|
|
"type": "image",
|
||
|
|
"image": "example.png",
|
||
|
|
},
|
||
|
|
{"type": "text", "text": "Describe this image."},
|
||
|
|
],
|
||
|
|
}
|
||
|
|
]
|
||
|
|
|
||
|
|
# Preparation for inference
|
||
|
|
text = processor.apply_chat_template(
|
||
|
|
messages, tokenize=False, add_generation_prompt=True
|
||
|
|
)
|
||
|
|
image_inputs, video_inputs = process_vision_info(messages)
|
||
|
|
inputs = processor(
|
||
|
|
text=[text],
|
||
|
|
images=image_inputs,
|
||
|
|
videos=video_inputs,
|
||
|
|
padding=True,
|
||
|
|
return_tensors="pt",
|
||
|
|
)
|
||
|
|
inputs = inputs.to(model.device)
|
||
|
|
|
||
|
|
# Inference: Generation of the output
|
||
|
|
generated_ids = model.generate(**inputs, max_new_tokens=128)
|
||
|
|
generated_ids_trimmed = [
|
||
|
|
out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
|
||
|
|
]
|
||
|
|
output_text = processor.batch_decode(
|
||
|
|
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
|
||
|
|
)
|
||
|
|
print(output_text)
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
#### Using vLLM
|
||
|
|
```python
|
||
|
|
from vllm import LLM, SamplingParams
|
||
|
|
from qwen_vl_utils import process_vision_info
|
||
|
|
import PIL
|
||
|
|
from transformers import AutoProcessor
|
||
|
|
|
||
|
|
processor = AutoProcessor.from_pretrained("lingshu-medical-mllm/Lingshu-7B")
|
||
|
|
llm = LLM(model="lingshu-medical-mllm/Lingshu-7B", limit_mm_per_prompt = {"image": 4}, tensor_parallel_size=2, enforce_eager=True, trust_remote_code=True,)
|
||
|
|
sampling_params = SamplingParams(
|
||
|
|
temperature=0.7,
|
||
|
|
top_p=1,
|
||
|
|
repetition_penalty=1,
|
||
|
|
max_tokens=1024,
|
||
|
|
stop_token_ids=[],
|
||
|
|
)
|
||
|
|
|
||
|
|
text = "What does the image show?"
|
||
|
|
image_path = "example.png"
|
||
|
|
image = PIL.Image.open(image_path)
|
||
|
|
|
||
|
|
message = [
|
||
|
|
{
|
||
|
|
"role":"user",
|
||
|
|
"content":[
|
||
|
|
{"type":"image","image":image},
|
||
|
|
{"type":"text","text":text}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
]
|
||
|
|
prompt = processor.apply_chat_template(
|
||
|
|
message,
|
||
|
|
tokenize=False,
|
||
|
|
add_generation_prompt=True,
|
||
|
|
)
|
||
|
|
image_inputs, video_inputs = process_vision_info(message)
|
||
|
|
mm_data = {}
|
||
|
|
mm_data["image"] = image_inputs
|
||
|
|
processed_input = {
|
||
|
|
"prompt": prompt,
|
||
|
|
"multi_modal_data": mm_data,
|
||
|
|
}
|
||
|
|
|
||
|
|
outputs = llm.generate([processed_input], sampling_params=sampling_params)
|
||
|
|
print(outputs[0].outputs[0].text)
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
## Citation
|
||
|
|
|
||
|
|
If you find our project useful, we hope you would kindly star our repo and cite our work as follows:
|
||
|
|
|
||
|
|
```
|
||
|
|
@article{xu2025lingshu,
|
||
|
|
title={Lingshu: A Generalist Foundation Model for Unified Multimodal Medical Understanding and Reasoning},
|
||
|
|
author={Xu, Weiwen and Chan, Hou Pong and Li, Long and Aljunied, Mahani and Yuan, Ruifeng and Wang, Jianyu and Xiao, Chenghao and Chen, Guizhen and Liu, Chaoqun and Li, Zhaodonghui and others},
|
||
|
|
journal={arXiv preprint arXiv:2506.07044},
|
||
|
|
year={2025}
|
||
|
|
}
|
||
|
|
```
|