# surya-ocr-2 by Datalab: Open-Weight Model
Source: https://savrn.com/models/surya-ocr-2
Markdown alternate of the page above; the site index is https://savrn.com/llms.txt

---

## Runs On

What it takes to serve surya-ocr-2 (686M parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

| Precision | Weights | Memory needed | Cheapest setup | Per hour | Also fits |
| --- | --- | --- | --- | --- | --- |
| 16-bit | 1.4 GB | 1.6 GB | 1x [MI300X](https://savrn.com/ai-index/pricing/gpus/mi300x) (192 GB) Vultr | $1.85 | [1x H100](https://savrn.com/ai-index/pricing/gpus/h100) $1.99 · [1x MI325X](https://savrn.com/ai-index/pricing/gpus/mi325x) $2.00 |
| 8-bit | 0.7 GB | 0.8 GB | 1x [MI300X](https://savrn.com/ai-index/pricing/gpus/mi300x) (192 GB) Vultr | $1.85 | [1x H100](https://savrn.com/ai-index/pricing/gpus/h100) $1.99 · [1x MI325X](https://savrn.com/ai-index/pricing/gpus/mi325x) $2.00 |
| 4-bit | 0.3 GB | 0.4 GB | 1x [MI300X](https://savrn.com/ai-index/pricing/gpus/mi300x) (192 GB) Vultr | $1.85 | [1x H100](https://savrn.com/ai-index/pricing/gpus/h100) $1.99 · [1x MI325X](https://savrn.com/ai-index/pricing/gpus/mi325x) $2.00 |

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the [SAVRN Index](https://savrn.com/ai-index/pricing/gpus), read Oct 22, 2026.

[surya-ocr-2 on every accelerator the SAVRN Index prices, at every precision](https://savrn.com/models/surya-ocr-2/gpus)

## SAVRN's Notes on surya-ocr-2

A context window of 262,144 tokens on a 686M parameter OCR model tells you what Datalab built it for: whole documents, with layout, reading order and table rows and columns alongside the text. The 16-bit weights are 1.4 GB and need 1.6 GB; 8-bit needs 0.8 GB, 4-bit 0.4 GB. The cheapest setup in our data is one MI300X with 192 GB at $1.85 per hour, so one card runs many instances side by side and the buying question is pages per hour per dollar.

Open RAIL permits commercial use subject to use-based restrictions you must pass on to anyone who receives the model or a derivative, so read that list before it goes into a product. Then check the model card's own olmOCR-bench numbers, 83.3 overall but 41.8 on old scans, against your scanned backfile. The publisher calls it 650M parameters while the configuration counts 686M.

SAVRN Research, 2026-09-18

## Model Card

By Datalab, published under openrail, revision 3b3d4cdf88d6.

### Datalab

State of the Art models for Document Intelligence

### Surya

Surya is a 650M param OCR model with these features:

- Accuracy - scores 83.3% on [olmOCR-bench](https://huggingface.co/datasets/allenai/olmOCR-bench) (top under 3B params)
- Speed - throughput of 5 pages/s on an RTX 5090
- Multilingual - scores 87.2% on an internal benchmark set of 91 languages (more here)
- Layout analysis (table, image, header, etc.) with reading order
- Table recognition (rows + columns)

It works on a range of documents (see usage and benchmarks).

### Try Datalab's Managed Platform

Our managed platform runs both Surya, and variants of our highest accuracy model, [Chandra](https://github.com/datalab-to/chandra).

Get started with $5 in free credits — [sign up](https://www.datalab.to/?utm_source=gh-surya) (takes under 30 seconds) or try our free [public playground](https://www.datalab.to/playground?utm_source=gh-surya).

### Model Information

| Detection | OCR |
| --- | --- |

| Layout | Table Recognition |
| --- | --- |

Surya is named for the [Hindu sun god](https://en.wikipedia.org/wiki/Surya), who has universal vision.

### Examples

[Read the full model card (2,491 words)](https://savrn.com/models/surya-ocr-2/card)

## Configuration

Architecture

Qwen3_5ForConditionalGeneration

Context length (tokens)

262,144

Layers

24

Hidden size

1,024

Feed-forward size

3,584

Attention heads

8

Key/value heads

2

Head dimension

256

Vocabulary size

65,425

Model type

qwen3_5

## Identity and Version

Repository

datalab-to/surya-ocr-2

Publisher

Datalab

Task

Image and text to text

Modality

Image and text

Library

transformers

Parameters

686M parameters

Languages

ocr, pdf

Revision

3b3d4cdf88d6928b0acdc75181b13206ea67c4a3

First published

2026-05-14

Last updated

2026-05-27

## Files and Weights

42 files, 1.4 GB in total. The weights are 1 file totalling 1.4 GB in safetensors.

Weights1 file · 1.4 GB

Configuration6 files · 6.8 KB

Tokenizer2 files · 1.7 MB

Documentation2 files · 37.3 KB

Other30 files · 25.5 MB

Repository1 file · 3.0 KB

Every file

| File | Type | Size | SHA-256 |
| --- | --- | --- | --- |
| model.safetensors | Weights | 1.4 GB | 5755f82a997d |
| .eval_results/olmocrbench.yaml | Configuration | 1.7 KB | — |
| config.json | Configuration | 2.6 KB | — |
| generation_config.json | Configuration | 131 B | — |
| preprocessor_config.json | Configuration | 482 B | — |
| processor_config.json | Configuration | 1.3 KB | — |
| video_preprocessor_config.json | Configuration | 615 B | — |
| LICENSE | Documentation | 14.7 KB | — |
| README.md | Documentation | 22.5 KB | — |
| assets/corporate.png | Other | 168.2 KB | 03e5004c5ee8 |
| assets/corporate_layout.png | Other | 167.4 KB | c472d16817b8 |
| assets/corporate_reading.png | Other | 168.2 KB | fa9471e99827 |
| assets/corporate_tablerec.png | Other | 163.1 KB | c1861b87e15f |
| assets/corporate_text.png | Other | 166.2 KB | 893c5924fe66 |
| assets/excerpt.png | Other | 338.8 KB | 9d1913fc79fb |
| assets/excerpt_layout.png | Other | 345.4 KB | 924b81dba774 |
| assets/excerpt_text.png | Other | 542.6 KB | baddec3a08b6 |
| assets/form.png | Other | 513.3 KB | 60fb6bfde4d7 |
| assets/form_layout.png | Other | 508.0 KB | 631c09dc21bd |
| assets/form_reading.png | Other | 518.7 KB | e88bac7fb15d |
| assets/form_tablerec.png | Other | 511.5 KB | d799c78d495c |
| assets/form_text.png | Other | 329.5 KB | 7c40b7233926 |
| assets/handwritten.png | Other | 178.5 KB | 3c7623a26db0 |
| assets/handwritten_layout.png | Other | 184.7 KB | ad0e4ae387b8 |
| assets/handwritten_reading.png | Other | 185.4 KB | 5cc6662224ca |
| assets/handwritten_tablerec.png | Other | 171.2 KB | 5e3f7820dc76 |
| assets/handwritten_text.png | Other | 298.5 KB | 9686cfab491a |
| assets/newspaper.png | Other | 5.6 MB | 1a07a43797b7 |
| assets/newspaper_layout.png | Other | 5.6 MB | 139c8fd41152 |
| assets/newspaper_reading.png | Other | 5.6 MB | c18c2eb0c39d |
| assets/newspaper_text.png | Other | 1.9 MB | 364de91c602c |
| assets/olmocr_size_chart.png | Other | 82.5 KB | 34addebba231 |
| assets/scanned_tablerec.png | Other | 345.5 KB | 86091b59d376 |
| assets/textbook.png | Other | 193.1 KB | 0070c7f61aae |
| assets/textbook_layout.png | Other | 194.9 KB | 2711fcd2183f |
| assets/textbook_reading.png | Other | 200.8 KB | 81d14c7a6d77 |
| assets/textbook_text.png | Other | 225.7 KB | 7950d981fdf9 |
| chat_template.jinja | Other | 2.9 KB | — |
| datalab-logo.png | Other | 6.2 KB | — |
| .gitattributes | Repository | 3.0 KB | — |
| tokenizer.json | Tokenizer | 1.7 MB | — |
| tokenizer_config.json | Tokenizer | 571 B | — |

## License and Download

License

openrail

Access

Open weights, no gate

Download size

1.4 GB

[Download from Datalab](https://huggingface.co/datalab-to/surya-ocr-2)

Released by Datalab through its official repository on Hugging Face. [Read the license](https://www.licenses.ai/).

## Built From

- Described by [arXiv:2105.15203](https://savrn.com/papers/segformer-simple-and-efficient-design-for-semantic-segmentation-with-transformers)

## Evaluations

Each result is shown as reported, with the conditions its reporter stated. None is a SAVRN measurement. A comparison lines two results up only when their configuration, unit and setup are all stated and identical.

| Benchmark | Conditions | Result | Reported by | Revision | Date |
| --- | --- | --- | --- | --- | --- |
| allenai/olmOCR-bench | Task arxiv_mathMetric arxiv_mathComparison conditions not established | 88.3 | [Surya OCR 2 Model Card](https://huggingface.co/datalab-to/surya-ocr-2) Reported by a third party | Evaluated revision not stated | 2026-05-27 |
| allenai/olmOCR-bench | Task baselineMetric baselineComparison conditions not established | 99.7 | [Surya OCR 2 Model Card](https://huggingface.co/datalab-to/surya-ocr-2) Reported by a third party | Evaluated revision not stated | 2026-05-27 |
| allenai/olmOCR-bench | Task headers_footersMetric headers_footersComparison conditions not established | 92.5 | [Surya OCR 2 Model Card](https://huggingface.co/datalab-to/surya-ocr-2) Reported by a third party | Evaluated revision not stated | 2026-05-27 |
| allenai/olmOCR-bench | Task long_tiny_textMetric long_tiny_textComparison conditions not established | 93.7 | [Surya OCR 2 Model Card](https://huggingface.co/datalab-to/surya-ocr-2) Reported by a third party | Evaluated revision not stated | 2026-05-27 |
| allenai/olmOCR-bench | Task multi_columnMetric multi_columnComparison conditions not established | 82.4 | [Surya OCR 2 Model Card](https://huggingface.co/datalab-to/surya-ocr-2) Reported by a third party | Evaluated revision not stated | 2026-05-27 |
| allenai/olmOCR-bench | Task old_scansMetric old_scansComparison conditions not established | 41.8 | [Surya OCR 2 Model Card](https://huggingface.co/datalab-to/surya-ocr-2) Reported by a third party | Evaluated revision not stated | 2026-05-27 |
| allenai/olmOCR-bench | Task old_scans_mathMetric old_scans_mathComparison conditions not established | 81.4 | [Surya OCR 2 Model Card](https://huggingface.co/datalab-to/surya-ocr-2) Reported by a third party | Evaluated revision not stated | 2026-05-27 |
| allenai/olmOCR-bench | Task overallMetric overallComparison conditions not established | 83.3 | [Surya OCR 2 Model Card](https://huggingface.co/datalab-to/surya-ocr-2) Reported by a third party | Evaluated revision not stated | 2026-05-27 |
| allenai/olmOCR-bench | Task table_testsMetric table_testsComparison conditions not established | 86.6 | [Surya OCR 2 Model Card](https://huggingface.co/datalab-to/surya-ocr-2) Reported by a third party | Evaluated revision not stated | 2026-05-27 |
| llamaindex/ParseBench | Task chartMetric chartSetup Pipeline name: surya2_sdkComparison conditions not established | 21.95 | [ParseBench](https://huggingface.co/datasets/llamaindex/ParseBench) Reported by a third party | Evaluated revision not stated | 2026-06-01 |
| llamaindex/ParseBench | Task layoutMetric layoutSetup Pipeline name: surya2_sdkComparison conditions not established | 71.59 | [ParseBench](https://huggingface.co/datasets/llamaindex/ParseBench) Reported by a third party | Evaluated revision not stated | 2026-06-01 |
| llamaindex/ParseBench | Task meanMetric meanSetup Pipeline name: surya2_sdkComparison conditions not established | 64.83 | [ParseBench](https://huggingface.co/datasets/llamaindex/ParseBench) Reported by a third party | Evaluated revision not stated | 2026-06-01 |
| llamaindex/ParseBench | Task tableMetric tableSetup Pipeline name: surya2_sdkComparison conditions not established | 82.68 | [ParseBench](https://huggingface.co/datasets/llamaindex/ParseBench) Reported by a third party | Evaluated revision not stated | 2026-06-01 |
| llamaindex/ParseBench | Task text_contentMetric text_contentSetup Pipeline name: surya2_sdkComparison conditions not established | 86.57 | [ParseBench](https://huggingface.co/datasets/llamaindex/ParseBench) Reported by a third party | Evaluated revision not stated | 2026-06-01 |
| llamaindex/ParseBench | Task text_formattingMetric text_formattingSetup Pipeline name: surya2_sdkComparison conditions not established | 61.36 | [ParseBench](https://huggingface.co/datasets/llamaindex/ParseBench) Reported by a third party | Evaluated revision not stated | 2026-06-01 |

## Memory Requirements

| Precision | Weights in memory |
| --- | --- |
| As published | 1.4 GB |
| 16-bit | 1.4 GB |
| 8-bit | 0.7 GB |
| 4-bit | 0.3 GB |

Weights only, from the published parameter count; the key-value cache and runtime add to this.

## Compare surya-ocr-2

- [Florence-2-base vs surya-ocr-2](https://savrn.com/models/compare/florence-2-base-vs-surya-ocr-2)

## Questions About surya-ocr-2

### How much GPU memory does surya-ocr-2 need?

About 1.6 GB at 16-bit and 0.4 GB at 4-bit: the weights (686M parameters) plus a working margin. A long context needs more.

### What is the cheapest GPU to run surya-ocr-2 on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

### Can I use surya-ocr-2 commercially?

Yes, with conditions. surya-ocr-2 is released under Open RAIL License. Open RAIL licenses permit use, including commercial use, subject to the use-based restrictions listed in the license, which must be passed on to anyone who receives the model or a derivative.

### What is surya-ocr-2's context length?

262,144 tokens, from the maximum position embeddings in its published configuration.

## Similar Models

Model · Image and text to text

### [ffmpeg-nl2cmd-0.8B](https://savrn.com/models/ffmpeg-nl2cmd-0-8b)

[Joe Maddalone](https://savrn.com/model-publishers/joemaddalone)

Open weights 853M parameters transformers

[View model](https://savrn.com/models/ffmpeg-nl2cmd-0-8b)

Model · Image and text to text

### [Valen-0.8B](https://savrn.com/models/valen-0-8b)

[Valen](https://savrn.com/model-publishers/valen-team)

Qwen3.5 with a two-layer MLP-Mixer decision head. Supports text, images and videos, and returns Choice, Noul and Score decisions. Multiple questions can share one state encoding with execution="sharedstate". Trained on millions of samples. Install Python 3.10+, PyTorch, Transformers 5.4.0, torchvision, Pillow and av. Flash Attention 2 is optional with a compatible CUDA build. The model contains its tokenizer, processor and custom inference code; a separate base-model download is unnecessary. Use attnimplementation="flashattention2" for Flash Attention, or execution="question" for independent questions. Video defaults to 16 frames. Image/video request examples and training instructions are…

Open weights apache-2.0 854M parameters 262,144 tokens transformers

[View model](https://savrn.com/models/valen-0-8b)

Model · Image and text to text

### [SmolVLM2-500M-Video-Instruct](https://savrn.com/models/smolvlm2-500m-video-instruct)

[Hugging Face Smol Models Research](https://savrn.com/model-publishers/huggingfacetb)

SmolVLM2-500M-Video is a lightweight multimodal model designed to analyze video content. The model processes videos, images, and text inputs to generate text outputs - whether answering questions about media files, comparing visual content, or transcribing text from images. Despite its compact size, requiring only 1.8GB of GPU RAM for video inference, it delivers robust performance on complex multimodal tasks. This efficiency makes it particularly well-suited for on-device applications where computational resources may be limited. SmolVLM2 can be used for inference on multimodal (video / image / text) tasks where the input consists of text queries along with video or one or more images.…

Open weights apache-2.0 507M parameters 8,192 tokens transformers

[View model](https://savrn.com/models/smolvlm2-500m-video-instruct)

Model · Image and text to text

### [Qwen3.5-0.8B](https://savrn.com/models/qwen3-5-0-8b)

[Qwen](https://savrn.com/model-publishers/qwen)

Over recent months, we have intensified our focus on developing foundation models that deliver exceptional utility and performance. Qwen3.5 represents a significant leap forward, integrating breakthroughs in multimodal learning, architectural efficiency, reinforcement learning scale, and global accessibility to empower developers and enterprises with unprecedented capability and efficiency. For more details, please refer to our blog post Qwen3.5. WMT24++: a harder subset of WMT24 after difficulty labeling and rebalancing; we report the averaged scores on 55 languages using XCOMET-XXL. Empty cells (--) indicate scores not yet available or not applicable. Scores of Qwen3.5 models are reported…

Open weights apache-2.0 873M parameters 262,144 tokens transformers

[View model](https://savrn.com/models/qwen3-5-0-8b)

Model · Image and text to text

### [povl-opd-scale05](https://savrn.com/models/povl-opd-scale05)

[Cheney Wong](https://savrn.com/model-publishers/cheneywong)

On-policy distillation. The weight delta learned by the teacher was merged into the SFT base with an extra scale of 0.5, the best point of an alpha sweep (0.25 -> +0.32, 0.5 -> +0.44, 0.75 -> -0.29, 1.5 -> -3.01 with t = -12.42). Fine-tuned from CheneyWong/povl-sft-2d-merge, which is NOT the RL checkpoint -- the teacher delta was merged into the SFT base, which is why it neither clearly beats nor clearly follows round 2. Base = the unmodified base model. Public datasets only; the project's self-built benchmarks are excluded. (~0.22 here) measures how well the model reproduces empty cells and should be ignored -- a perturbation test shows a structurally perfect prediction that correctly…

Open weights apache-2.0 906M parameters 131,072 tokens transformers

[View model](https://savrn.com/models/povl-opd-scale05)

Model · Image and text to text

### [povl-rl-gsapo-200](https://savrn.com/models/povl-rl-gsapo-200)

[Cheney Wong](https://savrn.com/model-publishers/cheneywong)

Reinforcement learning round 2, GSAPO, 200 steps. The delivered model of that round. Equal-weight TEDS 0.8473 / TEDS-Struct 0.9078 over 33,545 samples. Fine-tuned from CheneyWong/povl-rl-dapo-400, which is RL round 1 -- the stages form a single linear chain. Base = the unmodified base model. Public datasets only; the project's self-built benchmarks are excluded. (~0.22 here) measures how well the model reproduces empty cells and should be ignored -- a perturbation test shows a structurally perfect prediction that correctly reads the visible text scores 0.33 TEDS / 1.00 TEDS-S. Only the TEDS-S column is meaningful for that dataset. Rejected at the gate. The one substantive gap: every…

Open weights apache-2.0 906M parameters 131,072 tokens transformers

[View model](https://savrn.com/models/povl-rl-gsapo-200)

## Datalab

[All models and datasets](https://savrn.com/model-publishers/datalab-to)

## Versions

- [3b3d4cdf88d6](https://savrn.com/models/surya-ocr-2/versions/3b3d4cdf88d6) · current 2026-10-22

## Explore More

- [All image and text to text models](https://savrn.com/models/tasks/image-and-text-to-text)
- [All models under openrail](https://savrn.com/models/licenses/openrail)
- [Model comparisons](https://savrn.com/models/comparisons)
- [The model directory](https://savrn.com/models)
- [Open model prices by host](https://savrn.com/ai-index/pricing/open-models)

## Source

- Repository metadata, read 2026-10-19.
- [Hugging Face record](https://huggingface.co/datalab-to/surya-ocr-2)
- [How the hub is built](https://savrn.com/model-hub/methodology)
