Développement de projet d'IA - Comment les chefs de projet doivent se préparer

Publié: 2022-03-11

Écoutez la version audio de cet article

En tant que chef de projet, vous vous êtes probablement engagé dans un certain nombre de projets informatiques tout au long de votre carrière, allant de structures monolithiques complexes à des applications Web SaaS. Cependant, avec les progrès de l'intelligence artificielle et de l'apprentissage automatique, de nouveaux projets avec des exigences et des problèmes différents se profilent à l'horizon à une vitesse rapide.

Avec l'essor de ces technologies, il devient de moins en moins « agréable à avoir » et plutôt essentiel pour les chefs de projets techniques d'avoir une relation saine avec ces concepts. Selon Gartner, d'ici 2020, l'IA générera 2,3 millions d'emplois, dépassant les 1,8 million qu'elle supprimera, générant 2,9 billions de dollars de valeur commerciale d'ici 2021. Le PDG de Google va jusqu'à dire que "l'IA est l'une des choses les plus importantes l'humanité travaille. C'est plus profond que […] l'électricité ou le feu.

Les applications de l'intelligence artificielle perturbant déjà des secteurs allant de la finance à la santé, les PM techniques qui peuvent saisir cette opportunité doivent comprendre en quoi la gestion de projet d'IA est distincte et comment ils peuvent mieux se préparer à l'évolution du paysage.

Théorie

Qu'est-ce que tout cela signifie : IA contre ML

Avant d'aller plus loin, il est important d'avoir une solide compréhension de ce qu'est vraiment l'IA. Avec de nombreux termes différents souvent utilisés de manière interchangeable, plongeons d'abord dans les définitions les plus courantes.

La progression de l'IA, de l'apprentissage automatique et de l'apprentissage en profondeur

La progression de l'IA, de l'apprentissage automatique et de l'apprentissage en profondeur

Intelligence Artificielle (IA)

L'IA est un domaine de l'informatique dédié à la résolution de problèmes qui nécessitent autrement l'intelligence humaine, par exemple la reconnaissance de formes, l'apprentissage et la généralisation.

Ce terme a été surutilisé ces dernières années pour désigner l'intelligence générale artificielle (IAG) qui fait référence à des programmes informatiques conscients de soi, capables de cognition réelle. Néanmoins, la plupart des systèmes d'IA dans un avenir prévisible seront ce que les informaticiens appellent «l'IA étroite», ce qui signifie qu'ils seront conçus pour effectuer très bien une tâche cognitive, plutôt que de vraiment «penser» par eux-mêmes.

Apprentissage automatique (ML)

L'apprentissage automatique est un sous-ensemble de l'intelligence artificielle qui utilise des techniques statistiques pour donner aux ordinateurs la capacité d'apprendre à partir de données sans être explicitement programmés.

L'IA et le ML ont été utilisés de manière interchangeable par de nombreuses entreprises ces dernières années en raison du succès de certaines méthodes d'apprentissage automatique dans le domaine de l'IA. Pour être clair, l'apprentissage automatique désigne la capacité d'un programme à apprendre , tandis que l'intelligence artificielle englobe l'apprentissage ainsi que d'autres fonctions.

Pour en savoir plus sur les réseaux de neurones et l'apprentissage en profondeur, veuillez consulter l'annexe à la fin de cet article.

Une distinction importante : l'IA par rapport aux algorithmes standard

L'un des principaux points à retenir de l'IA est que ses algorithmes utilisent une grande quantité de données pour ajuster leur structure interne de sorte que, lorsque de nouvelles données sont présentées, elles sont classées en fonction des données précédentes. Nous appelons cela « apprendre » à partir des données plutôt que de fonctionner selon les instructions de catégorisation écrites strictement dans le code.

Imaginez que nous voulions écrire un programme capable de différencier les voitures des camions. Dans l'approche de programmation traditionnelle, nous essaierions d'écrire un programme qui recherche des caractéristiques spécifiques et indicatives, comme des roues plus grandes ou un corps plus long. Nous aurions à écrire un code définissant spécifiquement à quoi ressemblent ces caractéristiques et où elles devraient être trouvées sur une photo. Écrire un tel programme et le faire fonctionner de manière fiable est très difficile, générant probablement à la fois des faux positifs et des faux négatifs, à un point tel qu'il peut finalement ne pas être utilisable du tout.

