Jul 4, 2023

L'Art du Prompt pour maitriser l'IA generative

L'Art du Prompt pour maitriser l'IA generative

L'esprit du temps technologique continue d'être caractérisé par des percées remarquables en intelligence artificielle, dont les résultats finaux sont encore très largement indéfinis. Les avancées en IA générative ont joué un rôle particulièrement important dans l'attention portée par le public à l'ensemble du domaine de l'IA. Auparavant, les modèles d'apprentissage automatique étaient largement limités à des capacités prédictives et étaient beaucoup plus déterministes. Avec l'avènement d'architectures comme les GANs, les VAEs et les Transformers, l'IA générative a pu se réaliser. Ces modèles sont capables de générer des résultats originaux en se référant et en apprenant à partir d'un large corpus de données.

L'IA générative n'est pas un phénomène complètement nouveau. La technologie existe depuis une bonne partie d'une décennie. Cependant, la création de jeux de données plus grands et la construction de modèles à grande échelle ont aidé à mieux débruiter les modèles génératifs et à produire des résultats de meilleure qualité. Si vous avez une connexion internet, il y a de fortes chances que vous ayez probablement joué et créé des images étranges en utilisant des modèles comme StableDiffusion ou demandé à ChatGPT de vous aider à rédiger votre dissertation due à minuit. (Je suis personnellement impatient d'utiliser à nouveau Github’s Copilot après l'avoir essayé avec quelques-uns de mes dépôts de projets.) Étant donné les capacités de ces systèmes d'IA générative, il est presque difficile de croire que nous sommes encore au début de ce qui ressemble à une révolution technologique.

Les modèles d'IA générative varient en termes de modalités d'entrée et de sortie et il reste beaucoup à découvrir, mais une chose est certaine : le texte est une interface puissante. Les modèles qui ont été commercialisés avec succès par les entreprises tirent tous parti d'une interface utilisateur textuelle bien conçue. C'est assez intuitif puisqu'une interface utilisateur basée sur le texte est l'un des canaux les plus concrets et directs d'interaction homme-ordinateur. Les modèles génératifs d'interface texte nécessitent tous que l'utilisateur crée des entrées écrites - appelées "prompts" - pour que le modèle les interprète afin de produire une sortie logique. Les grands modèles de langage, les générateurs de texte en image et les autres systèmes pilotés par le texte sont naturellement très réactifs aux nuances du prompt en raison de leur taille et de leur portée contextuelle.

Obtenir une sortie souhaitée est une tâche difficile lorsqu'on travaille avec un système aussi massif et opaque. Et comme pour tout domaine émergent, il y a de nouvelles tâches à accomplir. Que l'on parle de personnes qui construisent et testent des modèles génératifs, ou d'utilisateurs finaux qui essaient d'obtenir les sorties qui répondent le mieux à leurs besoins, il y a une nouvelle compétence (et, diable, même un nouveau titre de poste) en ville : l'ingénierie des prompts.

Qu'est-ce que l'ingénierie des prompts ?

L'ingénierie des prompts, en un mot, est la discipline qui consiste à déterminer de manière itérative comment instruire au mieux un modèle pour obtenir une sortie souhaitée. Comme mentionné précédemment, les prompts sont simplement des entrées linguistiques écrites par l'utilisateur et qui sont transmises au modèle. Bien que presque tous les prompts soient composés de langage humain, quelques modèles uniques comme OpenAI’s Codex et même ChatGPT, peuvent traiter d'autres prompts textuels comme des extraits de code. L'ingénierie des prompts vise à compiler un ensemble de principes et de techniques pour créer des prompts qui sont les mieux adaptés pour obtenir des réponses riches et précises du modèle avec lequel ils travaillent.

