Nemotron-Parse : la famille OCR de NVIDIA pour lire vos documents en local

Vous avez une pile de factures, de contrats et de rapports en PDF, et chaque fois que vous les passez à un service en ligne, vous décidez de les envoyer sur un serveur que vous ne contrôlez pas. Il existe une autre route : un modèle qui lit les documents directement sur votre matériel, puis passe le texte à n'importe quel LLM local. Depuis mi-octobre 2026, NVIDIA a mis à jour toute la famille Nemotron Parse — trois versions, v1.1, v1.2 et 2.0, rééditées dans la même semaine (model card) — et avec moins d'un milliard de paramètres, il fait ce que l'OCR classique fait mal : comprendre la structure d'une page, pas seulement le texte.
Ce que Nemotron Parse fait vraiment
Nemotron Parse n'est pas un LLM : c'est un modèle vision-encoder-décodeur spécialisé dans la compréhension des documents. L'encodeur visuel est un ViT-H (C-RADIO de NVIDIA) qui compresse l'image en une courte séquence de tokens, et le décodeur mBART à 10 blocs produit une chaîne qui contient tout ensemble : texte formaté en markdown, formules en LaTeX, boîtes englobantes avec coordonnées, et une classe sémantique pour chaque élément (titre, paragraphe, tableau, note de bas de page, en-tête, image). Le tout dans l'ordre de lecture naturel de la page.
La différence avec l'OCR classique — qui restitue une séquence plate de caractères — est que ici chaque élément sait ce qu'il est et où il se trouve. Un tableau arrive en LaTeX avec multirow et multicolumn intacts, une formule arrive en LaTeX, une facture arrive comme une structure qu'un LLM peut interroger sans deviner. C'est ce qui en fait le front-end naturel d'un pipeline RAG local : le document est « stationné » en forme structurée, et ce sont les réponses du modèle de langage que vous avez choisi, toujours en local, qui viennent ensuite.
Trois versions en une semaine : ce qui change
NVIDIA a publié v1.1 en novembre 2025, v1.2 en février 2026 et 2.0 en juin 2026 — et a réédité et republié les trois model card le 20 octobre. Les trois comptent moins d'un milliard de paramètres.
| v1.1 | v1.2 | 2.0 | |
|---|---|---|---|
| Sortie | nov. 2025 | févr. 2026 | juil. 2026 |
| Paramètres | < 1 Md | < 1 Md | < 1 Md |
| Prompt | 3 tokens | 4 tokens (obligatoire) | 4 tokens |
| Tableaux | LaTeX | LaTeX, HTML, markdown, JSON, CSV | + JSON hiérarchique, CSV |
| Graphiques (chart) | non | non | oui, avec la classe <class_Chart> |
| Vocabulaire | base | base | 72 256 entrées (+~20k, multilingue) |
| Licence | NVIDIA Open Model License | Nemotron Open Model License | OpenMDW-1.1 |
Deux choses à savoir immédiatement :
1. v1.2 et 2.0 exigent le quatrième token dans le prompt. Depuis v1.2, le prompt complet est </s><s><predict_bbox><predict_classes><output_markdown><predict_no_text_in_pic> — le dernier token dit au modèle de ne pas extraire le texte dans les images incorporées, ce qui économise de la génération. Le modèle ne valide pas le prompt : avec les anciens 3 tokens de v1.1, il génère quand même, mais la qualité « se dégrade significativement », comme l'écrit NVIDIA. Si vous montez de v1.1, c'est la seule modification obligatoire dans le code.
2. La 2.0 est un saut mesurable, pas une retouche. Les chiffres que NVIDIA rapporte sur ses benchmarks, v1.2 contre 2.0 :
| Benchmark | Métrique | v1.2 | 2.0 |
|---|---|---|---|
| ParseBench | Score global | 0.5782 | 0.6391 |
| OmniDocBench Notes | Distance d'édition du texte (manuscrit, plus bas = mieux) | 0.9739 | 0.3395 |
| IndicVisionBench | ANLS caractères | 0.0612 | 0.7203 |
| MOSCAR (multilingue) | BoC F1 | 0.4410 | 0.9102 |
La ligne la plus intéressante pour qui travaille avec des documents mixtes est le manuscrit : une distance d'édition qui passe de 0,97 à 0,34 signifie que le texte écrit à la main, presque illisible pour le modèle avant, se lit désormais. Et l'extension du vocabulaire porte l'OCR multilingue sur les écritures CJK et indiennes ; pour le français et l'italien — écritures latines — la capacité était déjà là, mais la 2.0 améliore le traitement des tableaux denses et des graphiques.
Installation minimale : du PDF au texte structuré
La voie de référence est vLLM : la 2.0 est supportée par les versions v0.20 à v0.26 (NVIDIA a validé v0.20.0), et sert une API compatible OpenAI que n'importe quel script peut interroger.
vllm serve nvidia/NVIDIA-Nemotron-Parse-2.0 \
--dtype bfloat16 \
--max-num-seqs 8 \
--limit-mm-per-prompt '{"image": 1}' \
--trust-remote-code \
--port 8000
Puis, depuis Python, chaque page du PDF devient une requête :
client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
with open("page.png", "rb") as f:
img_b64 = base64.b64encode(f.read()).decode("utf-8")
prompt = "</s><s><predict_bbox><predict_classes><output_markdown><predict_no_text_in_pic>"
resp = client.chat.completions.create(
model="nvidia/NVIDIA-Nemotron-Parse-2.0",
messages=[{"role": "user", "content": [
{"type": "text", "text": prompt},
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{img_b64}"}},
]}],
max_tokens=9000, temperature=0.0,
extra_body={"repetition_penalty": 1.1, "top_k": 1, "skip_special_tokens": False},
)
Si ça ne marche pas : si le serveur démarre mais renvoie du texte brouillon, vérifiez le prompt (le token manquant est la cause n° 1 en montant de v1.1) ; si vLLM bloque au chargement sur les builds récents, la 2.0 inclut un patch pour la tête de sortie aux poids liés — le model card explique comment l'ajouter à PYTHONPATH. Les PDF doivent d'abord être rendus en images (une page par requête, --limit-mm-per-prompt est fixé à 1) : avec pdftoppm -r 200 facture.pdf page, vous avez déjà des pages PNG à 200 dpi, et la résolution maximale supportée est 1664x2048.
Et les limites ?
Soyez clairs sur ce que ce modèle n'est pas :
- GPU NVIDIA uniquement, Linux. Les architectures supportées sont Turing, Ampere, Hopper et Blackwell. Aucun parcours officiel pour CPU, Apple Silicon ou AMD — la famille n'est pas dans le monde Ollama/llama.cpp, et ceux qui ont un Mac restent en dehors de ce modèle en particulier.
- Aucun chiffre VRAM officiel. Les trois model card ne déclarent pas la mémoire requise. Moins d'un milliard de paramètres en bfloat16, c'est un peu plus de 2 Go de poids, mais le moteur d'inférence et le contexte de génération demandent de l'espace en plus : pour une estimation concrète de votre matériel, regardez le guide des exigences VRAM.
- L'OCR multilingue fort est du neuf. La 2.0 excelle sur le CJK et les écritures indiennes (ANLS de 0,06 à 0,72), mais sur ces jeux d'écriture, elle vient de partir ; pour les documents en langues à caractères latins, la fiabilité est haute, pour les exotiques, à vérifier sur vos propres échantillons.
- Les benchmarks sont ceux de NVIDIA. Les chiffres ci-dessus sont déclarés par le fournisseur, pas mesurés par des tiers : avant de construire le workflow dessus, testez le modèle sur vos factures, pas sur des exemples.
La frontière honnête : Nemotron Parse est le scanner intelligent, pas le cerveau. Il lit et structure ; il ne répond pas, ne raisonne pas, ne prend pas de décision. La réponse, c'est votre LLM local qui la donne, sur le texte que le modèle a extrait.
Où ça mène
Si vous voulez comprendre comment le texte structuré alimente une interrogation en langage naturel, l'étape suivante est le RAG local : posez des questions à vos documents. Et si vous évaluez le matériel, le guide GPU ou CPU : quand le CPU suffit vous dit quand cette famille de modèles exige vraiment la carte dédiée.
Sources
- NVIDIA Nemotron Parse 2.0 — model card
- NVIDIA Nemotron Parse v1.2 — model card
- NVIDIA Nemotron Parse v1.1 — model card
- NVIDIA Nemotron Parse 1.1 — arXiv 2511.20478
Article généré par IA
Vous avez aimé cet article ?
Abonnez-vous à la newsletter pour recevoir de nouveaux tutoriels et guides.
Articles Correlés

MiniCPM-V 4.7 : le MoE de 35B qui tourne sur smartphone avec 3 Go de RAM
Le premier MoE open de 35B (3B actifs) qui tourne fluidement sur smartphone : 13+ tok/s avec 3 Go de RAM sur iPhone 17 Pro Max, OCR, vidéo et GGUF Q4_K_M de 21,8 Go pour le desktop. Chiffres, trois techniques et limites.

Ling 3.1 Flash : 560B open-weight sous licence MIT, contexte de 1M — ce que ça change si vous avez 24 Go de VRAM
Ling 3.1 Flash apporte 560B de paramètres open-weight sous licence MIT avec 1M de contexte. Il ne rentre pas dans 24 Go de VRAM, mais les quantifications, le MoE 25B actifs et les vrais chiffres changent le calcul.

