Beyond Models: Reflections on Engineering AI-enabled Systems in a Project-Based Course
Cet article revient sur un cours de master basé sur des projets à l'Université de Brême qui enseigne aux étudiants comment intégrer des composants d'IA dans des architectures logicielles complètes, en utilisant une étude par méthodes mixtes pour mettre en évidence les défis persistants en matière de conception architecturale et de gestion des données tout en démontrant le succès du cours dans la promotion du raisonnement systémique et des pratiques centrées sur les données.
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 enseigniez à une classe de futurs chefs. Pendant des années, vous leur avez appris à perfectionner une seule recette : comment hacher des oignons, comment assaisonner une sauce et comment cuire un gâteau. Ils sont experts pour faire le gâteau.
Mais dans le monde réel, un restaurant n'a pas seulement besoin d'un gâteau ; il a besoin d'une cuisine entièrement fonctionnelle qui peut cuire 500 gâteaux par heure, gérer les coupures de courant, gérer les stocks et s'adapter si un client demande soudainement une version sans gluten.
Ce document traite d'un cours universitaire qui a tenté d'apprendre aux étudiants comment construire ce restaurant entier, et pas seulement le gâteau. Ce cours s'appelait « AI Algorithms: Theory and Engineering », et le « restaurant » des étudiants était un système de recommandation de films (comme Netflix ou Spotify).
Voici une décomposition de ce que l'article a révélé, en utilisant des analogies simples :
Le gros problème : « La dette cachée »
Les auteurs soulignent qu'auparavant, les étudiants apprenaient à construire des modèles d'IA (le « gâteau ») mais n'apprenaient pas comment les intégrer dans un véritable système logiciel (la « cuisine »).
- L'ancienne méthode : Les étudiants construisaient un algorithme intelligent qui prédit des films, mais ils ne savaient pas comment le faire fonctionner sur un site web, comment gérer des milliers d'utilisateurs simultanés, ou quoi faire si les données devenaient désordonnées.
- La nouvelle méthode : Ce cours les a forcés à construire le système complet. Ils devaient se soucier de la « plomberie » (flux de données), de « l'électricité » (infrastructure serveur) et des « réglementations de sécurité » (sécurité et surveillance).
La structure du cours : Un parcours « étayé »
Au lieu d'un seul grand examen final, le cours était comme un jeu vidéo avec cinq niveaux, menant à un combat contre un boss final (le projet du semestre).
- Niveaux 1-2 : Les étudiants ont construit un prototype rudimentaire et ont rédigé les règles (exigences).
- Niveau 3 : Ils ont dessiné les plans du bâtiment (architecture), décidant de construire un monolithe géant ou un ensemble de micro-services petits et connectés.
- Niveau 4 : Ils ont joué au « Et si ? » (Analyse des compromis). Ils devaient se demander : « Si nous le rendons plus rapide, deviendra-t-il moins sécurisé ? »
- Niveau 5 : Le rebondissement. L'enseignant a changé les exigences à mi-parcours. Les étudiants ont dû adapter leurs plans à la volée, tout comme le font les ingéniciens logiciels réels lorsque les clients changent d'avis.
- Le projet final : Ils ont construit un système de recommandation de films fonctionnel capable de tourner, de gérer les données et de s'adapter aux changements.
Ce qui a mal tourné (Les défis)
Les chercheurs ont examiné le travail des étudiants et leur ont demandé ce qu'ils en avaient ressenti. Voici les principales difficultés rencontrées :
- La « barrière de la langue » dans les équipes : Certains étudiants étaient excellents en codage mais ne connaissaient rien à l'IA. D'autres étaient des sorciers de l'IA mais ne savaient pas construire de logiciels. C'était comme essayer de construire une maison où l'électricien ne parle pas la même langue que le plombier. Ils ont eu du mal à s'entendre sur la manière de construire les choses ensemble.
- Le « désordre des données » : En classe, les données sont généralement propres et parfaites. Dans le monde réel, les données sont comme un tas de linge sale. Les étudiants ont passé la majeure partie de leur temps à essayer de nettoyer les données (corriger les valeurs manquantes, supprimer le bruit) plutôt qu'à simplement choisir le « meilleur » algorithme. Ils ont appris que « garbage in equals garbage out » (déchets en entrée égale déchets en sortie).
- La « cible mouvante » : Lorsque les exigences ont changé au niveau 5, de nombreuses équipes ont paniqué. Ils avaient construit un système qui était trop rigide. Changer une petite chose (comme ajouter un nouveau type de données de film) les a obligés à démolir et reconstruire des parties de leur base de données et de leur code.
- Le « cauchemar de l'intégration » : Faire en sorte que toutes les différentes parties (la base de données, le modèle d'IA, l'interface utilisateur, les outils de surveillance) communiquent entre elles sans planter a été la partie la plus difficile. C'était comme essayer de faire fonctionner ensemble un moteur de voiture, un GPS et une radio alors qu'ils ont tous été construits par des fabricants différents.
Ce que les étudiants ont appris (Les enseignements)
Malgré les difficultés, le cours a été un succès. La perspective des étudiants a radicalement changé :
- Il ne s'agit pas du modèle, mais des données : Les étudiants ont réalisé que choisir l'algorithme d'IA le plus « intelligent » n'était pas la partie la plus importante. La partie la plus importante était d'avoir des données propres et un bon système pour les gérer.
- Le génie logiciel est roi : Ils ont appris qu'un excellent modèle d'IA est inutile s'il plante quand 1 000 personnes l'utilisent en même temps. Ils ont commencé à penser comme des architectes, se souciant de la scalabilité et de la sécurité.
- Les outils comptent : Ils ont mis la main à la pâte avec des outils du monde réel comme Docker (conteneurs), Kafka (streaming de données) et des tableaux de bord de surveillance. Ils ont cessé de simplement « réfléchir » à l'IA pour commencer à l'« ingénierer ».
Le verdict
L'article conclut que, bien que les étudiants aient lutté contre la complexité (et que les enseignants aient dû travailler dur pour les guider), le cours a réussi à combler le fossé entre la « théorie » et la « pratique ».
La leçon principale pour les éducateurs : Vous ne pouvez pas seulement apprendre aux étudiants comment cuire le gâteau. Si vous voulez qu'ils dirigent un restaurant, vous devez leur apprendre à construire la cuisine, à gérer le personnel et à gérer les clients. Le cours a prouvé qu'en les forçant à construire un système complet et en les confrontant à des changements d'exigences, ils ont appris les compétences difficiles, désordonnées mais nécessaires de l'ingénierie de systèmes pilotés par l'IA.
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.