L'IA générative et les grands modèles de langage (LLM) suscitent beaucoup d'enthousiasme. Ils ont suscité l'imagination du grand public en raison de leur utilité lorsqu'ils sont invités à aider à la rédaction de texte. Mais pour les développeurs, ils sont encore plus révolutionnaires, car ils ont considérablement simplifié la façon dont les applications d'IA peuvent être créées. Voyons pourquoi.
Pourquoi l'IA était difficile jusqu'à très récemment
Traditionnellement, la façon dont vous créez une application d'IA est un processus en quatre étapes :
- Encodez les éléments les plus pertinents de vos données sous forme de vecteurs. Comprendre ce que sont les "pièces les plus pertinentes" est un problème difficile, et implique souvent de construire un modèle séparé juste pour comprendre cela au lieu de faire une supposition éclairée. Extraire les éléments pertinents des données brutes est un autre problème difficile. (Ce sont des problèmes importants, c'est pourquoi
nous avons construit Kaskada pour les résoudre .) - Entraînez un modèle en utilisant ces vecteurs pour atteindre votre objectif. Par exemple, l'un des objectifs les plus importants de Netflix est de prédire "ce que Jonathan voudra regarder lorsqu'il se connectera". Si vous avez un problème courant comme la reconnaissance d'image, vous pouvez "affiner" un modèle existant au lieu de partir de zéro, mais il s'agit souvent d'un territoire de plusieurs GPU pendant des heures ou des jours.
- Déployez le modèle et exposez-le en tant qu'API.
- Pour l'exécuter en production, exécutez vos données en temps réel via le même encodage qu'à l'étape 1, puis envoyez-les via le modèle que vous avez créé et déployé pour effectuer sa prédiction ("inférence").
L'étape 3 est généralement simple (bien que
Sans surprise, lorsqu'un domaine problématique nécessite une équipe de docteurs pour le résoudre avec succès, il sera prohibitif en termes de coût et de compétences pour toutes les entreprises, sauf quelques-unes.
Pourquoi l'IA est maintenant facile avec les LLM
L'une des raisons pour lesquelles tout le monde est si enthousiasmé par l'IA générative avec les LLM est que vous pouvez souvent résoudre un problème "assez bien" sans aucune des étapes ci-dessus. Avec l'IA générative, votre travail consiste à :
- Découvrez comment transférer vos données dans GPT sous forme de texte
- Formuler des requêtes sur ces données en anglais
C'est ça, vraiment. Tout le reste n'est que détails.
Le détail le plus important : quelles données donnez-vous à GPT à l'étape 1 ? Vous ne pouvez pas tout jeter dessus; il ne peut gérer que 4k jetons en GPT-3.5, ou jusqu'à 32k en GPT-4, ce qui est beaucoup plus lent et plus cher.
La recherche vectorielle vous permet de prendre la requête exacte que vous avez déjà créée pour l'envoyer à GPT et de la transmettre à votre base de données, où vous mettez tout ce que vous savez sur le client. La recherche vectorielle répond littéralement à "quelles sont les données les plus pertinentes pour cette requête" sans aucun effort supplémentaire de votre part ; c'est presque magique.
(Je crois fermement que la recherche vectorielle devrait être une fonctionnalité de votre base de données d'application principale et non un système séparé, c'est pourquoi
Une fois que vous avez vos données les plus pertinentes et votre requête, vous les regroupez et appelez OpenAI, vous obtenez votre réponse et vous avez terminé. (Je passe sous silence certains défis, comme "
Ainsi, un fournisseur de contenu en streaming utiliserait des données telles que : chaque session que Jonathan a passée avec le titre, les acteurs et la catégorie ; combien de temps il l'a regardé; plus toutes les métadonnées que nous pouvons trouver, puis dénormalisez le tout en un seul bloc de texte et exécutez-le dans l'encodeur pour obtenir un vecteur.
Et si c'était Netflix, ce serait super facile, parce que
Une fois cela fait, vous pouvez récupérer les lignes pertinentes de Cassandra avec une requête comme celle-ci, où ? est une variable de liaison pour votre vecteur de requête que vous obtenez de la même API d'intégration :
SELECT original_data_text FROM user_recommendation_data WHERE user_id = 'jonathan' ORDER BY embedding ANN OF ? LIMIT 20
Ensuite, vous ajoutez ces résultats à votre invite LLM, et… c'est tout. Vous avez maintenant un système de recommandation que vous avez construit en une semaine sans doctorat, juste
Le modèle traditionnel est-il toujours utile ?
Mais même si vous avez besoin de créer un modèle personnalisé, les LLM peuvent vous aider à générer des données, des étiquettes et des fonctionnalités pour le faire. Cela, cependant, est un sujet pour un autre article!
Comment puis-je essayer cela?
je recommande la lecture
Par Jonathan Ellis, DataStax