Build1 distinct publisher3 min readPublished
The 260M NeoMME sends raw image patches and text down the same bidirectional path, with no vision tower and no causal decoder, and reports a 6 kB late-interaction index per page. The conditions behind both numbers are checkable.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
A page at the compared resolution is a countable number of tokens. Images arrive as non-overlapping 32x32 patches projected by a small MLP [10], so a 2048x2048 page is 64 patches on a side and 4,096 patch tokens in total [1], about a quarter of the model's 16,384-token context [12][7]. That is the unit of work under the throughput figure. Multiply it out: 51 pages per second [5] is roughly 183,600 pages an hour on one card [2], and the doubling claim implies about 25.5 pages per second for ColModernVBERT in the same harness [3].
For those numbers to transfer you need their conditions: an L40S, a matched 2048x2048 input, whole page images [5]. NeoMME keeps native size and aspect ratio [11], which is the feature that makes throughput corpus-dependent. Denser pages spend more tokens. If your archive is 300 dpi A4 scans, recompute before sizing the fleet.
The storage figure is arithmetic worth checking. Roughly 1.5 MB down to 6 kB per page [6] is 250x if you count a megabyte as 1000 kB and 256x at 1024, so the quoted 255x sits inside that rounding either way [4]. The writeup credits the reduction to hierarchical token pooling and asymmetric quantization [6], and both are index-side techniques rather than properties of the backbone. My reading is that a fair comparison applies the same compression to a ColPali-style baseline before the ratio gets attributed to the architecture.
The architecture argument is a subtraction, and it is the part I find convincing. Retrieval, classification and token labeling never sample text, so a causal decoder is parameter and compute overhead you carry and never use for its purpose [9]. ModernVBERT went bidirectional on the text side but kept a separately pretrained SigLIP2 vision tower [8]. NeoMME drops both and trains a single bidirectional Transformer from scratch under a masked discrete-diffusion objective [2]. The training detail that makes that plausible is the corruption schedule: multimodal examples are masked at rates between 0.3 and 1 with the image patches left visible, so the model cannot recover the missing word from surrounding text and has to read the pixels [15]. Of about 524 billion packed tokens per model, 290 billion come from text-only examples [16], leaving roughly 234 billion, about 45 percent, in examples that carry an image [6].
Adoption cost is low: Apache 2.0 checkpoints, loadable in Hugging Face Transformers [7], 260M parameters at the small end [1]. The post also supplies a pronunciation guide, "nee-oh-me" [18], which is optimistic about how often the name will need saying aloud. The gap is evidence. Frontier placement on ViDoRe v3 for nDCG@10 against model size is asserted [4] without the scores appearing in the text supplied to us, and retention of more than 95 percent [6] means the 255x saving can cost as much as 5 percent of baseline nDCG@10 [8]. On a corpus where the right page routinely lands at rank 9, that is the number to measure first.
Ranked by verification strength, evidence, and original report placement.
NeoMME is a family of 260M and 800M multilingual multimodal encoders.
NeoMME does not use a separate pretrained vision tower or a causal language model; a single bidirectional Transformer processes both text tokens and raw image patches, and the entire model is trained from scratch with a masked discrete-diffusion objective.
NeoMME was fine-tuned for visual document retrieval using ColPali's page-image approach, and NeoMME-Retriever returns dense and late-interaction embeddings in one forward pass.
At a matched 2048x2048 image input size on an NVIDIA L40S GPU, the 260M model encodes about 51 pages per second, or about twice ColModernVBERT's throughput.
Hierarchical token pooling and asymmetric quantization reduce late-interaction index storage from roughly 1.5 MB to 6 kB per page (255x smaller) while retaining more than 95% of baseline nDCG@10.
NeoMME is available in Hugging Face Transformers and all model checkpoints are released under the Apache 2.0 license.
Distinct publishers with included, body-backed reporting in this cluster.
1 article · September 3, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
build
A file-copy Allure adapter for Katalon, and the history IDs that make retries useful1 distinct publisher
build
Four concurrent MPS processes fill the L40S that one ASR request leaves 80% idle1 distinct publisher
build
Instant's OpenAI exit comes with a due date: hosted apps stop on August 31st, 20271 distinct publisher
build
Intel puts its Arc GPU operating knowledge inside the coding agent already installed1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Precise conditions, a single witness
Every figure - 51 pages a second, 6 kB a page, 524 billion tokens - traces to H Company's own announcement, and nothing else in our coverage touches it. What lifts it above a press release is that the conditions are pinned down: the GPU model, the matched 2048x2048 input, the 32x32 patches, the corruption ranges. Someone with an L40S can settle the throughput claim in an afternoon. Nobody has, and the Pareto claim arrives without the scores that would make it contestable.
Downloadable, not yet run in anger
Apache 2.0 weights wired into Transformers is genuine distribution - the friction to try NeoMME is close to zero, and the license removes the usual procurement conversation. But distribution is not use. There are no download figures, no external pipeline that has swapped its OCR stage for page images, and no operator reporting what the 6 kB index did to recall on a real corpus. Adoption here is potential, dated to launch day.
Careful wording, missing scoreboard
The two numbers that will travel - 255x smaller and twice ColModernVBERT - are exactly the two nobody outside the lab has refereed. In its own voice the post is more restrained than that: Pareto frontier rather than state of the art, 'more than 95% retained' rather than lossless, throughput quoted at a matched input rather than a flattering one. The gap is less about exaggeration than about what is withheld. A frontier claim with no table and a 2x ratio whose baseline speed you must back out yourself both lean on the reader's trust.
The maker writing on the shop floor
One voice, and it belongs to the lab that built the model, publishing on the platform that hosts the download. Every framing decision in the story - which competitor to time against, which axis to plot the frontier on, which nDCG@10 baseline counts as baseline - was made by the party being measured. Releasing the weights under Apache 2.0 cuts against the worst reading: an open checkpoint invites the audit that a hosted API would not.
Arithmetic holds, no second observer
Cross-checking the internals turns up no cracks: 1.5 MB over 6 kB lands between 250x and 256x depending on which kilobyte you use, 4,096 patch tokens per page falls straight out of 32x32 patches at 2048x2048, and 290 billion of 524 billion leaves the 234 billion it should. A self-consistent account from a single interested party is still a single interested party, which is why our confidence sits below the middle rather than above it.