Rendre les nouvelles applications d’IA aussi simples que ChatGPT ? Pas si facile.

Photo by Emiliano Vittoriosi
Estimated reading time: 5 minutes

Teaser

Hallucinations, violation des droits de propriété intellectuelle et manque de confidencialité des données – pourquoi la création d’une nouvelle application alimentée par l’IA n’est pas aussi simple que ne le laisse penser l’intégration de ChatGPT ?

Introduction

Avec le flux constant d’articles proclamant le pouvoir miraculeux de ChatGPT pour l’interrogation – en language naturel – de n’importe quoi, à n’importe quel endroit pour l’assistance en développement, la rédaction, et l’organisation personnelle, c’est facile d’imaginer que créer ces nouvelles applications est très facile. Les applications qui étaient autrefois très sophistiquées sont désormais réalisables, tout ça en quelques heures de travail et sans besoin d’une grande équipe de développeurs, ou du moins c’est ce que l’on nous fait croire.

En regardant quelques-uns de ces nouveaux produits alimentés par ChatGPT, il semble certain qu’une nouvelle génération d’outils de traitement automatique du langage naturel est là. C’est vrai que les aides à la rédaction sont de plus en plus efficaces pour générer des idées intéressantes pouvant débloquer les auteurs ou pour produire un contenu attrayant à partir de quelques grandes lignes. De la même façon, les assistants de développement peuvent générer des extraits de code dans n’importe quel langage à partir de quelques commentaires sur le comportement attendu d’une fonction. Pendant ce temps, les requêteurs, comme ceux qui transforment le langage naturel en langage SQL, peuvent trouver les bonnes réponses dans une base de données avec une précision digne d’un analyste de données, ou comme ceux ingérant tout le contenu d’un site web afin de trouver une réponse détaillée avec une rapidité jamais vue auparavant.

Aussi facile que 1-2-3 ?

D’autres outils et bibliothèques open-source ont également vu le jour rapidement, ce qui donne l’impression qu’il est encore plus facile d’intégrer directement les LLMs (modèle de langage de grande taille). Avec ces outils, une grande partie des problèmes liés au codage des applications de Machine Learning, comme la structuration des données, la création de modèle d’apprentissage automatique et le traitement des résultats semblent avoir disparu, on peut accélérer l’injection de grands modèles de langage directement dans un produit pour le rendre piloté par l’IA en un temps record.  LangChain en est un exemple. Un nouveau favori des fans pour le développement d’applications avec des LLMs, y compris ChatGPT, il peut faire beaucoup de choses, du traitement des données à la construction de magasins vectoriels (type de base de données optimisée pour le stockage de document), la gestion et l’enchaînement des prompts, ainsi que l’interaction générique avec n’importe quel LLM. Même l’utilisation des API et du SDK d’OpenAI est une victoire pour le développement rapide d’algorithme de Machine Learning, car elle supprime le besoin d’une infrastructure de modèle d’apprentissage automatique et simplifie les finitions.

Pas si facile pour toutes les applications

Cependant, aussi ‘facile’ que cela paraît pour créer ces nouvelles applications, ils ont souvent en commun certains aspects qui les rendent réalisables en premier lieu. Typiquement, elles ont des résultats plus flous et indulgents en termes de précision. Par exemple, avec les aides à la rédaction, ce qui constitue une “bonne” idée ou une idée “utile” est subjectif, de sorte que l’utilisateur peut essayer plusieurs fois avant de faire un choix. En outre, il peut s’agir d’applications à faible enjeu, comme les questions-réponses dans la documentation ou sur les sites web, où la mauvaise réponse est gênante mais ne risque pas de détruire tout un business. Il convient de noter que, par définition, la facilité est synonyme de non-différenciation des entreprises.

Les cas d’usages les plus compliqués, en revanche, sont moins fréquents parce qu’ils demandent des compétences telles que l’ingénierie de prompt, comprendre comment ces modèles fonctionnent et une vraie expérimentation deviennent vitaux. L’ingénierie de prompt va au-delà de l’essai et des erreurs à l’aveugle, connaître les bonnes façons de “murmurer” à une machine est encore en évolution et pas toujours bien connu.

