Sixième étape : Mise en œuvre et déploiement de projets d'IA

Manuel d'ingénierie des systèmes d'apprentissage automatique open source de l'université de Harvard, couvrant l'ensemble du cycle de vie, de l'ingénierie des données au déploiement des modèles, publié par MIT Press.

MLSystemsMLOpsAIEngineeringWebSiteTextFreeEnglish

Présentation détaillée du cours sur les Systèmes d'Apprentissage Automatique

📚 Aperçu du cours

Machine Learning Systems est un manuel systématique d'ingénierie des systèmes d'apprentissage automatique, issu du cours CS249r de l'Université Harvard, enseigné par le professeur Vijay Janapa Reddi. Il s'agit d'un manuel en ligne open source, mis à jour en continu, qui sera officiellement publié par MIT Press en 2026.

Caractéristiques principales

  • Perspective systémique: Contrairement aux ressources qui se concentrent uniquement sur les algorithmes et les architectures de modèles, ce cours met l'accent sur le contexte global du fonctionnement des systèmes d'apprentissage automatique.
  • Combinaison théorie et pratique: Relie les fondements théoriques aux applications d'ingénierie réelles.
  • Couverture du cycle de vie complet: De l'ingénierie des données, l'optimisation des modèles, l'entraînement conscient du matériel à l'accélération de l'inférence.
  • Collaboration open source: Entièrement open source, mis à jour en continu, et piloté par la communauté.

🎯 Objectifs d'apprentissage

Ce cours est conçu sur la base de la taxonomie de Bloom, couvrant six niveaux d'apprentissage:

  1. Mémorisation (Remembering): Rappeler les faits et concepts de base.
  2. Compréhension (Understanding): Expliquer des idées ou des processus.
  3. Application (Applying): Utiliser les connaissances dans de nouvelles situations.
  4. Analyse (Analyzing): Décomposer l'information en ses composants.
  5. Évaluation (Evaluating): Porter des jugements basés sur des critères.
  6. Création (Creating): Combiner des éléments pour former un tout cohérent.

📖 Structure du cours

Cinq phases d'apprentissage

Phase 1: Théorie (Foundations)

Établir les bases conceptuelles et développer des modèles mentaux qui sous-tendent le fonctionnement de tous les systèmes efficaces, à travers les sections Foundations et Design Principles.

Phase 2: Performance (Performance Engineering)

Maîtriser l'Ingénierie de la Performance, transformant la compréhension théorique en systèmes fonctionnant efficacement dans des environnements réels aux ressources limitées.

Phase 3: Pratique (Robust Deployment)

Relever les défis du Déploiement Robuste, en apprenant à faire fonctionner les systèmes de manière fiable en dehors de l'environnement de développement.

Phase 4: Laboratoires (Labs)

Acquérir une expérience pratique sur plusieurs plateformes embarquées grâce à des exercices de laboratoire stratégiquement conçus.

Phase 5: Évaluation (Assessment)

Renforcer la compréhension aux étapes clés de l'apprentissage grâce à des quiz intégrés tout au long du manuel.

Thèmes principaux

  • Ingénierie des données (Data Engineering): Collecter, prétraiter et gérer efficacement les données pour les pipelines d'apprentissage automatique.
  • Optimisation des modèles (Model Optimization): Optimiser les architectures de modèles et les processus d'entraînement.
  • Accélération matérielle (Hardware Acceleration): Utiliser du matériel spécialisé pour accélérer les calculs d'IA.
  • Accélération de l'inférence (Inference Acceleration): Optimiser les performances d'inférence des modèles.
  • Entraînement de l'IA (AI Training): Stratégies d'entraînement distribué et d'optimisation.
  • IA efficace (Efficient AI): Conception de modèles efficaces dans des environnements aux ressources limitées.
  • Apprentissage sur appareil (On-Device Learning): Apprentissage automatique sur les appareils périphériques.
  • Opérations ML (ML Operations): Déploiement, surveillance et maintenance des modèles.
  • Évaluation comparative de l'IA (Benchmarking AI): Évaluation des performances des systèmes d'IA.
  • IA durable (Sustainable AI): Systèmes d'IA respectueux de l'environnement et efficaces.
  • IA robuste (Robust AI): Construire des systèmes d'IA fiables et sécurisés.
  • IA pour le bien commun (AI for Good): Applications sociales et considérations éthiques de l'IA.

🛠️ Outils spécifiques

Assistant d'apprentissage IA SocratiQ

Un compagnon d'apprentissage IA inspiré de la méthode socratique, offrant:

  • Quiz interactifs: Génération automatique de quiz basés sur le contenu lu.
  • Assistance personnalisée: Retour d'information et conseils en temps réel.
  • Apprentissage actif: Passage de la consommation passive à la création active d'expériences d'apprentissage.

