# How we built a custom vision LLM to improve document processing at Grab

[Grab](https://yomu.fyi/company/grab) · Jia Chen · Nov 4, 2025

## Summary

Document processing for identity verification across Southeast Asia presents challenges due to varied layouts and non-Latin scripts. Traditional OCR and off-the-shelf vision models struggle with accuracy, high latency, or lack of regional language training data. Grab addressed this by creating synthetic regional datasets, using an automated labeling pipeline named Documint, and evaluating open-source multimodal architectures. After initial LoRA fine-tuning failed on complex scripts like Thai and Vietnamese, full-parameter fine-tuning of Qwen2-VL 2B yielded substantial gains. To optimize deployment costs and latency, the team constructed a custom 1B parameter model pairing a Qwen2-VL vision encoder with a Qwen2.5 0.5B language decoder, achieving performance within 3 percentage points of the 2B model at significantly lower latency.

## Takeaways

- LoRA adaptation succeeded on Latin scripts like Indonesian but struggled on non-Latin scripts, whereas full-parameter fine-tuning increased Thai document accuracy by 70 percentage points over baseline.
- The engineering team constructed a custom ~1B Vision LLM by connecting the vision encoder from Qwen2-VL 2B to the language decoder of Qwen2.5 0.5B via an aligned projector layer.
- Omitting language-specific visual synthetic data during training resulted in an accuracy drop of up to 10% on non-Latin documents.

**Tags:** [Data Pipelines](https://yomu.fyi/topic/data-pipelines), [LLMs](https://yomu.fyi/topic/llm), [Machine Learning](https://yomu.fyi/topic/machine-learning), [Performance](https://yomu.fyi/topic/performance)

[Read original post](https://engineering.grab.com/custom-vision-llm-at-grab)