C'est là que les algorithmes d'IA deviennent très utiles. Une fois qu'un algorithme d'IA est formé, nous pouvons lui montrer de nombreux exemples, et il ajuste sa structure interne pour commencer à détecter les caractéristiques pertinentes pour la classification réussie des images au lieu de s'appuyer sur des définitions de caractéristiques statiques et prescrites.

La gestion de projet IA en pratique

Les données sont roi

Les humains ne sont pas doués pour traiter de gros volumes de données, et le simple volume de données dont nous disposons nous empêche parfois de les utiliser directement. C'est là qu'interviennent les systèmes d'IA.

Un concept très central concernant les systèmes d'IA est que leurs prédictions ne sont aussi bonnes que leurs données. Par exemple, un algorithme avec un million de points de données surpassera le même algorithme avec 10 000 points de données. De plus, le BCG rapporte que "de nombreuses entreprises ne comprennent pas l'importance des données et de la formation pour le succès de l'IA. Souvent, de meilleures données sont plus cruciales pour construire un système intelligent que des algorithmes mieux nus, tout comme la culture l'emporte souvent sur la nature chez les êtres humains.

Grâce à ces connaissances, la préparation et le nettoyage des données deviendront de plus en plus courants dans le processus de projet. Cette étape est souvent la partie la plus laborieuse de la construction d'un système d'IA, car la plupart des entreprises n'ont pas les données prêtes dans les bons formats. Ainsi, cela peut prendre un certain temps aux analystes de données pour terminer cette étape essentielle.

La préparation des données est une étape clé dans la gestion de projet d'IA.

La préparation des données est une étape clé dans la gestion de projet d'IA.

De plus, les travaux de configuration de l'infrastructure de données et de nettoyage des données sont beaucoup plus linéaires que le développement logiciel habituel et peuvent nécessiter une méthodologie de gestion de projet différente.

Pour résumer, la création de la bonne infrastructure de données et la préparation des données à utiliser peuvent prendre beaucoup plus de temps que la création du modèle d'apprentissage automatique pour exécuter les données. Il s'agit d'une considération importante pour les chefs de projet lorsqu'ils gèrent des équipes et réfléchissent à la portée de l'IA et aux estimations de projet.

De plus, l'ensemble de données doit être continuellement mis à jour avec les nouvelles données. L'accès à des ensembles de données uniques peut être le principal facteur déterminant pour déterminer quel produit ML est le plus efficace. Il est essentiel de rester à jour à ce sujet afin d'atteindre les meilleures performances possibles pour votre projet ML, même après le lancement.

Le cycle de vie du développement de l'IA

La plupart d'entre vous connaissent le cycle de vie de développement de systèmes standard (SDLC) ainsi que la façon dont différentes méthodologies et technologies le façonnent. Il est important de noter que le développement de l'IA apportera un nouvel ensemble de défis sur le terrain. Nous pouvons diviser le cycle de vie du développement de l'IA en ces étapes : idéation et découverte de données, hiérarchisation des MVP et développement des MVP en produits à part entière.

Idéation et découverte de données

À cette première étape, l'accent doit être mis sur deux éléments clés : l'utilisateur final du produit ML et les pools de données disponibles.

En abordant le problème de deux côtés indépendants, ces techniques peuvent aider un chef de projet à réduire rapidement les opportunités de produits ML disponibles au sein d'une entreprise. Au cours de cette phase, les meilleurs chefs de projet peuvent bénéficier de leur connaissance de l'espace d'apprentissage automatique afin de mieux comprendre la difficulté à laquelle certains problèmes peuvent être résolus. Les choses évoluent très rapidement dans le domaine du ML, et certains problèmes difficiles peuvent être beaucoup plus faciles grâce aux nouveaux développements de la recherche.

Comme mentionné précédemment, une fois les données découvertes, elles doivent être nettoyées et préparées. Cette tâche spécifique est normalement effectuée en étapes linéaires, qui ne s'intègrent pas parfaitement dans les méthodologies de projet typiques comme Agile ou Waterfall, bien qu'elles puissent être forcées en sprints. En règle générale, le nettoyage des données est effectué de manière itérative en augmentant progressivement la taille des ensembles de données et en les préparant parallèlement à d'autres efforts de développement.

Prioriser le Produit Minimum Viable (MVP)

