Update README.md
Browse files
README.md
CHANGED
|
@@ -1,199 +1,124 @@
|
|
| 1 |
---
|
| 2 |
library_name: transformers
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
---
|
| 5 |
|
| 6 |
-
#
|
| 7 |
|
| 8 |
-
<!-- Provide a quick summary of what the model is/does. -->
|
| 9 |
|
|
|
|
|
|
|
| 10 |
|
|
|
|
|
|
|
|
|
|
| 11 |
|
| 12 |
-
|
| 13 |
|
| 14 |
-
|
|
|
|
| 15 |
|
| 16 |
-
|
| 17 |
|
| 18 |
-
|
| 19 |
|
| 20 |
-
|
| 21 |
-
- **Funded by [optional]:** [More Information Needed]
|
| 22 |
-
- **Shared by [optional]:** [More Information Needed]
|
| 23 |
-
- **Model type:** [More Information Needed]
|
| 24 |
-
- **Language(s) (NLP):** [More Information Needed]
|
| 25 |
-
- **License:** [More Information Needed]
|
| 26 |
-
- **Finetuned from model [optional]:** [More Information Needed]
|
| 27 |
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
<!-- Provide the basic links for the model. -->
|
| 31 |
-
|
| 32 |
-
- **Repository:** [More Information Needed]
|
| 33 |
-
- **Paper [optional]:** [More Information Needed]
|
| 34 |
-
- **Demo [optional]:** [More Information Needed]
|
| 35 |
-
|
| 36 |
-
## Uses
|
| 37 |
-
|
| 38 |
-
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
|
| 39 |
-
|
| 40 |
-
### Direct Use
|
| 41 |
-
|
| 42 |
-
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
|
| 43 |
-
|
| 44 |
-
[More Information Needed]
|
| 45 |
-
|
| 46 |
-
### Downstream Use [optional]
|
| 47 |
-
|
| 48 |
-
<!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
|
| 49 |
-
|
| 50 |
-
[More Information Needed]
|
| 51 |
-
|
| 52 |
-
### Out-of-Scope Use
|
| 53 |
-
|
| 54 |
-
<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
|
| 55 |
-
|
| 56 |
-
[More Information Needed]
|
| 57 |
-
|
| 58 |
-
## Bias, Risks, and Limitations
|
| 59 |
-
|
| 60 |
-
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
| 61 |
-
|
| 62 |
-
[More Information Needed]
|
| 63 |
-
|
| 64 |
-
### Recommendations
|
| 65 |
-
|
| 66 |
-
<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
|
| 67 |
-
|
| 68 |
-
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
|
| 69 |
-
|
| 70 |
-
## How to Get Started with the Model
|
| 71 |
-
|
| 72 |
-
Use the code below to get started with the model.
|
| 73 |
-
|
| 74 |
-
[More Information Needed]
|
| 75 |
-
|
| 76 |
-
## Training Details
|
| 77 |
-
|
| 78 |
-
### Training Data
|
| 79 |
-
|
| 80 |
-
<!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
|
| 81 |
-
|
| 82 |
-
[More Information Needed]
|
| 83 |
-
|
| 84 |
-
### Training Procedure
|
| 85 |
-
|
| 86 |
-
<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
|
| 87 |
-
|
| 88 |
-
#### Preprocessing [optional]
|
| 89 |
-
|
| 90 |
-
[More Information Needed]
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
#### Training Hyperparameters
|
| 94 |
-
|
| 95 |
-
- **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
|
| 96 |
-
|
| 97 |
-
#### Speeds, Sizes, Times [optional]
|
| 98 |
-
|
| 99 |
-
<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
|
| 100 |
-
|
| 101 |
-
[More Information Needed]
|
| 102 |
-
|
| 103 |
-
## Evaluation
|
| 104 |
-
|
| 105 |
-
<!-- This section describes the evaluation protocols and provides the results. -->
|
| 106 |
-
|
| 107 |
-
### Testing Data, Factors & Metrics
|
| 108 |
-
|
| 109 |
-
#### Testing Data
|
| 110 |
-
|
| 111 |
-
<!-- This should link to a Dataset Card if possible. -->
|
| 112 |
-
|
| 113 |
-
[More Information Needed]
|
| 114 |
-
|
| 115 |
-
#### Factors
|
| 116 |
-
|
| 117 |
-
<!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
|
| 118 |
-
|
| 119 |
-
[More Information Needed]
|
| 120 |
-
|
| 121 |
-
#### Metrics
|
| 122 |
-
|
| 123 |
-
<!-- These are the evaluation metrics being used, ideally with a description of why. -->
|
| 124 |
-
|
| 125 |
-
[More Information Needed]
|
| 126 |
-
|
| 127 |
-
### Results
|
| 128 |
-
|
| 129 |
-
[More Information Needed]
|
| 130 |
-
|
| 131 |
-
#### Summary
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
## Model Examination [optional]
|
| 136 |
-
|
| 137 |
-
<!-- Relevant interpretability work for the model goes here -->
|
| 138 |
-
|
| 139 |
-
[More Information Needed]
|
| 140 |
-
|
| 141 |
-
## Environmental Impact
|
| 142 |
-
|
| 143 |
-
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
|
| 144 |
-
|
| 145 |
-
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
|
| 146 |
-
|
| 147 |
-
- **Hardware Type:** [More Information Needed]
|
| 148 |
-
- **Hours used:** [More Information Needed]
|
| 149 |
-
- **Cloud Provider:** [More Information Needed]
|
| 150 |
-
- **Compute Region:** [More Information Needed]
|
| 151 |
-
- **Carbon Emitted:** [More Information Needed]
|
| 152 |
-
|
| 153 |
-
## Technical Specifications [optional]
|
| 154 |
-
|
| 155 |
-
### Model Architecture and Objective
|
| 156 |
-
|
| 157 |
-
[More Information Needed]
|
| 158 |
-
|
| 159 |
-
### Compute Infrastructure
|
| 160 |
-
|
| 161 |
-
[More Information Needed]
|
| 162 |
|
| 163 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 164 |
|
| 165 |
-
|
| 166 |
|
| 167 |
-
|
|
|
|
|
|
|
|
|
|
| 168 |
|
| 169 |
-
|
| 170 |
|
| 171 |
-
##
|
|
|
|
|
|
|
|
|
|
| 172 |
|
| 173 |
-
|
| 174 |
|
| 175 |
-
|
|
|
|
|
|
|
| 176 |
|
| 177 |
-
|
|
|
|
|
|
|
|
|
|
| 178 |
|
| 179 |
-
|
|
|
|
|
|
|
|
|
|
| 180 |
|
| 181 |
-
|
|
|
|
|
|
|
| 182 |
|
| 183 |
-
|
|
|
|
|
|
|
| 184 |
|
| 185 |
-
|
| 186 |
|
| 187 |
-
|
| 188 |
|
| 189 |
-
|
|
|
|
|
|
|
| 190 |
|
| 191 |
-
|
| 192 |
|
| 193 |
-
##
|
| 194 |
|
| 195 |
-
|
|
|
|
| 196 |
|
| 197 |
-
|
| 198 |
|
| 199 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
library_name: transformers
|
| 3 |
+
language:
|
| 4 |
+
- en
|
| 5 |
+
- th
|
| 6 |
+
base_model:
|
| 7 |
+
- Qwen/Qwen2.5-VL-3B
|
| 8 |
+
tags:
|
| 9 |
+
- OCR
|
| 10 |
+
- vision-language
|
| 11 |
+
- document-understanding
|
| 12 |
+
- multilingual
|
| 13 |
+
- QAT
|
| 14 |
+
license: apache-2.0
|
| 15 |
---
|
| 16 |
|
| 17 |
+
# Typhoon-OCR-1.5-3B-QAT
|
| 18 |
|
|
|
|
| 19 |
|
| 20 |
+
A quantization-aware trained (QAT) version of [**Typhoon OCR v1.5**](https://huggingface.co/scb10x/typhoon-ocr1.5-2b), designed for robust and efficient on-device vision-language OCR in English and Thai.
|
| 21 |
+
This release maintains strong accuracy while significantly improving performance when running under low-bit quantization (e.g., 4-bit), making it ideal for lightweight environments.
|
| 22 |
|
| 23 |
+
This model is released in **bfloat16** and is intended to be used as the **pre-quantization base** before converting to low-bit formats.
|
| 24 |
+
For the 4-bit model, please use the Ollama build here:
|
| 25 |
+
**https://ollama.com/scb10x/typhoon-ocr1.5-3b**
|
| 26 |
|
| 27 |
+
QAT is applied on top of **Qwen2.5-VL-3B**, enabling improved stability and reduced degradation when deployed below 16-bit precision.
|
| 28 |
|
| 29 |
+
**4-bit Ollama version:** https://ollama.com/scb10x/typhoon-ocr1.5-3b
|
| 30 |
+
**Base FP16 model:** https://huggingface.co/scb10x/typhoon-ocr1.5-2b
|
| 31 |
|
| 32 |
+
**Try our demo available on [Demo](https://ocr.opentyphoon.ai/)**
|
| 33 |
|
| 34 |
+
**Code / Examples available on [Github](https://github.com/scb-10x/typhoon-ocr)**
|
| 35 |
|
| 36 |
+
**Release Blog available on [OpenTyphoon Blog](https://opentyphoon.ai/blog/en/typhoon-ocr-release)**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
|
| 38 |
+
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
|
| 40 |
+
## Highlights
|
| 41 |
+
- **Quantization-Aware Training (QAT):** Maintains strong OCR accuracy even under aggressive quantization.
|
| 42 |
+
- **Optimized for On-Device Inference:** Faster and more consistent performance on low-resource hardware.
|
| 43 |
+
- **Enhanced Handwriting & Form Parsing:** Retains the v1.5 improvements in handling handwritten notes, forms, irregular layouts, and structured documents.
|
| 44 |
+
- **Supports Text-Rich & Image-Rich Documents:** Effective on tables, diagrams, annotated pages, charts, receipts, and dense reports.
|
| 45 |
+
- **Thai + English Multilingual OCR:** Trained for reliable extraction across bilingual real-world documents.
|
| 46 |
|
| 47 |
+
---
|
| 48 |
|
| 49 |
+
## Intended Use
|
| 50 |
+
This is a **task-specific OCR model** and is intended to be used **only with the provided prompt format**.
|
| 51 |
+
It does **not** include general VQA or safety guardrails.
|
| 52 |
+
Some hallucination may still occur, and users should validate outputs for production scenarios.
|
| 53 |
|
| 54 |
+
---
|
| 55 |
|
| 56 |
+
## Quick Links
|
| 57 |
+
- **Demo:** https://ocr.opentyphoon.ai
|
| 58 |
+
- **Code / Examples:** https://github.com/scb-10x/typhoon-ocr
|
| 59 |
+
- **Release Blog:** https://opentyphoon.ai/blog/en/typhoon-ocr-release
|
| 60 |
|
| 61 |
+
---
|
| 62 |
|
| 63 |
+
## Prompting
|
| 64 |
+
```python
|
| 65 |
+
prompt = """Extract all text from the image.
|
| 66 |
|
| 67 |
+
Instructions:
|
| 68 |
+
- Only return the clean Markdown.
|
| 69 |
+
- Do not include any explanation or extra text.
|
| 70 |
+
- You must include all information on the page.
|
| 71 |
|
| 72 |
+
Formatting Rules:
|
| 73 |
+
- Tables: Render tables using <table>...</table> in clean HTML format.
|
| 74 |
+
- Equations: Render equations using LaTeX syntax with inline ($...$) and block ($$...$$).
|
| 75 |
+
- Images/Charts/Diagrams: Wrap any clearly defined visual areas (e.g. charts, diagrams, pictures) in:
|
| 76 |
|
| 77 |
+
<figure>
|
| 78 |
+
Describe the image's main elements (people, objects, text), note any contextual clues (place, event, culture), mention visible text and its meaning, provide deeper analysis when relevant (especially for financial charts, graphs, or documents), comment on style or architecture if relevant, then give a concise overall summary. Describe in Thai.
|
| 79 |
+
</figure>
|
| 80 |
|
| 81 |
+
- Page Numbers: Wrap page numbers in <page_number>...</page_number> (e.g., <page_number>14</page_number>).
|
| 82 |
+
- Checkboxes: Use ☐ for unchecked and ☑ for checked boxes."""
|
| 83 |
+
```
|
| 84 |
|
| 85 |
+
---
|
| 86 |
|
| 87 |
+
## Quickstart (Ollama)
|
| 88 |
|
| 89 |
+
```
|
| 90 |
+
ollama run scb10x/typhoon-ocr1.5-3b
|
| 91 |
+
```
|
| 92 |
|
| 93 |
+
---
|
| 94 |
|
| 95 |
+
## Support & Community
|
| 96 |
|
| 97 |
+
* Twitter: [https://twitter.com/opentyphoon](https://twitter.com/opentyphoon)
|
| 98 |
+
* Discord: [https://discord.gg/us5gAYmrxw](https://discord.gg/us5gAYmrxw)
|
| 99 |
|
| 100 |
+
---
|
| 101 |
|
| 102 |
+
## Citation
|
| 103 |
+
|
| 104 |
+
If you use Typhoon OCR or Typhoon models, please cite:
|
| 105 |
+
|
| 106 |
+
```
|
| 107 |
+
@misc{typhoon2,
|
| 108 |
+
title={Typhoon 2: A Family of Open Text and Multimodal Thai Large Language Models},
|
| 109 |
+
author={Kunat Pipatanakul et al.},
|
| 110 |
+
year={2024},
|
| 111 |
+
eprint={2412.13702},
|
| 112 |
+
archivePrefix={arXiv},
|
| 113 |
+
primaryClass={cs.CL}
|
| 114 |
+
}
|
| 115 |
+
|
| 116 |
+
@misc{nonesung2025thaiocrbench,
|
| 117 |
+
title={ThaiOCRBench: A Task-Diverse Benchmark for Vision-Language Understanding in Thai},
|
| 118 |
+
author={Surapon Nonesung et al.},
|
| 119 |
+
year={2025},
|
| 120 |
+
eprint={2511.04479},
|
| 121 |
+
archivePrefix={arXiv},
|
| 122 |
+
primaryClass={cs.CL}
|
| 123 |
+
}
|
| 124 |
+
```
|