Compound AI Systems
Apprends comment les systèmes d'IA composés combinent modèles, outils, données et règles. Explore les architectures, les applications, les compromis et les bonnes pratiques pour des flux de travail d'IA fiables.
Les systèmes d'IA composés sont des applications d'IA construites à partir de plusieurs composants en interaction plutôt que d'un modèle unique. Un système peut combiner des modèles, des services de recherche, des bases de données, des règles déterministes, des outils externes et une révision humaine en un seul flux de travail coordonné. En vision par ordinateur, par exemple, un modèle peut détecter des objets tandis que le logiciel de suivi maintient les identités, que des règles métier interprètent les événements et que des services de surveillance observent les performances en production. La caractéristique déterminante est la composition : le comportement au niveau du système émerge de la manière dont les parties échangent des informations et prennent des décisions.
Comment fonctionnent les systèmes d'IA composés#
Un système composé divise une tâche plus vaste en étapes spécialisées. Les composants typiques incluent le prétraitement des données, un ou plusieurs modèles d'IA, le stockage, la logique de validation, les interfaces de programmation d'applications et une couche d'orchestration. Des contrats clairs, tels que ceux décrits par la OpenAPI Specification, définissent les données que chaque service accepte et renvoie.
Le contrôle peut être déterministe, avec du code conventionnel appelant des composants dans une séquence fixe, ou dynamique, avec une couche AI agent orchestration sélectionnant les outils et les itinéraires à l'exécution. L'-AI orchestration coordonne les dépendances, les nouvelles tentatives, les ressources et le flux de données dans toute l'application.
Les modèles courants incluent la retrieval-augmented generation, où la recherche fournit un contexte à un modèle de langage, et les pipelines de fusion de capteurs qui combinent des caméras, des radars ou d'autres entrées. Le passage plus large de modèles isolés vers des systèmes intégrés est décrit dans la Berkeley AI Research overview of compound AI systems. (bair.berkeley.edu)
Pourquoi les systèmes composés comptent#
La composition permet aux développeurs d'améliorer une application sans réentraîner un modèle énorme. Un composant spécialisé peut être remplacé, mis à l'échelle ou optimisé tandis que le reste du flux de travail reste stable. Les règles et les étapes de validation peuvent également offrir plus de contrôle que de s'en remettre entièrement à la sortie d'un modèle probabiliste.
Ces avantages introduisent des compromis au niveau du système :
- Propagation des défaillances : Une détection incorrecte, une recherche échouée ou une API indisponible peuvent affecter chaque décision en aval.
- Latence et coût : Chaque appel de modèle, requête réseau et étape de vérification consomme une partie du budget de réponse total.
- Dérive des interfaces : La mise à jour d'un service peut modifier son format de sortie ou ses hypothèses et briser silencieusement un autre composant.
- Évaluation difficile : Un composant fort ne garantit pas un résultat de bout en bout fort.
Par conséquent, les machine learning operations doivent couvrir l'ensemble du flux de travail. Les OpenTelemetry observability guidance expliquent comment les traces, les métriques et les journaux révèlent ce qui s'est passé à travers les services distribués, tandis que le MLflow experiment tracking peut enregistrer les configurations de modèles et les résultats d'évaluation. (opentelemetry.io)
Concepts associés et différences clés#
Un système d'IA composé n'est pas simplement un autre nom pour un modèle complexe.
Un model ensemble combine les prédictions de plusieurs modèles, souvent par vote, moyenne ou empilement. Un ensemble peut être un composant à l'intérieur d'un système composé, mais il lui manque généralement des bases de données, des outils, une logique de flux de travail et des services opérationnels.
Un flux de travail agentique permet aux modèles de choisir des actions ou des outils de manière autonome. Les systèmes composés sont plus larges : beaucoup utilisent des pipelines fixes, des services pilotés par événements ou une approbation humaine sans agents autonomes.
De même, le RAG est un motif composé particulier impliquant la recherche et la génération. L'IA composée peut également coordonner la vision par ordinateur, la prévision, l'optimisation, la robotique et les logiciels conventionnels sans utiliser de modèle de langage.
Applications concrètes#
-
Manufacturing visual inspection : Une caméra capture des produits, un Ultralytics YOLO26 model détecte les défauts, une logique basée sur des règles vérifie la gravité et l'emplacement, et un système de production rejette ou approuve chaque article. Les cas incertains peuvent être acheminés vers un inspecteur humain, tandis que les images stockées prennent en charge le réentraînement ultérieur.
-
Traffic and parking analytics : La détection identifie les véhicules, le multi-object tracking maintient les identités à travers les cadres, la logique géométrique détermine l'occupation des voies ou des zones de stationnement, et les tableaux de bord agrègent les comptes et les alertes. Les erreurs peuvent entraîner des comptages en double, des événements de congestion manqués ou des estimations de disponibilité incorrectes, de sorte que chaque étape doit être testée ensemble.
L'exemple simplifié suivant montre la perception alimentant une logique de décision déterministe :
from ultralytics import YOLO
# Perception component
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Policy component
person_class = next(i for i, name in result.names.items() if name == "person")
person_count = int((result.boxes.cls == person_class).sum())
decision = "review" if person_count >= 4 else "continue"
print({"people_detected": person_count, "next_step": decision})
result.save(filename="compound_system_input.jpg")Ici, YOLO produit des observations structurées, tandis qu'une logique de politique distincte détermine l'action suivante. Un système de production pourrait ajouter le stockage, les notifications, les contrôles d'accès ou la révision humaine.
Conseils de conception pratiques#
Commencez par un objectif mesurable de bout en bout, puis attribuez à chaque composant une responsabilité claire. Définissez des schémas et des délais d'attente à chaque frontière, testez les composants indépendamment et évaluez des flux de travail réalistes plutôt que seulement la précision du modèle.
Utilisez des traces pour suivre les requêtes individuelles, définissez des budgets de latence et de coût, et fournissez des nouvelles tentatives ou des solutions de repli sûres pour les services indisponibles. Les Kubernetes health probes illustrent comment les services déployés peuvent exposer des signaux de disponibilité et de vivacité.
Les contrôles des risques doivent aborder l'ensemble du système, y compris l'accès aux données, les outils externes, les dérogations humaines et les conséquences en aval. Le NIST AI Risk Management Framework fournit des conseils axés sur le cycle de vie pour gouverner, mesurer et gérer ces risques. Les équipes peuvent utiliser Ultralytics Platform pour connecter l'annotation des ensembles de données, l'entraînement, le déploiement et la surveillance de la production pour les composants de vision au sein d'une application composée plus large. (nist.gov)