Créer des prompts de base et efficaces implique de déterminer comment instruire au mieux un modèle pour obtenir ce que vous recherchez. L'utilisation de commandes spécifiques comme "écrire", "lister", "classer", etc. aidera à guider le modèle pour exécuter la tâche requise. Lors de la création de prompts, la précision est essentielle pour éviter toute erreur se propageant du modèle à sa réponse. Les plateformes LLM telles qu'OpenAI et Cohere ont toutes de très bons guides pour l'ingénierie des prompts. Des techniques plus avancées sont discutées, comme les prompts récursifs, les prompts à zéro et à quelques coups, et les prompts en chaîne de pensée (CoT) qui peuvent être utilisés pour des tâches de génération de langage naturel plus complexes.

L'ingénierie des prompts ne traite pas seulement de la création de prompts. Un utilisateur peut ajuster les paramètres du modèle pour obtenir des résultats différents de ses prompts. Par exemple, modifier la température d'un modèle peut contrôler comment un modèle de langage choisit son prochain token. Plus la valeur du paramètre de température est faible, plus la réponse sera déterministe, puisque le token de plus haute probabilité dans la séquence est sélectionné. Augmenter la température d'un modèle pourrait introduire plus de variance et de créativité dans la réponse. Si vous vouliez utiliser un modèle pour des réponses factuelles et laconiques, comme une Q&R ou une résumé, vous pourriez baisser la température d'un modèle de langage. Mais si vous vouliez simplement faire de la poésie, augmenter la température d'un modèle pourrait fournir des réponses plus désirables.

La sécurité et l'éthique d'un modèle d'IA générative doivent également être sérieusement prises en compte lors de l'ingénierie des prompts. Les biais dans les données d'entraînement ainsi que les demandes contraires à l'éthique doivent être masqués par le modèle sous-jacent. Pour le répéter : Le texte est une interface puissante. Puissant ne signifie pas toujours mieux. Le fait de faire des prompts est encore une façon très nébuleuse d'interagir avec les modèles. Il est très difficile de coder en dur des protections dans l'interface pour empêcher les utilisateurs d'utiliser de manière malveillante les modèles d'entrée de texte génératif. L'ingénierie des prompts traite également de la mitigation de ce risque. Il est crucial de comprendre comment les prompts adversaires peuvent potentiellement contourner les couches de sécurité du modèle. La découverte de vulnérabilités, comme des prompts spécifiques qui fuient des informations sensibles par injection de prompts, ou le débridage d'un modèle afin de produire une réponse à partir d'instructions contraires à l'éthique, sont des considérations primordiales.

Apprendre à ramper avant de pouvoir marcher

L'ingénierie des prompts est-elle le premier d'une nouvelle classe d'emplois nés directement de l'innovation en IA ? Cela en a tout l'air. Il est indéniable que l'écriture de bons prompts est une compétence qui apporte beaucoup de valeur aux entreprises qui cherchent à tirer parti des LLM et à les intégrer dans leurs produits. Pour paraphraser Sam Altman, l'ingénierie des prompts est comme la programmation en langage naturel. Des entreprises comme Scale AI et Anthropic AI ont commencé à chercher des personnes pour se concentrer sur le hacking avec des prompts afin d'améliorer l'efficacité de leurs modèles propriétaires.

Cependant, l'ingénierie des prompts en tant que discipline n'existe que depuis quelques années. Nous sommes tellement au début de la trajectoire de l'IA générative qu'il est difficile de prédire à quoi pourrait ressembler l'ingénierie des prompts dans un avenir proche. L'ingénierie des prompts dans son état actuel est très certainement un art et non une science, mais cela pourrait bien être sujet à changement. Pour tirer le meilleur parti de ces modèles, il est important de donner des prompts de manière délibérée et explicite. Tout comme taper un seul mot dans un moteur de recherche comme Google va générer beaucoup de résultats de recherche "bruyants", être vague avec un prompt LLM est susceptible de produire des résultats tout aussi vagues.

Les modèles continueront d'évoluer et de s'adapter à plus de complexité et de contraintes. Tout comme les techniques d'apprentissage automatique comme le réglage des hyperparamètres et la validation croisée sont devenues plus abstraites, il est possible qu'une grande partie du travail qui entre dans l'ingénierie des prompts connaisse une réduction similaire. Les chercheurs travaillent actuellement sur des techniques d'auto-prompts en sélectionnant automatiquement un prompt optimal pour la tâche à accomplir. Pour tout ce que nous savons, les tâches d'un ingénieur de prompts pourraient être absorbées par l'ingénieur d'apprentissage automatique conventionnel.

Est-ce que l'IA va prendre mon travail ?

L'émergence de la discipline de l'ingénierie des prompts tire sur un fil spéculatif, quoique anxieux, de pensée pour beaucoup de gens. Comment l'innovation en IA va-t-elle affecter nos emplois ? Un récent article de Eloundou et al. a révélé que "[...] environ 80% de la main-d'œuvre américaine pourrait voir au moins 10% de leurs tâches de travail affectées par l'introduction de [modèles transformateurs pré-entraînés génératifs], tandis qu'environ 19% des travailleurs pourraient voir au moins 50% de leurs tâches de travail affectées".

En considérant le contexte plus large de la perturbation de l'IA, il est compréhensible de considérer les implications sociétales de l'innovation fréquente. D'une part, il est justifié que les gens craignent une réduction des salaires ainsi qu'un déplacement des emplois en raison de la montée de l'automatisation. L'IA, en particulier les modèles génératifs multimodaux, a démontré le potentiel de gérer de nombreuses tâches qui sont effectuées manuellement aujourd'hui. L'anxiété exprimée par beaucoup que l'IA va "manger" leurs emplois n'est pas loin de la réalité. Cependant, l'histoire montre que les innovations technologiques créent presque toujours un résultat net positif.

Les cycles précédents de perturbation innovante remontant à la révolution industrielle, à l'essor de l'automobile, et à l'émergence de la Silicon Valley ont tous, à long terme, eu un effet net positif sur les emplois créés. La main-d'œuvre a soit changé d'occupations, soit assumé de nouvelles responsabilités créées par l'innovation au sein de leur occupation existante. Le Forum Économique Mondial estime que dans la prochaine décennie, l'IA va créer une augmentation du PIB mondial de 26% et produire une augmentation nette de 12 millions d'emplois. Cette prévision, combinée avec les tendances historiques, devrait apaiser beaucoup d'inquiétudes concernant l'érosion de la main-d'œuvre due à l'innovation rapide en IA.

Les cycles d'innovation créent toujours de nouvelles catégories de travail à accomplir. Pensez à toutes les différentes occupations créées à la suite de nouveaux matériels et logiciels. Nous avons maintenant des développeurs mobiles spécifiques à iOS et Android et des ingénieurs maîtrisant Rust et Haskell contribuant à l'espace Crypto. L'augmentation de la capacité de ces occupations permet plus d'opportunités pour la main-d'œuvre mondiale de se spécialiser.

L'ingénierie des prompts, qu'il s'agisse d'un phénomène à court terme ou non, est un signal positif pour calmer la panique face à la perte d'emplois due à l'IA. De la même manière que la mise à l'échelle des LLM révèle de nouvelles capacités latentes, l'ingénierie des prompts est une démonstration de la façon dont davantage d'investissements et de progrès dans le domaine produiront soit de nouveaux emplois, soit renforceront les emplois existants. Pour des raisons éthiques et de sécurité, nous pouvons nous attendre à un certain degré de supervision humaine et d'interaction en boucle avec ces systèmes, sans jamais nous engager pleinement dans une automatisation totalement aveugle. Si quoi que ce soit, des outils comme les LLM et des compétences comme l'ingénierie des prompts permettront de renforcer et d'augmenter l'efficacité et la productivité des travailleurs.

Démarrez votre expérience AI-STUDIO