La vérité selon laquelle il est préférable d'avoir un prototype fonctionnel d'un produit plus petit, plutôt qu'un gros produit inachevé, est toujours là avec les produits d'apprentissage automatique. Les nouveaux MVP ML ​​doivent être priorisés en fonction de la rapidité de livraison et de leur valeur pour l'entreprise. Si vous pouvez livrer des produits, même ceux qui peuvent être plus petits, avec rapidité, cela peut être une bonne victoire rapide pour toute l'équipe - vous devez d'abord donner la priorité à ces produits.

La préparation de ces MVP de manière Agile classique est une bonne idée, et l'équipe de développement doit se concentrer sur la fourniture de modèles ML basés sur les ensembles de données en constante amélioration préparés indépendamment par l'équipe de données. Une distinction importante ici est que l'équipe de données n'a pas nécessairement besoin de travailler via la même structure de Sprint que l'équipe qui construit le MVP .

MVP à produit à part entière

C'est à cette étape que l'infrastructure de données devient essentielle. Si votre produit ML nécessite un accès API haute fréquence depuis le monde entier, vous devez maintenant réfléchir à la façon dont vous pouvez faire évoluer l'infrastructure pour prendre en charge le produit ML.

C'est là que les modifications apportées aux modules ML doivent être soigneusement évaluées afin d'éviter de nuire aux performances du produit actuel. Le recyclage des modules ML avec de nouveaux algorithmes ou ensembles de données n'apporte pas toujours une augmentation linéaire des performances. Par conséquent, une quantité substantielle de tests est nécessaire avant le déploiement en direct. Les tests de module ML pour les cas extrêmes et les attaques potentielles de réseau contradictoire génératif (GAN) en sont encore à leurs balbutiements, mais c'est certainement quelque chose que les chefs de projet doivent garder à l'esprit lors de l'exécution d'un produit ML en direct.

Rôles clés dans le cycle de vie du développement de l'IA

Les exigences lourdes en données du développement d'applications ML apportent de nouveaux rôles dans le SDLC des produits d'IA. Pour être un excellent chef de projet dans le domaine des applications ML, vous devez être très familier avec les trois rôles suivants : scientifiques des données, ingénieurs des données et ingénieurs des infrastructures. Bien qu'ils soient parfois déguisés sous d'autres titres, y compris les ingénieurs en apprentissage automatique, les ingénieurs en infrastructure d'apprentissage automatique ou les scientifiques en apprentissage automatique, il est important d'avoir une solide compréhension de ces postes clés et de leur impact sur le processus de développement ML.

Trois rôles clés avec lesquels les PM techniques doivent être familiarisés : scientifique des données, ingénieur des données et ingénieur en infrastructure

Trois rôles clés avec lesquels les PM techniques doivent être familiarisés : scientifique des données, ingénieur des données et ingénieur en infrastructure

Scientifique des données

Les scientifiques des données sont les personnes qui construisent les modèles d'apprentissage automatique. Ils synthétisent des idées sur la base de leur compréhension approfondie des statistiques appliquées, de l'apprentissage automatique et de l'analyse, puis appliquent leurs connaissances pour résoudre de vrais problèmes commerciaux.

Les scientifiques des données sont parfois considérés comme des versions avancées des analystes de données. Les scientifiques des données, cependant, ont généralement de solides compétences en programmation, sont à l'aise pour traiter de grandes quantités de données qui s'étendent sur plusieurs centres de données et ont une expertise en apprentissage automatique.

Ils doivent également avoir une bonne compréhension des infrastructures de données et de l'exploration de données volumineuses, ainsi qu'être capables d'effectuer des exercices exploratoires par eux-mêmes, en examinant des données et en trouvant des indices initiaux et des idées.

Compétences fondamentales : Python, R, Scala, Apache Spark, Hadoop, Machine Learning, Deep Learning, Statistiques, Data Science, Jupyter, RStudio

Ingénieur de données

Les ingénieurs de données sont des ingénieurs logiciels spécialisés dans la création de logiciels et d'infrastructures nécessaires au fonctionnement des produits ML. Ils ont tendance à se concentrer sur l'architecture globale et, même s'ils ne sont peut-être pas des experts en apprentissage automatique, en analyse ou en mégadonnées, ils doivent avoir une bonne compréhension de ces sujets afin de tester leurs logiciels et leur infrastructure. Cela est nécessaire pour permettre aux modèles d'apprentissage automatique créés par le data scientist d'être mis en œuvre avec succès et exposés au monde réel.

Compétences fondamentales : Python, Hadoop, MapReduce, Hive, Pig, Data Streaming, NoSQL, SQL, Programmation, DashDB, MySQL, MongoDB, Cassandra

Ingénieur Infrastructures

Les ingénieurs d'infrastructure s'occupent de l'épine dorsale des produits ML : la couche d'infrastructure. Bien que les ingénieurs de données puissent construire une partie de cette infrastructure, elle est souvent construite au-dessus de la couche préparée et approuvée par l'équipe d'infrastructure.

Les ingénieurs d'infrastructure peuvent travailler dans plusieurs équipes ML, dans le but de créer un environnement évolutif et efficace dans lequel les applications ML peuvent évoluer pour desservir des millions d'utilisateurs. Les ingénieurs en infrastructure s'occupent non seulement du niveau logiciel des plates-formes, mais se coordonnent également avec les partenaires du centre de données pour s'assurer que tout fonctionne correctement, de l'emplacement géographique des données hébergées au matériel. Avec ces aspects qui gagnent en importance pour les projets ML, les ingénieurs en infrastructure deviennent de plus en plus importants dans les entreprises axées sur l'IA.

Compétences fondamentales : Kubernetes, Mesos, EKS, GKE, Hadoop, Spark, HDFS, CEPH, AWS, Cloud Computing, Data Center Operations, End-to-end Computing Infrastructure, IT Infrastructure, Service Management

Défis communs aujourd'hui

Avec l'émergence de produits basés sur l'IA et le ML, les chefs de projet devraient se heurter à des défis à la fois familiers et complètement étrangers. Les meilleurs chefs de projet sont parfaitement conscients de ces problèmes potentiels tout au long du processus, de la définition des projets jusqu'à leur achèvement.

Vérification de la réalité

Malgré la popularité et les promesses de l'IA, il y a de fortes chances que le problème que vous essayez de résoudre ne nécessite pas une solution d'IA élaborée .

De nombreux problèmes de prédiction peuvent être résolus à l'aide de modèles de régression statistique plus simples et, dans certains cas, plus fiables. Il est très important pour un chef de projet d'effectuer un contrôle d'intégrité avant de démarrer un projet afin de s'assurer que le problème nécessite réellement un apprentissage automatique.

Il est parfois judicieux de commencer par un modèle statistique plus simple et d'évoluer en parallèle avec une solution basée sur le machine learning. Par exemple, si vous créez un moteur de recommandation, il peut être judicieux de commencer par une solution plus simple avec un cycle de vie de développement plus rapide, fournissant une bonne base de référence que le modèle ML suivant devrait surpasser.

Fluage de la portée de l'IA

Les causes les plus courantes de dérive de la portée dans les projets de ML sont liées au fait d' essayer de faire trop de choses à la fois et de sous-estimer l'effort nécessaire pour préparer les données .

Pour s'attaquer au premier problème, dirigez les parties prenantes afin qu'elles comprennent qu'il vaut mieux commencer par des gains rapides plutôt que par des plans grandioses. Communiquez cette approche en continu tout au long du projet, au fur et à mesure que vous construisez et testez.

Commencez par de petites caractéristiques atomiques qui peuvent être facilement définies et testées. Si vous vous retrouvez avec une tâche complexe, essayez de la décomposer en tâches plus simples qui sont de bons substituts pour votre tâche principale. Il devrait être facile de communiquer ce que ces tâches visent à accomplir.

Par exemple, si vous essayez de prédire quand un utilisateur cliquera sur une annonce spécifique, vous pouvez d'abord essayer de prédire si l'utilisateur rejette entièrement l'annonce. Dans cette approche, le problème est simplifié et peut être mieux pris en compte et prédit par les modèles ML actuels. Facebook a réalisé une excellente série approfondissant ce sujet, en se concentrant davantage sur le pipeline ML, de la création à la livraison du modèle.

Pour traiter le deuxième contributeur à la dérive de la portée, assurez-vous que vous êtes capable de préparer les données pour prendre en charge vos projets ML. Supposer simplement que vous disposez des données nécessaires, dans le format requis, est l'erreur la plus courante que commettent les chefs de projet lorsqu'ils débutent avec des projets ML. La préparation et le nettoyage des données étant souvent la partie la plus longue du processus de projet ML, la gestion de cette étape est essentielle. Assurez-vous que votre data scientist a accès aux bonnes données et peut vérifier leur qualité et leur validité avant de proposer les fonctionnalités ML qu'ils souhaitent créer.

Préparez-vous à effectuer l'étiquetage et le nettoyage des données en tant qu'exercice continu tout au long du projet, et pas seulement en tant qu'initiateur, car le projet peut toujours bénéficier de données de meilleure qualité et plus nombreuses. Cette étape n'étant pas la tâche la plus captivante, divisez ce travail en sprints afin que votre équipe de données puisse ressentir la progression de ses efforts au lieu de faire face à un arriéré de tickets sans fin.

Parfois, les entreprises sous-traitent l'étiquetage des données à des tiers. Bien que cela puisse aider à économiser du temps et des coûts initiaux, cela peut également produire des données peu fiables, ce qui entrave finalement le succès de votre modèle ML. Pour éviter cela, utilisez la technique du chevauchement multiple, où chaque élément de données est vérifié par plusieurs parties et utilisé uniquement si leurs résultats correspondent.

Lors de la planification du projet, prévoyez suffisamment de temps pour que l'équipe chargée des données effectue des ajustements au cas où vos exigences en matière d'étiquetage changent en cours de projet et qu'un nouvel étiquetage soit nécessaire.

Enfin, vérifiez si vos données peuvent être facilement utilisées avec les méthodes ML existantes au lieu d'inventer de nouvelles méthodes ML, car partir de zéro peut considérablement augmenter la durée et la portée du projet. Notez que si vous essayez de résoudre un problème de ML qui n'a pas encore été résolu, il y a de fortes chances que vous échouiez. Malgré le succès de l'apprentissage automatique et le nombre d'articles de recherche publiés, la résolution de problèmes de ML peut être une entreprise très difficile. Il est toujours plus facile de commencer avec un domaine de ML qui contient de nombreux bons exemples et algorithmes et d'essayer de l'améliorer plutôt que d'essayer d'inventer quelque chose de nouveau.

Apprentissage automatique, attentes et UX

Chaque PM doit être prêt à réfléchir à l'expérience utilisateur des produits d'IA qu'il crée et à la meilleure façon de gérer l'équipe qui les construit. Google a écrit un excellent article sur sa façon de penser l'UX et l'IA, en mettant l'accent sur l'interaction humaine.

Ce point est particulièrement important si votre produit ML doit interagir avec des opérateurs voire être remplacé par eux. La conception doit ajouter le minimum de stress nécessaire aux opérateurs et aux utilisateurs du système. Par exemple, les chatbots sont souvent basés sur l'apprentissage automatique, mais ils peuvent être pris en charge de manière transparente par un opérateur humain.

Il est également possible que les parties prenantes attendent beaucoup plus des produits d'apprentissage automatique que ce qu'ils peuvent offrir. Il s'agit généralement d'un problème résultant du battage médiatique créé par les médias lors de l'écriture sur les produits d'IA, et il est donc important que le chef de projet fixe des attentes raisonnables.

Assurez-vous d'expliquer ce qu'est réellement l'outil d'IA et ce qu'il peut apporter à vos parties prenantes afin de pouvoir gérer suffisamment bien leurs attentes avant qu'elles ne testent l'outil. Une bonne UX est formidable, mais elle ne peut pas apporter de valeur aux utilisateurs ayant des attentes irréalistes. Il est donc essentiel que tout PM impliqué les gère et éduque ses parties prenantes sur l'IA et ses capacités réalistes.

Assurance qualité (AQ) et pratiques de test en ML

L'IA dans sa forme actuelle est un domaine relativement nouveau. Jamais auparavant il n'y avait eu autant d'applications utilisant le deep learning pour atteindre leurs objectifs. Ces nouveaux développements s'accompagnent de leurs propres défis, en particulier dans les tests.

S'il est relativement facile de tester un logiciel standard doté d'un « ensemble de règles » clair écrit par des personnes, il est beaucoup plus difficile de tester de manière exhaustive des modèles d'apprentissage automatique, en particulier ceux construits à l'aide de réseaux de neurones. Actuellement, la plupart des modèles ML sont testés par les scientifiques des données eux-mêmes, mais il existe peu de méthodes de test convenues avec des équipes d'assurance qualité standard pour garantir que les produits ML n'échouent pas de manière inattendue.

Avec de nouvelles façons de manipuler les résultats des modèles connus tels que ces attaques GAN, les tests de modèles complets deviendront de plus en plus importants. Cela deviendra une priorité pour de nombreux projets ML, et nous verrons plus de tests de type "intégration" pour les modèles ML dans les années à venir. Pour la plupart des projets simples, cela peut ne pas être actuellement un problème tangible, mais il est important de garder cela à l'esprit si vous créez un produit ML stratégique.

Vol de modèle ML et plagiat

Depuis que cet article de Wired a été publié et que l'article original a été présenté à la conférence USENIX Security en 2016, il est devenu évident qu'il existe la possibilité de plagier un modèle ML en direct.

C'est encore assez difficile à bien accomplir, mais si vous avez un modèle exécuté via une API accessible au public, il est important d'être conscient de cette possibilité. En théorie, une partie disposant d'un accès substantiel à celui-ci pourrait former son propre réseau en fonction du vôtre et copier efficacement votre capacité de prédiction.

C'est encore assez limité en termes de possibilité, mais assurez-vous de travailler avec votre équipe sur une stratégie de prévention d'éventuelles attaques si cela concerne votre projet.

Pénuries de talents

Avec la demande actuelle d'experts en intelligence artificielle de classe mondiale, la concurrence pour recruter les bons talents est féroce. En fait, le New York Times rapporte que des experts en IA de classe mondiale peuvent gagner jusqu'à 1 million de dollars par an en travaillant pour les grandes puissances technologiques de la Silicon Valley. En tant que PM, pendant que vous recherchez des experts en IA pour rejoindre votre équipe, soyez conscient de ces dynamiques car elles peuvent avoir un impact sur vos cycles d'embauche, votre budget ou la qualité du travail effectué.

Cette pénurie s'étend au-delà des esprits innovants créant les nouveaux algorithmes d'apprentissage en profondeur et est également vraie pour les ingénieurs et scientifiques de données de haute qualité.

Beaucoup des personnes les plus talentueuses participent à des compétitions d'apprentissage automatique telles que Kaggle où elles peuvent espérer gagner plus de 100 000 $ pour avoir résolu des problèmes d'apprentissage automatique difficiles. S'il est difficile d'embaucher des experts ML localement, il est sage de rechercher des solutions originales, comme l'embauche d'entrepreneurs spécialisés à distance ou l'organisation de votre propre concours Kaggle pour les problèmes de ML les plus difficiles.

Défis juridiques et éthiques

Les défis juridiques et éthiques de l'IA dans la gestion de projet sont doubles.

Le premier ensemble de défis découle des données utilisées pour former les modèles ML. Il est essentiel de comprendre d'où proviennent les données que vous utilisez, et plus précisément si vous avez les droits de les utiliser et les licences qui vous permettent d'utiliser les données.

Il est toujours important de consulter vos avocats pour résoudre de telles questions avant de déployer un modèle formé sur les données pour lesquelles vous n'avez peut-être pas le bon type de licence. Comme il s'agit d'un domaine relativement nouveau, bon nombre de ces réponses ne sont pas claires, mais les PM doivent s'assurer que leurs équipes n'utilisent que des ensembles de données qu'ils ont le droit d'utiliser.

Voici une bonne liste d'ensembles de données accessibles au public pour la formation de vos algorithmes ML.

Le deuxième ensemble de défis consiste à s'assurer que votre système ne développe pas de biais systématique. Il y a eu de nombreux cas de tels problèmes ces dernières années, où une société d'appareils photo a dû admettre que sa technologie de reconnaissance des sourires ne détecte que les personnes d'une race particulière, car elle n'a été formée que sur des données contenant des visages de cette race. Un autre exemple est venu d'une grande société de logiciels, qui a dû retirer son bot Twitter d'auto-apprentissage après quelques jours d'apprentissage, car un effort concerté d'un groupe de trolls sur Internet l'a fait produire des insultes raciales et répéter des conspirations sauvages.

Le degré de ces problèmes peut être mineur ou destructeur de projet. Par conséquent, lors du développement de systèmes critiques, les PM doivent s'assurer qu'ils envisagent ces possibilités et les préviennent le plus tôt possible.

De bonnes fondations mènent à des structures solides

Les progrès de la gestion de l'information, menant à l'IA.

Les progrès de la gestion de l'information, menant à l'IA.

En résumé, la révolution imminente de l'IA apporte un ensemble de projets intéressants et dynamiques qui s'accompagnent souvent d'un processus de développement modifié, d'un archétype d'équipe différent et de nouveaux défis.

