Operationalizing Document AI: A Microservice Architecture for OCR and LLM Pipelines in Production
Ce document présente une architecture microservices et un retour d'expérience opérationnel pour le déploiement à grande échelle de pipelines d'IA documentaires, en mettant en évidence des choix de conception tels que la séparation des tâches GPU et CPU, et en révélant que la latence de la reconnaissance optique de caractères et la capacité GPU partagée, plutôt que la complexité du modèle ou le nombre de workers, constituent les principaux goulots d'étranglement en production.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous gérez une immense installation de tri postal ultra-rapide. Chaque jour, des milliers de documents complexes arrivent : certains sont froissés, d'autres flous, certains sont des contrats multi-pages, et d'autres ne sont que des photos de reçus. Votre objectif est de lire chacun d'eux, de comprendre ce qu'ils sont, et d'extraire des détails spécifiques (comme des dates, des noms ou des montants) pour les insérer dans un tableur numérique soigné.
Ce document décrit comment l'équipe de Kungfu.ai a construit une « usine » pour faire exactement cela, mais avec une particularité : ils ont réalisé que tenter de tout faire avec une seule machine géante (un monolithe) était lent, coûteux et sujet aux pannes. Au lieu de cela, ils ont construit une architecture de microservices, ce qui revient à transformer cette usine en une équipe de travailleurs spécialisés, chacun ayant son propre rôle spécifique, se passant les documents le long d'un convoyeur.
Voici comment leur système fonctionne, expliqué simplement :
1. Les Trois Équipes Spécialisées (Les Microservices)
Au lieu d'un seul robot essayant de scanner, de lire et de réfléchir simultanément, ils ont divisé le travail en trois équipes distinctes :
- La Passerelle (La Réceptionniste) :
C'est la porte d'entrée. Sa seule tâche est de récupérer les documents du monde extérieur, de stocker les images en toute sécurité dans un entrepôt numérique (Stockage Objet), et de déposer un « ticket » dans une file d'attente indiquant : « Hé, nous avons un nouveau document à traiter ! » Elle ne fait aucun effort physique ; elle gère simplement le flux. Si la Réceptionniste tombe malade, aucun nouveau courrier n'entre, mais les travailleurs à l'intérieur continuent de travailler sur ce qu'ils ont déjà. - Les Travailleurs (Les Gestionnaires) :
Ce sont les gestionnaires alimentés par le CPU. Ils récupèrent les tickets de la file d'attente, examinent le document et décident de la prochaine étape. Ils sont excellents pour organiser, attendre des réponses et déplacer des données, mais ils ne sont pas très doués pour les tâches lourdes de « réflexion » ou de « vision ». Ils agissent comme le chef d'orchestre, indiquant aux spécialistes quand jouer. - Le Service d'Inférence (Les Porteurs Lourds) :
C'est l'équipe équipée de GPU (cartes graphiques) coûteux et ultra-rapides. Ce sont les seuls autorisés à effectuer le travail visuel difficile : OCR (transformer des images floues en texte) et Analyse par LLM (utiliser un cerveau IA géant pour comprendre le texte et extraire des champs spécifiques). Comme ces machines sont coûteuses, l'équipe les maintient séparées afin de ne pas avoir à les payer lorsque les Travailleurs sont simplement en attente.
2. La Chaîne de Montage (Le Pipeline)
Lorsqu'un document arrive, il passe par une séquence spécifique d'étapes, comme une voiture sur une chaîne de montage :
- Classification (Le Trieur) :
Tout d'abord, le système doit savoir de quel type de document il s'agit (par exemple, est-ce une facture ou un formulaire médical ?).- L'Astuce : Ils utilisent une « Stratégie Hybride ». D'abord, ils utilisent une IA locale, peu coûteuse et rapide (CLIP-KNN) pour deviner le type. Elle est précise à 92 % et gratuite. Si l'IA est incertaine (confiance inférieure à 70 %), alors ils l'envoient à l'IA coûteuse et ultra-intelligente (Claude Sonnet) pour une vérification. Cela économise énormément d'argent car l'IA peu coûteuse a raison à 96 % des cas seule.
- OCR (Le Traducteur) :
Le document est une image. Le système utilise l'équipe GPU pour transformer cette image en texte réel, mot par mot.- La Surprise : Les auteurs ont découvert que cette étape est le goulot d'étranglement le plus important. Elle prend le plus de temps. Même si l'IA de « réflexion » (LLM) est complexe, elle ne lit le texte qu'une seule fois pour l'ensemble du document. L'OCR doit examiner chaque page individuellement. C'est comme la différence entre lire un livre entier (rapide) et traduire chaque mot d'un livre un par un (lent).
- Assemblage de Texte (Le Colleur) :
Si un document comporte 10 pages, le système prend le texte de la page 1, puis de la page 2, et ainsi de suite, et les assemble en une seule longue histoire. - Analyse Structurée (L'Extracteur) :
Enfin, l'IA de « réflexion » (LLM) lit le texte assemblé et remplit un formulaire numérique (comme un fichier JSON) avec les données spécifiques nécessaires (par exemple, « Date de facture : 2023-10-01 »).
3. La Sauce Secrète : Comment Ils Passent à l'Échelle
Le document met en évidence deux grands moments de révélation qu'ils ont eus en faisant fonctionner ce système :
- Le Goulot d'Étranglement est les Yeux, Pas le Cerveau :
Tout le monde supposait que l'IA de « réflexion » (LLM) serait la partie lente. Ils avaient tort. Les « Yeux » (OCR) étaient la partie lente. Parce que l'OCR est le goulot d'étranglement, ils ont réalisé qu'ils devaient mettre à l'échelle l'équipe GPU spécifiquement pour l'OCR, et non pas simplement ajouter plus de gestionnaires (Travailleurs). Si vous ajoutez plus de gestionnaires mais pas plus de « yeux », les gestionnaires restent simplement assis en attendant. - La File d'Attente est le Filet de Sécurité :
Ils utilisent une file d'attente de messages (comme une salle d'attente numérique). Si les « Porteurs Lourds » sont occupés, les documents attendent simplement en ligne. Cela empêche le système de planter. Cela signifie également que si un travailleur tombe en panne, le document retourne simplement dans la file d'attente pour être repris par quelqu'un d'autre, garantissant que rien ne se perd.
4. Les Résultats
En utilisant cette architecture, ils ont accompli deux choses incroyables :
- Coût : Ils ont fait baisser le coût de traitement d'une page de 0,01 (une réduction de 10 fois). Ils ont fait cela en utilisant l'IA peu coûteuse pour la plupart des tâches et en ne payant l'IA coûteuse que lorsque cela était absolument nécessaire.
- Fiabilité : Ils ont maintenu une précision de 96 % tout en traitant des milliers de pages par heure.
Résumé
Le document soutient que la construction d'un système d'IA de production ne consiste pas seulement à avoir le modèle le plus intelligent ; il s'agit d'ingénierie. Vous devez séparer la « réflexion » de l'« organisation », utiliser des files d'attente pour gérer le trafic, et réaliser que la partie la plus lente de votre processus (dans ce cas, la lecture du texte) est celle que vous devez optimiser, et non la partie que vous pensez être la plus complexe.
Ils ont transformé un processus chaotique et coûteux en une usine rationalisée et rentable où chaque travailleur sait exactement ce qu'il doit faire, et où les machines coûteuses ne sont utilisées que lorsqu'elles sont vraiment nécessaires.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.