OCR & document AI updates


There's been a lot of new releases about documents. Here's the lightning version for the 5 of them (for more detail and videos go to my news feed).

Also - Joe Barrow and I will be livestreaming a dive into post processing for OCR and the recent & related paper, Miner U Popo, tomorrow. Sign up here if you want a calendar invite with a link so you don't miss it.

PP-DocLayoutV3: Reading Order and Warped Text

Layout parsers often work sequentially (figure out block 1, then block 2, then block 3, etc.). In this model they predict which block is first, for each pair of blocks. Then they sort based on how many likely blocks are before it to get reading order. And they do block calculation and reading order predictions in 1 model (OmniDocBench saw ordering errors go from 0.189 to 0.041 by combining)

They also do segmentation which means the bounding boxes can be curved, angled, or warped. Very useful if photos aren't straight on (phone pic of an ID, security cam, robotics) or if the actual surface isn't straight (crooked scans, OCR on shampoo bottle, etc.)

Index documents with a large model, query with a small one

Perplexity released a 9B and 0.6B embedding models. Normally you must use the same model that you embed your documents with to embed your queries when users search. But in this case the models are trained to be compatible so you can use the big one for documents in advance, but the fast one for snappy user queries or queries on device.

OmniParseBench: look at the pages, not just the scores

Datalab's new benchmark gives separate scores for tables, handwriting, and handwritten tables, and shows how many tests each score is based on. They publish the data, tests, and scoring code. I like this benchmark a lot, but you still need to look at the pages and see whether they look like your documents. A bit of a grain of salt because it's parsing vendor making a parsing benchmark, but it looks like they are trying really hard to be fair.

MinerU-Popo: headings need the whole document

Most approaches, especially modern VLMs, read a PDF one page at a time. But PDF pages aren't really independent like that, so it causes errors like incorrect heading levels, or broken tables that span pages. MinerU-Popo works out which extracted text, tables, and images belong together across pages. For retrieval, that gives you a section with all the supporting material. Reminder, join our livestream for more details on this and what cases specifically it helps.

Xiaomi: a council of OCR models

Xiaomi used a council of eight OCR models to create training data for their OCR model. Basically, disputed examples go through extra Qwen checks for repair, then back through the agreement check, with human review if agreement is still too low. I like that they're not assuming their repair path works, but agreement doesn't really mean they're agreeing on the right answer.

You can find the full takes and sources here: https://isaacflath.com/news​

- Isaac

Isaac Flath

Every post comes from something I've done on a real project. AI tools, development approaches, how I actually build things. You're getting a curation of my taste, not takes on stuff I don't use. Subscribers also get extras: things that went wrong, how my thinking about AI is changing, hacky workflows I use every day, and the occasional personal update. Stuff I share with subscribers because it's a little too personal or unpolished to blast across the internet.

Read more from Isaac Flath

Hey, Registration for PDF to Production closes tomorrow, November 13. Joe Barrow and I teach this Saturday, November 14, from 10 a.m. to 6 p.m. Eastern. It’s $500, including recordings, notebooks, $1200 of vendor credits, and 30 days of follow-up support. See the curriculum and register: https://isaacflath.com/pdf2production If you'd rather stick to free resources and piece things together yourself, check out the Document Roadmap. It goes through an overview of key misconceptions and key...

Hey, There's been a ton of valid skepticism around benchmarks recently, but there's a lot of good reason for optimism too! Joe and I are going to discuss one of those in the document space, which is how unit tests are being used in benchmarks. And all of this is applicable to your own product's evals. After all, a benchmark is just another person's evals 😅. This Wednesday, Joe and I are discussing why unit tests make strong OCR benchmarks and how to design them. We’ll work through examples...

Hey, I wanted to understand how decision models (like Jev) actually work in detail. I use them a ton, and it's clear they're going to be a key part of software moving forward. Joe and I spent an hour going through all of that, using Perplexity Decider (OSS decision model) to go through the architecture. The talk walks through how this is built: Turning a decoder model into an encoder by changing its full-attention layers. Replacing the language-modeling head with a small head that produces...