Model reference · open weights
BaichuanMed-OCR is an open-weight language model from baichuan-inc. BaichuanMed-OCR-7B (BF16) weighs 16.6 GB; the smallest configuration that runs it is 2× RTX 3060 12 GB.
Summary of the baichuan-inc/BaichuanMed-OCR-7B model card, 2026-10-01
What it is
| Released by | baichuan-inc |
|---|---|
| Released | 2025-04-07 |
| Parameters | 8.3B |
| VRAM | 16.6 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB … RTX 4060 Ti 16 GB 2 smaller cards | — | — | — | |
| RTX 3090 24 GB | 10 | 2 | 80K | 23.4 GB |
| RTX 4090 24 GB | 9 | 2 | 79K | 23.4 GB |
| RTX 5090 32 GB | 26 | 6 | all 125K | 31.0 GB |
| L40S 48 GB | 53 | 13 | all 125K | 44.0 GB |
| A100 80 GB | 126 | 31 | all 125K | 78.2 GB |
| H100 80 GB | 117 | 29 | all 125K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 150 | 37 | all 125K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 179 | 44 | all 125K | 107 GB |
| H200 141 GB | 244 | 61 | all 125K | 138 GB |
| B200 180 GB | 323 | 80 | all 125K | 176 GB |
| 2× RTX 3060 12 GB tensor parallel | 5 | 1 | 42K | 11.6 GB a card |
| 2× RTX 4060 Ti 16 GB tensor parallel | 21 | 5 | all 125K | 15.4 GB a card |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 19.1 GB | 20.6 GB |
| 5 | 21.0 GB | 28.1 GB |
| 8 | 22.4 GB | 33.7 GB |
| 16 | 26.2 GB | 48.7 GB |
| 32 | 33.7 GB | 78.8 GB |
| 64 | 48.7 GB | 139 GB |
One card, with vLLM's small-card settings.
Builds
| Build | Params | Precision | Weights | Smallest setup |
|---|---|---|---|---|
| BaichuanMed-OCR-7B (above) ↗ | 8.3B | BF16 | 16.6 GB | 2× RTX 3060 12 GB |
| BaichuanMed-OCR-72B ↗ | 73.4B | BF16 | 147 GB | 4× L40S 48 GB |
From the model card
BaichuanMed-OCR-7B is a model fine-tuned from the Qwen2.5-VL-7B-Instruct with our constructed and curated medical report datasets consists of medical report images and related questions and answers (QAs). It has been specifically adapted to perform Optical Character Recognition (OCR) on medical report images and answer questions based on the extracted content.
To evaluate the effectiveness of BaichuanMed-OCR-7B on specific medical report data, we conducted a benchmark test on our private dataset (similar in composition to https://huggingface.co/datasets/mrlijun/SMR-R1), comparing its performance against relevant baseline models. The accuracy results are as follows:
| Model | Acc% |
|---|---|
| Qwen2.5-VL-7B-Instruct | 71.3% |
| BaichuanMed-OCR-7B | 83.5% |
| Qwen2.5-VL-72B-Instruct | 83.3% |
| BaichuanMed-OCR-72B | 88.6% |
The benchmark results indicate that BaichuanMed-OCR-7B and BaichuanMed-OCR-72B achieves higher accuracy on this dataset, showing strong performance for tasks such as extracting key information and summarizing content from medical reports.
Usage is the same as Qwen2.5VL, here is an example to use the chat model with transformers and qwen_vl_utils:
from transformers import Qwen2_5_VLForConditionalGeneration, AutoTokenizer, AutoProcessor
from qwen_vl_utils import process_vision_info
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
"baichuan-inc/BaichuanMed-OCR-7B", torch_dtype="auto", device_map="auto"
)
# default processer
processor = AutoProcessor.from_pretrained("baichuan-inc/BaichuanMed-OCR-7B")
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"image": "your image url or PATH here.",
},
{"type": "text", "text": "提取图片中的文字和重要符号,有表格的就用表格输出。如果有水印,只需要识别一次,不要重复输出同样的水印内容。"},
],
}
]
# 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("cuda")
# Inference: Generation of the output
generated_ids = model.generate(**inputs, max_new_tokens=8192)
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)
If you find our work helpful, please cite it as follows:
@misc{lijun2025BaichuanMed-OCR-7B,
author = {Lijun Liu, Tao Zhang, Tao Zhang, Chong Li, Mingrui Wang, Chenglin Zhu, Mingan Lin, Zenan Zhou, Weipeng Chen},
title = {BaichuanMed-OCR-7B: A powerful medical report OCR recognition model},
year = {2025}
}
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.