Tiny🔥Torch

Construire son propre framework d'apprentissage automatique à partir de zéro, pour apprendre:

  • La différenciation automatique
  • Les boucles d'entraînement
  • Les systèmes distribués

Plateformes pratiques

  • Seeed TinyML Kit: La dernière plateforme d'apprentissage pratique.
  • Prise en charge de plusieurs cartes de développement embarquées.
  • Pratique complète, des appareils périphériques au déploiement dans le cloud.

🌍 Mission d'éducation ouverte

Valeurs fondamentales

"Si tu veux aller vite, va seul. Si tu veux aller loin, allons ensemble."

Impact mondial

  • Entièrement open source: Tout le contenu est accessible gratuitement sur mlsysbook.ai.
  • Open source sur GitHub: harvard-edge/cs249r_book.
  • Piloté par la communauté: Accueille les apprenants, les éducateurs et les contributeurs du monde entier.
  • Mises à jour continues: Reflète les derniers développements dans le domaine des systèmes d'apprentissage automatique.
  • Prise en charge de plusieurs formats: Site web en ligne, PDF, EPUB.

Organismes de soutien

  • EDGE AI Foundation: Finance l'éducation en égalant chaque étoile GitHub.
  • Plusieurs entreprises technologiques fournissent un soutien en kits matériels.
  • Soutien d'institutions éducatives et d'organisations à but non lucratif mondiales.

📝 Licence

Ce manuel est sous licence Creative Commons Attribution–NonCommercial–ShareAlike 4.0 International (CC BY-NC-SA 4.0):

  • Vous pouvez partager et adapter le matériel.
  • Vous devez créditer l'auteur.
  • Uniquement pour un usage non commercial.
  • Partager de la même manière.

🎓 Public cible

Étudiants

  • Étudiants en informatique.
  • Professionnels de l'IA/ML autodidactes.
  • Professionnels souhaitant approfondir leurs connaissances des systèmes ML.

Éducateurs

  • Professeurs d'université.
  • Formateurs en entreprise.
  • Instructeurs de bootcamps.
  • Créateurs de contenu éducatif.

Praticiens

  • Ingénieurs en systèmes ML.
  • Développeurs d'applications IA.
  • Développeurs de systèmes embarqués.

🔄 Dernières mises à jour (2025)

  • [05 mai]: Révision du chapitre 14 (Apprentissage sur appareil 📱).
  • [25 mars]: Mises à jour majeures des chapitres 13 (Opérations ML ⚙️), 17-19 (IA durable 🌿, IA robuste 🛡️, IA pour le bien commun 🌍).
  • [03 mars]: Mise à jour du chapitre 10 (Accélération de l'IA) et du chapitre 12 (Évaluation comparative de l'IA 📊).
  • [02 fév]: Mise à jour du chapitre 8 (Entraînement de l'IA 🏋️) et du chapitre 9 (IA efficace).
  • [16 jan]: Extension des chapitres 1-7, nouveau chapitre 4 🔢.

📚 Format de citation

Voici comment citer ce manuel:

@inproceedings{reddi2024mlsysbook,
  title = {MLSysBook.AI: Principles and Practices of Machine Learning Systems Engineering},
  author = {Reddi, Vijay Janapa},
  booktitle = {2024 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ ISSS)},
  pages = {41--42},
  year = {2024},
  organization = {IEEE},
  url = {https://mlsysbook.org}
}

🔗 Ressources associées

🤝 Comment contribuer

La communauté mondiale est invitée à contribuer:

  • 📝 Contenu: Suggérer des modifications, des améliorations ou de nouveaux exemples.
  • 🛠️ Outils: Améliorer les scripts de développement et l'automatisation.
  • 🎨 Design: Améliorer les graphiques, les schémas et les éléments visuels.
  • 🌍 Localisation: Traduire le contenu pour améliorer l'accessibilité mondiale.

Soumettez vos commentaires et suggestions via les GitHub Issues.

💡 Philosophie fondamentale

Ce manuel est né d'une préoccupation: bien que les étudiants soient désireux d'entraîner des modèles d'IA et de devenir des programmeurs d'IA, rares sont ceux qui comprennent comment construire les systèmes qui font réellement fonctionner ces modèles. À mesure que l'IA devient plus puissante et autonome, le goulot d'étranglement critique ne sera pas l'algorithme lui-même, mais les ingénieurs en IA capables de construire des systèmes efficaces, évolutifs et durables qui exploitent cette intelligence en toute sécurité.

Ce n'est pas seulement un manuel statique, mais une ressource d'apprentissage évolutive et en constante évolution, conçue pour suivre le rythme des avancées dans le domaine des systèmes d'apprentissage automatique.