返回资讯中心
外部精选
软件工程
#开发者实时流

Teaching a document parser to find its own blind spots

Anyone who has worked on document parsing knows the pattern. You fix a failure by hand, ship, and a week later the same kind of page shows up in a different file and fails the same way. Covering common layouts tells you…

Hacker News 最新jonah_reddick2026/10/21 · 16 天前8 分钟阅读

以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。

The SF Stack

Oct 21, 2026

Share

Anyone who has worked on document parsing knows the pattern. You fix a failure by hand, ship, and a week later the same kind of page shows up in a different file and fails the same way. Covering common layouts tells you little about what the next batch of documents will look like, and fixing a single output does not give the model enough examples to handle the next one on its own.

When we built OXR, our 1.3B document parsing model, we wanted the model's mistakes to decide what it learns next. The result is the recursive self-improvement (RSI) loop we use in post-training. To our knowledge, OXR is the first document parser trained this way.

The RSI loop used in OXR's post-training.

OXR parses unlabeled documents. A general vision-language model compares each page image with OXR's output and sorts samples into correct, wrong and uncertain.

Some weaknesses are harder to see. A prediction can look right once while the model is unstable on that same page. So OXR also parses each page several times. When those predictions disagree, the sample is flagged as uncertain. Disagreement shows instability. It does not prove an answer is wrong, and we treat it that way. We also apply small perturbations that keep the content intact, such as scaling, blur or compression; if they increase disagreement, that becomes another signal.

The vision-language model proposes possible causes for each flagged sample. These are hypotheses, and one sample can have several. A separate clustering model groups similar causes, so the next training round targets recurring weaknesses rather than single pages.

Working from those clusters, the vision-language model writes code that draws, lays out and renders new documents, using real pages as references for layout and visual style. Running that code produces both the image and its label. Every generated sample passes rule-based checks before it enters training. No one labels new data by hand.

After training, the updated model parses real documents again and the loop starts over. We track how many previously wrong samples the evaluator now judges correct.

The automation covers data preparation. People still decide when to launch training, which model to keep and when to deploy.

Documents vary more than any training set can cover. The loop decides what OXR learns next, and the architecture decides how well a 1.3B model can use it: a separate, replaceable layout model, with recognition and reading order predicted together in one pass. Together they produce the results. In our comparison against published scores, OXR now ranks first on olmOCR-Bench, OmniDocBench and DocParsingBench, and it was the fastest of 21 models in our end-to-end speed test on a single RTX PRO 6000.

We released the code and weights so other people can run OXR on documents we have never seen, which is where the loop gets its next lessons. If it fails on your files, we want to know.

Weights: https://huggingface.co/SoMarkAI/OXR-1.0

Free API and demo, no signup: https://free-oxr.somark.ai

License: custom Apache 2.0-based; commercial use is free below USD 2M in total funding or annual revenue.

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →