Accéder à l'en-tête Accéder au contenu principal Accéder au pied de page
Retour aux actualités
Non classé
04/12/2023 Édouard Gomez-Vaëz

Une Immersion dans le Monde de l’IA Générative (version longue)

Hier, j’ai eu l’immense plaisir d’assister à la première édition des Gen AI Days à Paris, un événement dédié à l’IA générative. En tant qu’adepte de la technologie, j’étais ravi de rejoindre 200 experts pour explorer les applications de l’IA dans le monde réel, partager des connaissances et découvrir des outils open source.

J’ai eu l’impression d’être un témoin privilégié de l’évolution rapide de l’intelligence artificielle, et n’ai pu m’empêcher de ressentir que nous sommes à un tournant historique. C’est comme si j’avais assisté en direct au passage de l’IA, suivant le modèle de Wardley, d’un « Produit » à une « Commodité ». Selon cette approche, développée par Simon Wardley, les technologies et les produits traversent différents stades d’évolution – de l’innovation (‘Genesis’), en passant par le développement de produits personnalisés (‘Custom Built’), vers des produits plus standardisés (‘Product’), et finalement vers la commoditisation (‘Commodity’).

L’IA, autrefois un domaine de recherche de pointe et d’innovation, est désormais devenue une ressource accessible et intégrée dans divers aspects de nos vies et de nos entreprises sous la forme d’IA générative (la GenAI). Cette transition a ouvert la porte à une pléthore de nouveaux usages et applications, faisant naître plein de nouvelles activités en phase de ‘Genesis’, où l’expérimentation et l’innovation foisonnent.

L’atmosphère de la conférence me rappelait la découverte de l’électricité et son intégration progressive dans toutes les maisons. Tout comme l’électricité a déclenché une vague d’inventions, certaines pratiques et d’autres plus excentriques (comme l’idée d’un canapé réfrigéré), l’arrivée de l’IAGen élargit notre horizon d’imagination et d’application technologique.

Ce qui m’a le plus marqué, c’est la sensation vivifiante qui se dégageait de l’événement. Il y avait une énergie palpable, un mélange d’enthousiasme et de curiosité. Les intervenants, beaucoup d’entre eux n’étant pas des orateurs habitués aux conférences, partageaient leurs expériences et leurs doutes avec une grande humilité. Leur intelligence et leur volonté d’explorer, d’expérimenter et de partager ouvraient la voie à un dialogue sincère et innovant. Cette expérience m’a laissé une impression durable de l’incroyable potentiel que nous commençons tout juste à débloquer avec l’IAGen.

L’émergence de la compétence de « prompt engineer » représente une évolution passionnante dans le paysage de l’intelligence artificielle et de la programmation. Cette spécialisation, à la croisée de la science des données, de l’ingénierie logicielle et de la linguistique computationnelle, s’attache à concevoir et à affiner des prompts – ces instructions ou requêtes données à des modèles d’intelligence artificielle, notamment ceux basés sur le traitement du langage naturel, pour générer des réponses ou des solutions pertinentes.

Le rôle du prompt engineer est crucial dans l’exploitation optimale des capacités des modèles d’IA, en particulier ceux basés sur des architectures telles que GPT (Generative Pre-trained Transformer). La création de prompts efficaces nécessite non seulement une compréhension approfondie du modèle d’IA et de ses capacités, mais aussi une capacité à anticiper et à structurer les besoins des utilisateurs en requêtes claires et précises.

D’autre part, l’intégration d’outils spécialisés existants est une compétence tout aussi essentielle dans le monde technologique d’aujourd’hui. Avec l’abondance de solutions logicielles et d’applications d’IA, la capacité à intégrer et à harmoniser ces outils pour créer des systèmes plus complets et efficaces est primordiale. Cette intégration nécessite une compréhension technique solide, ainsi qu’une vision stratégique pour aligner efficacement les technologies disponibles avec les objectifs d’affaires.

La combinaison de ces deux compétences – le prompt engineering et l’intégration d’outils spécialisés – ouvre un champ de possibilités pour les entreprises. Par exemple, un prompt engineer peut développer des requêtes sophistiquées pour extraire des informations précises de grands ensembles de données en utilisant des outils d’IA, tandis que l’intégration de ces outils avec d’autres systèmes d’entreprise permet de mettre ces informations à profit dans des applications pratiques telles que la prise de décision automatisée, l’analyse de tendances du marché ou la personnalisation de l’expérience client.

Dans un environnement commercial, cette combinaison permettrait de créer des systèmes où l’IA peut être utilisée de manière plus intuitive et efficace, réduisant la barrière technique pour les utilisateurs finaux et maximisant l’impact des technologies d’IA. L’intégration d’outils spécialisés garantit également que les solutions d’IA sont bien alignées avec les systèmes et processus existants, assurant une mise en œuvre fluide et une adoption plus large.

En résumé, le rôle du prompt engineer, couplé à la compétence d’intégration d’outils spécialisés, représente une avancée significative dans le domaine de l’IA. Cette synergie permet d’exploiter pleinement le potentiel des technologies d’IA, en les rendant plus accessibles et applicables dans une variété de contextes professionnels.

La mise en œuvre interne d’une compétence en « prompt engineering » couplée à l’intégration d’outils spécialisés peut débuter efficacement par le développement d’applications dédiées à la création de prompts qui interagissent ensuite avec des API d’IA. L’utilisation de plateformes no-code pour ce faire représente une approche particulièrement judicieuse. Ces plateformes permettent de concevoir et de déployer rapidement des applications sans nécessiter de compétences approfondies en codage, rendant la technologie accessible à un plus large éventail d’utilisateurs au sein de l’entreprise.

Le no-code offre la flexibilité de créer des interfaces utilisateur intuitives où les employés peuvent générer des prompts personnalisés. Ces prompts peuvent ensuite être utilisés pour interroger des modèles d’IA via des API, fournissant des réponses ou des analyses utiles pour diverses applications professionnelles. Cette méthode facilite l’adoption de l’IA générative en réduisant la complexité technique et en démocratisant l’accès aux puissantes capacités de ces modèles.

En sortant d’une conférence aussi inspirante, il est naturel de se projeter dans l’avenir et d’envisager des applications pratiques. Je peux imaginer une version next-gen de Arolla, où tous les processus sont assistés par la GenAI. Intégrer l’IA au cœur des activités principales de l’entreprise n’est pas seulement une vision futuriste ; c’est une stratégie pragmatique pour améliorer l’efficacité, l’innovation et la personnalisation des services.

Cette vision s’aligne avec ce qui a été présenté par une agence d’intérim lors de la conférence. Ils ont illustré comment l’IA générative pouvait être au centre de leur modèle d’affaires, en améliorant la mise en relation entre les employeurs et les candidats, en optimisant les processus de recrutement et en fournissant des analyses prédictives pour anticiper les besoins du marché.

En intégrant la GenAI dans le core business, les entreprises peuvent non seulement automatiser des tâches répétitives mais aussi générer des insights précieux, personnaliser les interactions avec les clients et même stimuler l’innovation en interne. Cela conduit à une transformation numérique plus profonde où la GenAI devient un moteur de croissance et d’efficacité, redéfinissant les méthodes de travail et ouvrant de nouvelles avenues pour la création de valeur.

L’adoption et l’intégration réussies de l’intelligence artificielle générative (IAGen) dans une entreprise nécessitent une mentalité de pionnier plutôt que de colonisateur, en référence aux concepts développés par Simon Wardley. Dans son modèle, les « pioneers » (pionniers) sont ceux qui explorent de nouveaux territoires, innovant et prenant des risques pour développer de nouvelles idées. Les « settlers » (colons), quant à eux, perfectionnent et stabilisent ces innovations, les transformant en produits ou services fiables et largement accessibles. Cette distinction souligne la nécessité d’une approche audacieuse et expérimentale, caractéristique de figures comme Cyrille Martraire, pour naviguer dans le domaine complexe et en constante évolution de l’IAGen.

Dans ce contexte, il est essentiel de ne pas se laisser intimider par les détails techniques qui peuvent parfois sembler relever plus de la « bricole » que de la science exacte. Par exemple, l’utilisation d’Elasticsearch au lieu d’une base de données vectorielle (vector db) pour la première étape de traitement des données est une telle astuce technique. Elasticsearch, avec sa capacité à gérer des volumes importants de données non structurées, peut être un choix judicieux lorsque les données existent déjà dans un format exploitable.

De même, il existe des méthodes pour rechercher des données même en leur absence, en utilisant des techniques comme les requêtes « shadow » ou « anti ». Bien que ces concepts puissent paraître déroutants au premier abord, surtout s’ils sont présentés rapidement, ils représentent des stratégies innovantes pour extraire de la valeur des données de manière non conventionnelle.

Les mots-clés tels que « token », « vector », « context », « fine-tuning vs RAG », « guided vs open prompt », « embedding », et « hallucination » sont essentiels dans le monde de l’IAGen. Chacun de ces termes représente un aspect différent de la manière dont les modèles d’IA générative fonctionnent et sont entraînés. Par exemple, le « fine-tuning » implique l’ajustement d’un modèle pré-entraîné pour des tâches spécifiques, tandis que RAG (Retrieval-Augmented Generation) combine la récupération d’informations et la génération de texte. Les « prompts » guidés et ouverts se réfèrent à différentes méthodes de sollicitation de réponses de la part des modèles d’IA.

Ces concepts, bien que techniques, sont les pierres angulaires de l’innovation dans le domaine de l’IAGen. Ils représentent les outils et techniques que les « pionniers » de l’IA utilisent pour explorer de nouvelles applications et pousser les frontières de ce que la technologie peut accomplir. Adopter un esprit de pionnier signifie s’immerger dans ces détails, expérimenter avec audace et accepter l’incertitude et les défis inhérents à l’exploration de territoires inconnus.

L’approche innovante du projet « AutoPHP » de Maxime Thoonsen, un agent GPT générique, illustre parfaitement l’évolution actuelle des modèles d’IA générative vers des fonctionnalités plus autonomes et polyvalentes. Ce projet permet à un robot, programmé en PHP pour souligner son accessibilité et sa simplicité, d’apprendre à effectuer différents types de tâches, allant au-delà des capacités initialement programmées. Cette flexibilité et cette capacité d’adaptation sont cruciales dans le développement actuel des agents d’IA.

Cette idée s’inscrit dans une tendance plus large où les modèles d’IA, comme ChatGPT-4, ne se contentent plus de répondre aux requêtes de manière passive, mais prennent une part active dans la résolution de problèmes. Par exemple, si un utilisateur demande le nombre d’étoiles d’un projet sur GitHub, ChatGPT-4 ne se limite pas à générer un code pouvant effectuer cette tâche ; il tente plutôt d’exécuter ce code directement. Cela représente un changement significatif par rapport à l’approche traditionnelle, où l’IA se contentait de fournir des instructions ou des exemples de code.

Ce comportement spontané, où l’IA génère et exécute activement du code, ouvre de nouvelles possibilités pour les interactions homme-machine. Il permet non seulement un gain de temps en automatisant des tâches, mais aussi une augmentation de l’efficacité en réduisant les erreurs humaines potentielles dans la transcription ou l’interprétation du code. De plus, cette capacité d’exécution autonome est un pas en avant vers des systèmes d’IA plus sophistiqués, capables de comprendre et de répondre de manière plus intuitive aux besoins des utilisateurs.

En revanche, cela soulève également des questions importantes en matière de sécurité, de gouvernance et de contrôle. La capacité d’une IA à exécuter du code indépendamment nécessite des mécanismes de surveillance et de validation robustes pour garantir que les actions entreprises sont sécurisées et conformes aux attentes de l’utilisateur.

En résumé, le projet d’agent GPT générique « AutoPHP » de Maxime Thoonsen et le comportement autonome de modèles comme ChatGPT-4 indiquent une évolution vers des agents d’IA plus autonomes et polyvalents. Cette évolution promet de transformer notre interaction avec la technologie, nous menant vers une ère où l’intelligence artificielle ne sera pas seulement un outil, mais un partenaire actif dans la résolution de problèmes complexes.

L’intégration de GitHub Copilot dans une équipe de développement, même pour un langage traditionnel comme le Cobol, peut révolutionner la manière dont le code est compris et manipulé. En tant que leader technique (LT) dans une telle équipe, vous pourriez trouver en Copilot un outil précieux pour naviguer et comprendre le code existant. Copilot, grâce à son apprentissage à partir d’une vaste base de données de code, peut fournir des insights et des suggestions pertinentes même pour des langages moins courants comme le Cobol.

La fonctionnalité de chat de Copilot ouvre encore plus de possibilités. Elle permet une interaction plus naturelle et intuitive avec l’outil, offrant des commandes et des réponses plus sophistiquées. Cette capacité à dialoguer avec l’outil augmente la facilité d’utilisation et la flexibilité, rendant Copilot plus accessible aux développeurs de tous niveaux.

L’importance de l’ouverture de plusieurs onglets dans l’environnement de développement intégré (IDE) est une autre caractéristique clé de Copilot. Ces onglets aident à définir le contexte pour Copilot, lui permettant de mieux comprendre le projet sur lequel vous travaillez et d’offrir des suggestions plus précises et pertinentes. Cette fonctionnalité de contexte améliore considérablement l’efficacité de l’outil dans la génération de code et la résolution de problèmes.

Enfin, Copilot n’est pas seulement un outil pour générer des lignes de code ; il peut accompagner tout le processus de développement, y compris les pull requests (PR). Il peut offrir des vérifications de qualité du code et des contrôles de sécurité, ajoutant une couche supplémentaire de vérification et d’assurance qualité. Cependant, il est important de noter que, pour l’instant, Copilot n’est pas configuré pour lancer des tests dans l’IDE lui-même afin de vérifier si le code généré passe ces tests. Cette tâche peut être faite par GitHub Copilot dans la CI (Continuous Integration), encourageant les équipes à améliorer leurs pipelines CI et à utiliser plus efficacement les ressources de serveur.

Cette approche encourage les développeurs à réfléchir davantage sur les tests qu’ils pourraient ajouter pour améliorer la qualité et la fiabilité de leur code. En somme, GitHub Copilot représente une avancée significative dans l’assistance au développement de logiciels, offrant aux équipes un outil puissant pour améliorer leur code et leurs processus de développement.

L’une de mes hypothèses personnelles concernant l’évolution des outils d’IA comme GitHub Copilot réside dans la question du coût. Actuellement, ces services sont largement accessibles, souvent à un coût nominal ou même gratuitement, principalement grâce au financement par des entreprises comme Microsoft. Cette facilité d’accès a indéniablement joué un rôle crucial dans leur adoption rapide et leur intégration dans les processus de développement de logiciels. Toutefois, cette situation soulève une interrogation légitime : que se passera-t-il lorsque chaque appel à ces services commencera à coûter réellement, par exemple, $0.3 ?

Si une telle situation se matérialise, cela pourrait avoir un impact significatif sur la manière dont les entreprises et les développeurs individuels utilisent ces outils. Pour les petites entreprises et les développeurs indépendants, en particulier, le coût accru pourrait limiter leur capacité à utiliser ces technologies avancées, ce qui pourrait freiner l’innovation et l’égalité d’accès aux outils de développement de pointe. D’un autre côté, cela pourrait également conduire à une utilisation plus judicieuse et ciblée de ces outils, poussant les utilisateurs à optimiser leurs requêtes et à maximiser l’efficacité de chaque appel d’API.

Il est également possible que cela conduise à l’émergence de modèles de tarification différenciés, où les utilisateurs pourraient choisir entre différents niveaux de service en fonction de leurs besoins et de leur budget. Dans un tel scénario, les grandes entreprises disposant de ressources plus importantes pourraient continuer à bénéficier pleinement de ces outils, tandis que les utilisateurs aux budgets plus limités pourraient opter pour des versions plus basiques ou des alternatives moins coûteuses.

Cependant, je n’ai pas eu l’occasion de discuter de cette hypothèse avec d’autres participants lors de la conférence pour savoir si d’autres partagent cette préoccupation. Il serait intéressant d’explorer davantage cette question pour comprendre comment la communauté des développeurs et les entreprises envisagent de naviguer dans ce potentiel paysage de coûts changeants pour les outils d’IA. Cette question pourrait également inciter les fournisseurs de ces outils à réfléchir à des stratégies de tarification qui maintiennent un équilibre entre accessibilité et viabilité économique.

L’avènement et la montée en puissance de l’intelligence artificielle générative soulèvent inévitablement des questions politiques et éthiques, notamment en ce qui concerne la redistribution de la valeur énorme qu’elle est susceptible de générer. Cette préoccupation, particulièrement prégnante dans les milieux créatifs, tels que l’industrie audiovisuelle aux États-Unis, reflète une tendance plus large dans la société. Souvent, les revendications et les inquiétudes des professionnels de ces secteurs créatifs sont précurseurs des défis auxquels le reste de la société sera confrontée plus tard.

Dans l’industrie audiovisuelle, par exemple, l’utilisation croissante de l’IA pour la création de contenu soulève des questions sur la propriété intellectuelle, la rémunération équitable et la reconnaissance des créateurs humains. Ces préoccupations ne sont pas isolées à ce secteur et trouvent un écho similaire dans le monde du développement logiciel. Avec des outils comme GitHub Copilot générant du code, les développeurs s’interrogent également sur des sujets tels que la propriété du code généré par l’IA, les droits d’auteur et la manière dont la valeur générée par ces outils est attribuée et partagée.

Ces similitudes entre les préoccupations des artistes et des développeurs mettent en lumière un thème commun : alors que l’IA continue de s’intégrer dans divers aspects de la création professionnelle, la nécessité d’une réflexion approfondie sur l’équité, la propriété et la répartition de la valeur devient de plus en plus urgente. Cela soulève des questions fondamentales sur la manière dont les systèmes actuels peuvent et doivent évoluer pour s’adapter à cette nouvelle ère de création assistée par l’IA.

En conclusion, notre voyage dans le monde en constante évolution de l’intelligence artificielle générative révèle non seulement des avancées technologiques impressionnantes mais aussi des défis complexes et multidimensionnels. De la question des coûts et de l’accessibilité des outils d’IA aux enjeux de redistribution de la valeur et de justice équitable, il est clair que les implications de l’IAGen vont bien au-delà de la technologie elle-même. À mesure que nous avançons, il est crucial de garder ces considérations en tête, en veillant à ce que les bénéfices de l’IA générative soient partagés de manière équitable et que son impact soit positif et inclusif pour l’ensemble de la société.