Les modèles GPT n'étaient pas très populaires jusqu'en novembre 2022, une fois qu'OpenAI a construit un successeur de leurs modèles de langage appelé ChatGPT . Depuis mars 2023, ChatGPT est maintenant officiellement publié avec une API et un SDK pour intégrer le modèle dans vos produits. Bien qu'il existe une pléthore d'applications en surface, ChatGPT offre un large éventail d'améliorations pour différents types de processus techniques et commerciaux. Nous allons donc ici tester le plus viable et voir où cela nous mène.
Je partagerai avec vous ma vision de la manière dont nous pouvons tirer parti des modèles GPT à différents niveaux d'automatisation, tout en vous apportant une réponse concise à la question : "De quoi ai-je besoin pour implémenter un modèle GPT dans mon produit ?".
Attention : tous les tests ont été effectués lors de la phase de pré-lancement.
Si vous savez déjà ce que sont ChatGPT et les autres modèles GPT, vous pouvez ignorer cette partie. Parce qu'ici,je définirai ChatGPT sous différents angles , ainsi que la manière d'exploiter ses capacités pour rechercher des données et nous fournir les informations nécessaires. La façon la plus simple de le faire est de simplement demander au modèle, et voici comment ChatGPT s'identifie :
ChatGPT est le dernier modèle GPT développé sur la base de GPT 3.5. Il a la capacité d'interagir avec l'utilisateur sous la forme d'un dialogue et de fournir des réponses à presque toutes les questions basées sur des événements et des informations jusqu'en 2021. Les modèles GPT sont très capables de résoudre une gamme de tâches de traitement du langage naturel (NLP) avec le possibilité de personnalisation tel que :
Depuis mars 2023, ChatGPT est disponible via l'API et certaines entreprises comme Snapchat l'utilisent déjà. Il est donc logique de discuter de la manière dont ChatGPT peut être intégré dans votre application d'un point de vue technique. Il y a un certain fork d'options ici:
Ici, le modèle fonctionne comme un catalogue intelligent, aidant l'utilisateur à parcourir le contenu et à faire des choix plus rapidement en utilisant la réponse de GPT. Cependant, les personnalisations et la personnalisation ne sont pas disponibles.
De tels modèles peuvent être utiles pour créer un système de recommandation de chatbot personnalisé basé sur les actions/désirs de l'utilisateur et d'autres cas d'utilisation. En utilisant vos propres données, le modèle GPT peut être formé pour introduire l'élément de personnalisation. La quantité de données nécessaires pour affiner un modèle GPT dépend de divers facteurs, tels que la taille et la complexité de l'ensemble de données, et les performances souhaitées du modèle. En règle générale, au moins quelques centaines d'exemples sont nécessaires pour affiner efficacement un modèle GPT. Cependant, dans des domaines complexes, des dizaines de milliers, voire des millions d'exemples peuvent être nécessaires pour obtenir des performances de modèle optimales.
Pour comprendre si vous aurez besoin d'affiner le modèle, je vous recommande de suivre ces 5 étapes :
Gardez à l'esprit que le modèle GPT n'est pas un produit complet qui couvre tous les domaines de domaine prêts à l'emploi. Vous aurez également besoin de l'application pour cela et des outils de gestion sur le backend. Ensuite, la sortie d'un modèle GPT doit être traitée avec des méthodes NLP afin d'extraire des informations significatives. Le modèle renvoie une réponse sous forme de texte dans plusieurs phrases, comme une liste. Cette sortie doit être présentée sous la forme d'un ou plusieurs mots, qui seront utilisés comme filtre ou mots-clés dans les parties suivantes du pipeline. Cela signifie donc que le modèle GPT nécessitera également d'autres modèles pour fonctionner.
Sachant cela, discutons des modèles GPT en tant qu'outil complémentaire adapté aux différents besoins commerciaux et techniques.
ChatGPT est beaucoup plus performant que ses prédécesseurs car il a été formé à l'aide de la technique d'apprentissage par renforcement avec rétroaction humaine (RLHF). Cela a fourni un niveau de performance distinctif par rapport au modèle non moins populaire GPT 3. Pour cette raison, ChatGPT est maintenant adopté pour une gamme de tâches commerciales et techniques en utilisant ses capacités NLP. Demandons-nous ce que ChatGPT pense de ses cas d'utilisation commerciale :
Ici, nous pouvons voir le modèle fournissant une réponse énumérant certains des cas d'utilisation les plus courants. Étant donné que le modèle repose sur des données limitées à 2021, ce n'est même pas une liste complète et il y a des tonnes de tâches de bas niveau que nous pouvons déléguer à ChatGPT. Nous pouvons également essayer de réduire notre concentration et d'extraire de la valeur dans un seul domaine :
Sur la base de ces exemples, nous pouvons tirer un tas de conclusions concernant trois des cas d'utilisation commerciale les plus prometteurs :
ChatGPT est un bot conversationnel très performant qui peut être personnalisé avec vos propres données. Comme il est capable de comprendre correctement la question même avec une structure grammaticale brisée ou des parties syntaxiques manquantes, il peut être considéré comme une solution prête à l'emploi pour les systèmes de support client, et notamment les chatbots.
Pour faire suite au point précédent, les mêmes capacités peuvent être utilisées dans les activités de génération de leads puisque dans la plupart des cas, le niveau de parole de ChatGPT ne diffère pas trop de ce que les gens peuvent écrire.
À un moment donné, les modèles GPT pourraient devenir une alternative aux solutions modernes d'informatique décisionnelle et d'analyse de données. Puisqu'ils peuvent fonctionner sur d'énormes bases de données de données historiques et fournir aux travailleurs humains des informations précieuses.
Cependant, lorsqu'il s'agit d'analyse de données en temps réel qui nécessite des mises à jour constantes et les informations les plus récentes disponibles, les modèles GPT semblent être maladroits. Le processus de formation avec la technique RLHF est complexe, et en plus, il nécessitera un pipeline d'apprentissage automatique avec un recyclage et un redéploiement automatisés des modèles. Ce qui est, une sorte de science de fusée… pour l'instant.
Ainsi, les applications qui dépendent fortement des mises à jour de données en temps réel ne sont pas encore vraiment adaptées aux modèles GPT. Que pouvons-nous faire d'autre avec ?
L'une des déclarations les plus populaires sur les modèles de langage et les réseaux de neurones est qu'ils peuvent certainement prendre le travail des rédacteurs ou au moins augmenter la vitesse d'écriture dans une large mesure. Voyons si c'est vrai pour aujourd'hui. Nous utiliserons deux types de requêtes pour vérifier comment le modèle gérera la rédaction d'articles sur le sujet du génie logiciel. Le premier type de demande énonce simplement l'idée générale du texte, tandis que le second précisera les choses que je veux que le modèle décrive et fournisse une opinion d'expert ou des arguments pour lesquels.
Requête : "Écrivez-moi un article sur les différents frameworks PHP."
Sortie ChatGPT :
Requête : "Écrivez-moi un article sur la différence entre les frameworks Laravel et Symfony, et quel framework PHP dois-je choisir pour une application de commerce électronique."
Sortie ChatGPT :
Dans les deux cas, le modèle traite assez bien le sujet du point de vue informationnel. Grammaticalement et stylistiquement, les textes sont également bons. Cependant, en ce qui concerne le niveau de créativité, la facilité de lecture, le raisonnement et la justification d'un certain point, cela semble très standard et peu convaincant.
Bien que ChatGPT puisse certainement générer des plans pour simplifier vos efforts de marketing, il pose un problème aux correcteurs humains. Comme le modèle analyse les données par lui-même, il semble difficile de trouver la source d'information et de prouver les affirmations du modèle. Ainsi, pour être utilisé à des fins de marketing, ChatGPT nécessite un réglage fin et des fonctionnalités supplémentaires telles que l'explicabilité de l'IA pour être efficace et utile.
Si les modèles GPT peuvent parler un langage humain, rien ne les empêche d'utiliser des langages de programmation pour écrire des applications. Notre chef de groupe PHP/DevOps, Anton Logvinenko, a mis cela à l'épreuve pour voir quels résultats peuvent être obtenus en exploitant le modèle pour écrire du code en PHP pour diverses fonctions.
Requête : "Ecrire un code PHP sur Laravel Framework qui affichera la liste des utilisateurs".
Réponse ChatGPT :
Dans la plupart des cas, ce code fonctionnera certainement. Dans ce cas précis, il manque la structure de la base de données, ainsi que les champs de chaque utilisateur, comme le nom et le prénom. Vous devez donc garder à l'esprit qu'actuellement, ChatGPT ne vous fournit pas de code fini pouvant être utilisé immédiatement.
Le cas d'utilisation que je peux voir pour cela est de soutenir les développeurs de niveau junior dans l'apprentissage de PHP ou de ses frameworks et d'accélérer un peu le processus. Bien que le code lui-même soit écrit de manière syntaxiquement correcte, il y a beaucoup de choses à améliorer.
Anton Logvinenko
Chef de groupe PHP/DevOps
Requête : "Écrire un code PHP qui implémente l'API REST avec des points de terminaison CRUD pour la ressource d'article".
Réponse ChatGPT :
Encore une fois, en regardant ce que les modèles suggèrent, le code ressemble à un effort de niveau débutant en PHP, mais il fonctionnera très probablement si vous configurez la base de données, configurez l'accès, etc. Bien que ce code soit écrit au niveau d'un développeur PHP stagiaire, il n'utilise aucun des frameworks disponibles, et il n'est pas optimisé et ne peut pas être facilement adapté à l'ensemble de l'application. De plus, il existe des menaces de sécurité potentielles sous la forme d'injections SQL pour lesquelles ChatGPT laisse des places, ce qui n'est en aucun cas bon.
Anton Logvinenko
Chef de groupe PHP/DevOps
Réponse ChatGPT :
Dans la première tentative de cet exemple, je voulais que ChatGPT génère l'arborescence des éléments en fonction de l'exemple fourni. Cependant, la sortie s'est avérée être un code poubelle, et j'ai compris que je n'avais pas spécifié qu'il s'agissait d'un arbre dans l'invite. Donc, à la deuxième tentative, j'ai ajouté une explication de ce dont j'ai besoin comme sortie.
Anton Logvinenko
Chef de groupe PHP/DevOps
Réponse ChatGPT :
Lors de la deuxième tentative, ChatGPT a terminé la tâche et l'arborescence semble correcte, à l'exception de la qualité du code. Que peut-on conclure de cette petite expérience ? De toute évidence, ChatGPT n'est pas encore en mesure de remplacer les ingénieurs logiciels car l'approche et la qualité de l'écriture de code sont encore très superficielles. Mais en fin de compte, cette chose verra certainement des améliorations au fil du temps. Pour l'instant, il est trop tôt pour parler de ChatGPT en tant qu'éditeur de code automatisé.
Anton Logvinenko Chef de groupe PHP/DevOps
Si vous envisagez des options pour automatiser partiellement les workflows de codage et soutenir vos développeurs, nous vous recommandons d'utiliser Copilot . Copilot utilise OpenAI Codex pour suggérer des extraits de code et des fonctions en temps réel, et il s'est avéré beaucoup plus utilisable par les ingénieurs logiciels de niveau intermédiaire/supérieur avec un code de bien meilleure qualité. Comparé à la simple recherche sur Google de ce qui est nécessaire pour terminer le code, Copilot permet des flux de travail beaucoup plus rapides, et constitue donc une meilleure alternative à ce que ChatGPT peut suggérer pour le moment.
Étant donné que nous savons que les modèles GPT peuvent effectuer la majorité des tâches NLP, nous pouvons les considérer comme une alternative à la formation de vos propres modèles de langage. Suivant cette tradition, je vais fournir les bases en demandant à ChatGPT pourquoi cela peut être une meilleure option que la formation d'un modèle NLP personnalisé :
Il est important de prendre conscience des limites de cette approche. Étant donné que les modèles GPT n'ont pas accès aux données en temps réel, ils ne peuvent que vous aider à démarrer certains services sans collecte de données initiale. Au fil du temps, vous pourrez collecter des données en direct à partir de l'interaction du modèle avec les utilisateurs, mais cela ne sert pas de correctif pour toutes les tâches NLP spécifiques.
Au lieu de cela, nous pouvons penser à d'autres domaines d'application de la science des données où les modèles GPT peuvent être utilisés.
Afin de construire un modèle de classification, de régression ou de prévision, nous devons passer par des étapes d'analyse exploratoire des données (EDA). L'EDA nous permet de trouver les relations entre différentes caractéristiques dans les données et de dénoter les idées et les valeurs aberrantes pour comprendre la raison de tel ou tel comportement anormal. Ainsi la majorité des projets de data science nécessiteront de réaliser 4 étapes :
Avec l'aide du modèle GPT, le pipeline ci-dessus peut être réduit à une seule demande bien formulée au modèle GPT. Par exemple, utilisons cette requête sur les chiffres de vente d'Amazon par trimestre et demandons à ChatGPT d'extraire des informations à partir de ces informations.
Et ici, nous pouvons voir les idées et les conclusions de ChatGPT, sur la base des données présentées précédemment :
Réponse ChatGPT :
"Connaissances:
Conclusions (raisons):
La qualité de la sortie du modèle peut varier, elle nécessite donc une supervision ou un réglage fin de l'invite initiale. Cependant, ces fonctionnalités peuvent être facilement appliquées pour faciliter l'étape EDA et potentiellement automatiser les tâches du pipeline de science des données.
Les systèmes de recommandation ou les moteurs de recommandation sont devenus aussi courants que les moteurs de recherche sur diverses plates-formes et dans diverses applications. Les recommandations remplissent une tâche très importante : comprendre les préférences de chaque client, suggérer un contenu pertinent et garder le client sur la plateforme le plus longtemps possible.
Mais, malgré les avantages concurrentiels que les systèmes de recommandation peuvent offrir, le fait que nous ne pouvons pas en créer un sans collecter des données, expérimenter et former un modèle de travail semble être une raison majeure pour laquelle tout le monde ne peut pas se permettre des recommandations. Pour commencer à recommander, nous devons généralement d'abord collecter des données concernant notre contenu, puis suivre méthodiquement les catégories de contenu vers lesquelles nos clients gravitent.
Dans cette situation, nous pouvons utiliser ChatGPT comme alternative aux moteurs de recommandation, car il contient déjà des tonnes de données. Bien qu'il ne soit pas adapté à votre contenu et qu'il ne connaisse pas l'historique de recherche de vos utilisateurs, il peut fournir des recommandations assez spécifiques une fois que nous utilisons des invites suffisamment spécifiques.
Par exemple, nous avons utilisé ce type de demande : « Je veux faire un voyage. J'ai un enfant de 2 ans et j'aime passer du temps près de la mer. Où dois-je aller?". Voici la sortie :
Réponse de ChatGPT : "Partir en voyage avec un enfant de 2 ans et passer du temps près de la mer peut être une excellente idée. Voici quelques suggestions de destinations qui pourraient vous convenir, à vous et à votre famille :
Il convient de noter que ces destinations offrent également une variété d'autres activités et attractions pour les adultes et les enfants, telles que la natation, les bains de soleil, les sports nautiques, les terrains de jeux et les parcs à thème. Il est également important de prendre en compte d'autres facteurs tels que la météo, la sécurité et l'accessibilité avant de prendre une décision.
Si nous précisons notre demande en ajoutant des détails, voici à quoi la réponse peut ressembler :
Demande : « Je veux faire un voyage. J'ai un enfant de 2 ans et j'aime passer du temps près de la mer, j'ai 3000$. Où dois-je aller?".
Réponse ChatGPT :
« Partir en voyage avec un enfant de 2 ans et passer du temps près de la mer peut être une excellente idée. Il est important de tenir compte de votre budget lors de la planification de votre voyage. Voici quelques suggestions de destinations qui pourraient convenir à vous et à votre famille dans le cadre de votre budget :
Il convient de noter que ces destinations offrent également une variété d'autres activités et attractions pour les adultes et les enfants, telles que la natation, les bains de soleil, les sports nautiques, les terrains de jeux et les parcs à thème. De plus, lorsque vous voyagez avec un enfant de 2 ans, il est important de prendre en compte l'accessibilité, la sécurité et la disponibilité d'hébergements et de services de bonne qualité, tels que de bons hôpitaux et des garderies.
Comme vous pouvez le voir, la sortie n'est pas encadrée autour des paramètres que nous avons fournis en tant que demande, car le modèle essaie de dépasser l'invite initiale. Et même ces résultats bruts peuvent être plus performants que d'essayer de trouver du contenu en appliquant des dizaines de filtres, car cela nécessite qu'un humain utilise les bons mots pour obtenir des résultats satisfaisants. C'est essentiellement le principal avantage des recommandations basées sur la PNL par rapport aux approches standard.
Étant donné que les modèles GPT sont formés sur des données textuelles, il est évident que nous ne pouvons pas remplacer les modèles de vision par ordinateur de cette façon. Cependant, ChatGPT peut simplifier la mise en œuvre de certaines parties du pipeline de vision par ordinateur telles que :
Les informations fournies par ChatGPT peuvent être utiles lors de l'analyse et de la préparation de données pour un modèle de vision par ordinateur dans différents domaines. Par exemple, dans les tâches OCR, le modèle peut être utilisé pour faire glisser du texte à partir d'une image, comme dans la reconnaissance de carte d'identité. Il s'agit d'une étape distincte dans la préparation des données pour la formation.
Étant donné que les cartes d'identité ont leur propre format et des champs différents dans chaque pays, la tâche de reconnaissance des cartes d'identité peut nécessiter beaucoup de ressources. Avec les modèles GPT, nous pouvons réduire le temps nécessaire pour extraire les données textuelles des images, puisque ChatGPT peut prendre une partie d'un pipeline à lui seul.
L'ingénierie rapide est essentiellement la discipline consistant à créer un texte d'entrée de travail qui est transmis au modèle GPT comme une tâche technique. Le résultat dépendra toujours de la façon dont vous expliquez ce dont vous avez besoin, et cela implique de comprendre quelle est la meilleure façon de pointer vers chaque aspect de votre demande afin que le modèle ne produise pas de Frankenstein pour vous. Il existe plusieurs principes de base du développement rapide des modèles GPT :
Soyez précis : plus l'invite est précise, plus le texte généré sera pertinent pour la tâche à accomplir.
Définir le contexte : plus le modèle a de contexte, plus la tâche du modèle GPT est claire. Définissez l'invite dans la même langue et dans la même terminologie (en utilisant les fonctionnalités du domaine) dans laquelle vous souhaitez recevoir une réponse.
Trouvez un compromis entre la longueur des invites et la spécificité : des invites plus longues et plus spécifiques peuvent conduire à des réponses plus précises et pertinentes, mais aussi compliquer la gestion des modèles. Dans certains cas, des invites complexes et longues peuvent déclencher le modèle pour casser et écrire une réponse inachevée, ce que nous avons rencontré à plusieurs reprises au cours de nos tests.
Tous les exemples suivants ont été réalisés en exploitant ChatGPT sur une étape de pré-version, et il montre de bien meilleurs résultats que ses prédécesseurs. Cependant, le modèle GPT 4 a été annoncé par OpenAI au premier trimestre 2023, et il utilise 500 fois plus d'échantillons de données que GPT 3. Il est donc également logique de suivre les dates de sortie et la situation est très dynamique et vous préférerez peut-être futurs modèles par OpenAI pour votre produit.
Le principal avantage des modèles GPT est la capacité de trouver des moyens de résoudre un problème sans un volume initial important de données. Évidemment, de tels modèles ne peuvent pas remplacer complètement la fonctionnalité souhaitée. Cependant, dans les premières itérations du produit, l'utilisation de tels modèles aide à démarrer le développement, fournissant aux utilisateurs un service tout en collectant des données personnalisées.
Également publié ici .