Les meilleurs chefs de projet techniques ont non seulement une bonne compréhension des bases de l'IA, mais aussi l'intuition de la difficulté de chaque étape du projet et de ce qu'il est vraiment possible de créer avec leur équipe. Étant donné que l'IA n'est pas une solution commerciale prête à l'emploi (COTS), même les entreprises qui choisissent d'acheter certains produits ML devront toujours investir dans le test de nouvelles choses et gérer correctement leurs données et leur infrastructure.

Il est clair que les types de produits logiciels et les processus pour les créer évoluent avec l'émergence de l'IA. Les chefs de projet capables de saisir et d'exécuter ces nouveaux concepts joueront un rôle déterminant dans la création des produits d'apprentissage automatique du futur.

Matériel supplémentaire de l'auteur

Théorie supplémentaire : DL et NN

Outre le verbiage plus courant de l'intelligence artificielle (IA) et de l'apprentissage automatique (ML), les chefs de projet peuvent bénéficier d'une meilleure connaissance de la distinction entre l'apprentissage en profondeur (DL) et les réseaux de neurones (NN).

Apprentissage en profondeur (DL)

L'apprentissage en profondeur fait partie d'une famille plus large de méthodes d'apprentissage automatique basées sur l'apprentissage de représentations de données, par opposition aux algorithmes classiques spécifiques à une tâche.

La plupart des modèles modernes d'apprentissage en profondeur sont basés sur un réseau de neurones artificiels, bien qu'ils puissent utiliser diverses autres méthodes.

Réseaux de neurones (NN)

Les réseaux de neurones sont des structures mathématiques connectées d'inspiration biologique qui permettent aux systèmes d'IA d'apprendre à partir des données qui leur sont présentées.

Nous pouvons imaginer ces réseaux comme des millions de petites portes qui s'ouvrent ou se ferment, selon notre entrée de données. Le succès de ces techniques a été rendu possible par la croissance de la puissance de calcul des GPU ces dernières années, nous permettant d'ajuster rapidement davantage de ces « petites portes » à l'intérieur des réseaux de neurones.

Un schéma de réseau neuronal

Un schéma de réseau neuronal

Il existe plusieurs types de réseaux de neurones, chacun accompagné de ses propres cas d'utilisation et de son niveau de complexité. Vous pouvez voir des termes tels que CNN (réseau neuronal convolutif) ou RNN (réseau neuronal récurrent) utilisés pour décrire différents types d'architecture de réseau neuronal.

Pour mieux comprendre leur apparence et leur fonctionnement, voici une excellente visualisation 3D de l'apparence des réseaux de neurones lorsqu'ils sont actifs.

Vous souhaitez en savoir plus sur l'IA ?

Si, après avoir lu ceci, vous souhaitez approfondir un peu le sujet, je vous recommande de consulter ces sources :

Comprendre les réseaux de neurones

Si vous souhaitez approfondir les mécanismes de fonctionnement des réseaux de neurones, je vous suggère de consulter la série 3Blue1Brown sur les réseaux de neurones sur YouTube. À mon avis, c'est de loin la meilleure explication approfondie des réseaux de neurones. Il est livré en termes simples et ne nécessite aucune connaissance préalable.

Se tenir au courant des actualités sur l'IA

Si vous souhaitez vous tenir au courant des dernières avancées de la technologie de l'IA sans passer des heures à lire des articles universitaires, je vous recommande les articles de deux minutes suivants. Cette chaîne fournit des mises à jour hebdomadaires de deux minutes sur les nouvelles techniques d'IA les plus impressionnantes et leurs implémentations.

Apprendre les bases du développement ML

Si jamais vous voulez essayer vous-même le code et que vous avez des compétences rudimentaires en Python, vous pouvez consulter Fast.ai. Leur cours permet à toute personne possédant des compétences de base en développement de commencer à expérimenter et à jouer avec les réseaux de neurones.

Fondements de l'apprentissage automatique

Cette suggestion s'adresse à ceux qui souhaitent commencer dès le début et progresser jusqu'au sommet de la compréhension et de la mise en œuvre de l'apprentissage automatique.

Créé par le désormais légendaire Andrew Ng, qui a lancé Coursera avec ce cours, il nécessite un investissement en temps substantiel - au moins six mois - mais cela peut être une façon extrêmement productive de passer un samedi.


Remarque : Les définitions des termes clés ont été adaptées de Wikipedia.