Kyc aml · Production

How Grab built a custom vision LLM to improve document processing for eKYC

The problem

Traditional OCR systems struggled with the diversity of Southeast Asian languages and document formats, while proprietary LLMs produced errors, hallucinations, and high latency, and open-source Vision LLMs lacked sufficient accuracy for production use in eKYC workflows.

First attempt

LoRA fine-tuning of Qwen2VL showed promising results for Latin-script documents but still struggled with Thai and Vietnamese documents and unstructured layouts with small, dense text, because open-source Vision LLMs lacked visual text in SEA languages during vision encoder training.

Workflow diagram · grounded in source
1
User document submission
trigger
“accurate extraction of information from user-submitted documents such as identification (ID) cards, driver's licenses, and registration certificates is a critical first step for processes like electronic know-your-customer (eKYC)”
2
Document detection and orientation
ai_action
“Detection module: Detect the region from the full picture. Orientation module: Gives correction angle (e.g. if document is upside down, 180 degrees).”
3
OCR text extraction
ai_action
“OCR module: Returns text values in unstructured format.”
4
Key information extraction
output
“KIE module: Returns JSON values from unstructured text.”
5
Human review of training labels
human_review
“The data was further refined by a human reviewer to achieve high label accuracy.”
Reported outcome

Grab's custom ~1B parameter Vision LLM achieved accuracy within 3pp of the larger 2B model, with Thai document accuracy improving +70pp and Vietnamese +40pp over baseline, while delivering latency that far outperforms traditional OCR models and external APIs.

Reported metrics
Thai document accuracy improvement+70pp from baseline
Vietnamese document accuracy improvement+40pp from baseline
Custom 1B model accuracy gap vs 2B modelwithin a 3pp accuracy gap
Model latency vs alternativesfar outperforms the 2B model, as well as traditional OCR models, as well as external APIs
Show all 6 reported metrics
Thai document accuracy improvement+70pp from baseline
Vietnamese document accuracy improvement+40pp from baseline
Custom 1B model accuracy gap vs 2B modelwithin a 3pp accuracy gap
Model latency vs alternativesfar outperforms the 2B model, as well as traditional OCR models, as well as external APIs
External API P99 vs P50 latency variance3 to 4x the P50 latency
Non-Latin accuracy drop without language-specific training stagedropped by as much as 10%
Reported stack
Qwen2.5 0.5BDocumintCommon Crawl
Source
https://engineering.grab.com/custom-vision-llm-at-grab
Read source ↗

Frequently asked questions

What did this team achieve with this AI workflow?

Grab's custom ~1B parameter Vision LLM achieved accuracy within 3pp of the larger 2B model, with Thai document accuracy improving +70pp and Vietnamese +40pp over baseline, while delivering latency that far outperforms…

What tools did this team use?

Qwen2.5 0.5B, Documint, Common Crawl.

What results were reported?

Thai document accuracy improvement: +70pp from baseline; Vietnamese document accuracy improvement: +40pp from baseline; Custom 1B model accuracy gap vs 2B model: within a 3pp accuracy gap; Model latency vs alternatives: far outperforms the 2B model, as well as traditional OCR models, as well as external APIs (source-reported, not independently verified).

What failed first in this deployment?

LoRA fine-tuning of Qwen2VL showed promising results for Latin-script documents but still struggled with Thai and Vietnamese documents and unstructured layouts with small, dense text, because open-source Vision LLMs l…

How is this kyc aml AI workflow structured?

User document submission → Document detection and orientation → OCR text extraction → Key information extraction → Human review of training labels.