Ce qui détermine un bon ingénieur NLP est l’expérience à travers plusieurs cas d’usages, et l’apprentissage et la compréhension des raisons pour lesquelles le modèle peut se comporter comme il le fait. Ce dernier point nécessite souvent une compréhension de l’IA générative, de ses limites et de son comportement typique dans le cadre de son architecture. 

Hallucinations, la confidentialité des données et la perte de propriété intellectuelle ajoutent de la complexité

D’autres aspects différencient les cas d’usages les plus compliqués de ceux les plus communs, les plus populaires sont la sensibilité et la tolérance aux hallucinations. Dans le cas d’une de ces applications à fort enjeu, le meilleur scénario est que la tendance de GPT à halluciner ajoute de la complexité à l’ingénierie de prompt, cela nécessite de mettre en place des garde-fous et des méthodes de détection supplémentaires pour la prévention, et implique d’avoir une idée de ce que sont les “bonnes réponses”. Les pires cas cependant, sont ceux où il n’est pas possible de faire d’erreur, comme c’est souvent le cas dans les domaines de l’assurance, du juridique et de la santé, ces modèles ne peuvent donc pas être utilises. Par exemple, les mauvaises réponses peuvent coûter des millions aux entreprises axées sur la donnée, ainsi, ils n’utilisent pas de LLM ou une autre approche de NLP est nécessaire à la place. 

Dans le même ordre d’idées, la confidentialité des données et la perte potentielle de propriété intellectuelle sont deux autres éléments qui rendent un cas d’usage plus complexe. Faire fonctionner les prompts LLM pour NL au code ou au langage de recherche de base de données, comme SQL ou NoSQL, nécessite souvent certaines données telles que le schéma de base de données ou des exemples réels à partir de colonnes. Cependant, le fait que la plupart des LLMs soient hébergés par des tiers, l’envoi de données à ces derniers signifie la perte de leur contrôle, certaines entreprises ne peuvent pas autoriser cela, donc les prompts sont voués à ne pas fonctionner, ou pas correctement. C’est particulièrement le cas pour les applications qui contiennent des données personnelles indentifiables. En fin de compte, il n’est pas possible d’utiliser ces données avec des LLMs tiers, car elles échappent alors au contrôle de l’entreprise qui est censée les sauvegarder.

De même, pour les entreprises qui exigent un contrôle étroit de la propriété intellectuelle qu’elles développent, l’utilisation des LLM signifie également qu’elles doivent désormais faire face à des attaques par injection de prompts qui peuvent inverser le travail difficile de l’IA pour qu’elle fasse ce dont elles ont besoin dans leur produit. Dans les deux cas, d’autres méthodes NLP sont plus sures, surtout si la confidentialité des données, la propriété intellectuelle et la différenciation sont importants.

Conclusion

De nombreuses applications qui sortent ces jours-ci donnent l’impression que ChatGPT est une solution facile et infaillible pour intégrer l’IA dans un produit. C’est peut-être vrai pour les cas d’usage où la précision, la confidentialité et la sécurité de la propriété intellectuelle sont moins importantes, mais ce n’est pas nécessairement vrai pour tout le monde. Pour d’autres, il est décevant de constater que le risque de perte de propriété intellectuelle ou les problèmes de confidentialité des données ne sont pas atténués dans les versions actuelles des LLM. En outre, certains pourraient être enthousiasmés par la perspective d’utiliser les LLM, mais ont besoin de l’assurance que les hallucinations ne causeront pas de dommages indésirables. Enfin, il y a certainement de la frustration à ne pas pouvoir faire fonctionner ChatGPT pour un cas particulier d’usage malgré sa “facilité”, typiquement parce qu’une plus grande expertise dans l’ingénierie de prompt et les techniques NLP sont nécessaires.

Si l’un de ces scénarios correspond à ce que vous avez vécu dans votre organisation, laissez-nous un commentaire sur votre expérience ou contactez nous contactez-nous pour savoir comment nous pouvons vous aider !