Prochain webinaire : La sécurité d'entreprise pour Claude Code | 21 avril · 11 h PST. Inscrivez-vous ici →

TrueML #22 - Plateforme d'apprentissage automatique et LLM's @ Voiceflow

Par TrueFoundry

Mis à jour : October 12, 2023

Résumez avec

Nous sommes de retour avec un autre épisode de True ML Talks. Dans ce cadre, nous approfondissons Flux vocalde la plateforme ML ainsi que des LLM et nous discutons avec Denys Linkov

Denys dirige l'équipe d'apprentissage automatique de Voiceflow. Il l'a rejoint en tant qu'ingénieur fondateur du ML. Auparavant, il a travaillé en tant qu'architecte cloud senior pour une banque mondiale travaillant sur les systèmes de données, les MLOP et l'infrastructure de base.

📌

Nos conversations avec Adhitihya porteront sur les aspects suivants :
- L'apprentissage automatique chez Voiceflow
- Le parcours MLOps de Voiceflow
- Automatiser le déploiement et l'observabilité des modèles pour réduire le changement de contexte et améliorer l'efficacité
- Pipeline d'inférence en temps réel : avantages et défis
- L'approche de Voiceflow en matière d'IA générative

Regardez l'épisode complet ci-dessous :

Apprentissage automatique @ Voiceflow

Voiceflow est une plateforme sans code qui permet aux entreprises de créer et de déployer des applications d'IA conversationnelle. Il peut être utilisé pour créer des chatbots, des assistants virtuels et d'autres interfaces conversationnelles pour un large éventail de secteurs, notamment :

  1. Commerce électronique
  2. Immobilier
  3. Services bancaires
  4. Automobile
  5. Utilités
  6. Gouvernement

Le modèle NLU de Voiceflow est capable de couvrir un large éventail de secteurs car il est entraîné à partir d'un vaste ensemble de données de texte et de code provenant de diverses sources. Cela permet à Voiceflow de comprendre et de répondre à un large éventail de requêtes en langage naturel, quel que soit le secteur d'activité.

Par exemple : Un chatbot Voiceflow pourrait être utilisé par une entreprise de commerce électronique pour aider les clients à trouver des produits, à répondre à des questions sur les produits et à passer des commandes. Un chatbot Voiceflow pourrait également être utilisé par une société immobilière pour aider les acheteurs potentiels à trouver un logement, à fixer des rendez-vous avec des agents et à en savoir plus sur le processus d'achat d'une maison.

L'un des défis de la création d'un modèle NLU capable de couvrir tous ces secteurs est que chaque secteur possède son propre langage et son propre jargon. Cependant, le modèle NLU de Voiceflow est capable d'apprendre ces différences au fil du temps, car il est exposé à davantage de données provenant de différents secteurs.

Le parcours mLOps de Voiceflow : création et déploiement de modèles d'apprentissage automatique pour l'IA conversationnelle

L'un des premiers défis auxquels Voiceflow a été confrontée a été de décider de créer ses propres modèles ou d'utiliser des modèles externes. Voiceflow a décidé d'explorer les deux options et a élaboré quelques preuves de concepts. La première fonctionnalité développée par Voiceflow a été la génération d'énoncés, qui utilise l'apprentissage automatique pour générer des exemples que l'utilisateur doit ajouter pour enrichir son propre modèle de données.

Pour déployer le modèle de génération d'énoncés en production, Voiceflow a développé sa plateforme MLOps. L'objectif de la plateforme était de pouvoir déployer plusieurs expériences en production très rapidement, ainsi que de gérer les environnements.

Le modèle de génération d'énoncés a été le premier à être supprimé par la sortie de ChatGPT, qui est un modèle génératif plus avancé. Voiceflow a ainsi pris conscience de l'importance de faire preuve de flexibilité et de vouloir mettre fin à ses propres développements si nécessaire, afin de se concentrer sur ce qui est le mieux pour l'expérience client.

Voiceflow évoque également le changement radical qui s'est produit dans l'espace de l'IA conversationnelle depuis le lancement de modèles basés sur le GPS adaptés aux instructions. Voiceflow admet que c'était une erreur stratégique de ne pas penser à utiliser GPT-3 à l'époque, mais elle a également appris qu'il était important de faire preuve de souplesse et de volonté de changer d'approche au fur et à mesure de l'évolution du domaine.

Voici un blog que vous pouvez lire à propos de Création du Voiceflow NLU:

Automatiser le déploiement et l'observabilité des modèles pour réduire le changement de contexte et améliorer l'efficacité

Dans le cadre du processus de développement traditionnel de l'apprentissage automatique, les data scientists forment des modèles dans des blocs-notes Jupyter, puis les confient à des ingénieurs en apprentissage automatique ou à des ingénieurs backend pour les déployer en production. Cela peut entraîner des changements de contexte et des retards, car les ingénieurs doivent comprendre le modèle et les données pour pouvoir le déployer avec succès.

Automatisez le déploiement et l'observabilité des modèles

L'un des moyens de relever ce défi consiste à automatiser le déploiement et l'observabilité des modèles. Cela peut être fait en créant un ensemble d'outils et de processus qui permettent aux data scientists de déployer et de surveiller leurs modèles en production sans avoir à faire appel à d'autres ingénieurs.

L'utilisation d'une plateforme basée sur le cloud qui fournit des services gérés pour le déploiement et l'observabilité des modèles en est un exemple. Ces plateformes peuvent fournir diverses fonctionnalités, telles que :

  1. Déploiement et mise à l'échelle automatiques des modèles
  2. Surveillance des modèles en temps réel
  3. Détection et alerte de dérive
  4. Versionnage et restauration des modèles

Développez vos propres outils et processus personnalisés

Une autre approche pour automatiser le déploiement et l'observabilité des modèles consiste à développer vos propres outils et processus personnalisés. Cela peut vous donner plus de flexibilité et de contrôle, mais cela nécessite également plus d'investissements.

Voici un exemple spécifique de la manière dont une entreprise a automatisé le déploiement et l'observabilité des modèles à l'aide de cette approche :

  1. Créez un ensemble de scripts automatisés qui créeraient un environnement cloud avec tous les services nécessaires au déploiement et à la surveillance de leurs modèles.
  2. Développez un outil CLI qui a facilité le déploiement de nouveaux modèles dans l'environnement cloud.
  3. L'outil CLI créerait automatiquement tous les dossiers et fichiers Terraform nécessaires pour déployer le modèle.
  4. L'outil CLI spécifierait également l'environnement dans lequel déployer le modèle.

Cette automatisation a permis aux data scientists de l'entreprise de déployer et de surveiller leurs modèles en production sans avoir à faire appel à d'autres ingénieurs.

Les défis liés au développement de vos propres outils et processus personnalisés

Certains défis doivent également être pris en compte lors du développement de vos propres outils et processus personnalisés pour le déploiement et l'observabilité des modèles :

  1. Complexité : Le développement de vos propres outils et processus personnalisés peut être complexe et prendre beaucoup de temps.
  2. Débogage : Il peut être difficile de résoudre les problèmes lorsqu'ils surviennent, en particulier si les data scientists ne disposent pas d'une visibilité complète sur les pipelines qui ont été créés.
  3. Entretien : Les outils et processus personnalisés nécessitent une maintenance et une assistance continues.

Comment atténuer les difficultés

Certaines mesures peuvent être prises pour atténuer les difficultés liées au développement de vos propres outils et processus personnalisés pour le déploiement et l'observabilité des modèles :

  1. Commencez petit : Commencez par développer un ensemble d'outils et de processus de base qui répondent à vos besoins immédiats. Vous pouvez ensuite ajouter d'autres caractéristiques et fonctionnalités au fil du temps.
  2. Utilisez des outils et des bibliothèques open source : Il existe un certain nombre d'outils et de bibliothèques open source qui peuvent vous aider à développer vos propres outils et processus personnalisés. L'utilisation de ces outils et bibliothèques peut réduire la quantité de travail de développement requise.
  3. Documentez vos outils et vos processus : Documentez minutieusement vos outils et vos processus afin que les data scientists et autres ingénieurs puissent les comprendre et les utiliser facilement.
  4. Fournir une formation et un soutien : Offrez une formation et un soutien aux data scientists et autres ingénieurs sur la manière d'utiliser vos outils et processus personnalisés.

Pipeline d'inférence en temps réel : avantages et défis

Les pipelines d'inférence en temps réel offrent de nombreux avantages, notamment :

  1. Latence plus faible : Les pipelines d'inférence en temps réel peuvent fournir des prévisions aux utilisateurs dans un délai minimal.
  2. Évolutivité accrue : Les pipelines d'inférence en temps réel peuvent être augmentés ou réduits pour répondre à la demande, ce qui les rend idéaux pour les applications à volume élevé.
  3. Flexibilité améliorée : Les pipelines d'inférence en temps réel peuvent être utilisés pour implémenter divers modèles d'apprentissage automatique, notamment la classification, la régression et la détection d'objets.

Cependant, les pipelines d'inférence en temps réel présentent également certains défis, tels que :

  1. Complexité accrue : Les pipelines d'inférence en temps réel peuvent être complexes à concevoir et à mettre en œuvre, nécessitant une expertise en matière d'apprentissage automatique, de systèmes distribués et d'infrastructure.
  2. Augmentation des coûts : Les pipelines d'inférence en temps réel peuvent être plus coûteux à exploiter que les pipelines d'inférence par lots, en raison de la nécessité de disposer d'un matériel et d'une infrastructure plus puissants.
  3. Risque accru d'erreurs : Les pipelines d'inférence en temps réel peuvent être plus sujets aux erreurs que les pipelines d'inférence par lots, en raison de la nécessité de traiter les données et de générer des prévisions en temps réel.

Mise à l'échelle automatique dans un pipeline d'apprentissage automatique en temps réel

L'un des défis liés à la création et au déploiement d'un pipeline d'apprentissage automatique en temps réel est de savoir comment adapter automatiquement le système à l'évolution du trafic. Un certain nombre de facteurs doivent être pris en compte, tels que la prévisibilité des modèles de trafic, les exigences de latence des modèles et la complexité de l'algorithme de dimensionnement automatique.

L'une des approches permettant de dimensionner automatiquement un pipeline d'apprentissage automatique en temps réel consiste à utiliser un système de file d'attente. Cela vous permet de découpler les producteurs (qui génèrent les demandes d'inférence) des consommateurs (qui traitent les demandes d'inférence). Cela vous donne plus de flexibilité dans la manière dont vous faites évoluer le système.

Pour dimensionner automatiquement un système basé sur les files d'attente, vous pouvez utiliser diverses mesures, telles que le nombre de messages dans la file d'attente, la latence moyenne des demandes ou l'utilisation du processeur par les travailleurs. Vous pouvez également utiliser une combinaison de ces mesures.

Il est important de régler soigneusement l'algorithme de dimensionnement automatique pour éviter de surdimensionner ou de sous-dimensionner le système. Une mise à l'échelle excessive peut entraîner un gaspillage de ressources, tandis qu'une sous-mise à l'échelle peut entraîner des problèmes de performances.

Voici quelques réflexions supplémentaires sur la mise à l'échelle automatique d'un système basé sur les files d'attente pour l'inférence en temps réel :

  1. Utilisez une plateforme basée sur le cloud : Les plateformes basées sur le cloud peuvent faciliter la mise à l'échelle automatique de votre système en fonction de l'évolution de vos habitudes de trafic. Par exemple, vous pouvez utiliser un équilibreur de charge basé sur le cloud pour répartir le trafic entre vos pods et augmenter ou diminuer le nombre de pods selon les besoins.
  2. Utilisez un système de file d'attente qui prend en charge la mise à l'échelle automatique : Certains systèmes de file d'attente prennent en charge la mise à l'échelle automatique, ce qui signifie qu'ils peuvent augmenter ou diminuer automatiquement le nombre de travailleurs en fonction du nombre de messages dans la file d'attente. Cela peut vous aider à vous assurer que votre système peut gérer les pics de trafic sans aucune intervention manuelle.
  3. Surveillez votre système : Il est important de surveiller de près votre système afin d'identifier tout problème lié à la mise à l'échelle automatique. Par exemple, vous devrez peut-être ajuster les seuils qui déclenchent la mise à l'échelle à la hausse ou à la baisse, ou vous devrez peut-être identifier et corriger des goulots d'étranglement spécifiques dans votre système.

Serveurs modèles pour les systèmes en temps réel sensibles à la latence

Le choix d'un serveur modèle pour les applications sensibles à la latence peut s'avérer difficile pour de nombreuses raisons. Tout d'abord, il existe de nombreux modèles de serveurs différents, chacun ayant ses forces et ses faiblesses. Deuxièmement, les exigences relatives aux applications sensibles à la latence peuvent varier considérablement en fonction de l'application spécifique et des types de modèles utilisés. Enfin, il est souvent difficile de prévoir les performances d'un serveur de modèles dans un environnement de production.

Facteurs à prendre en compte

Lors du choix d'un serveur modèle pour une application sensible à la latence, il est important de prendre en compte les facteurs suivants :

  1. Latence du modèle : La latence du serveur modèle doit être suffisamment faible pour répondre aux exigences de l'application.
  2. Évolutivité : Le serveur modèle doit être capable d'évoluer pour répondre aux demandes de trafic de l'application.
  3. Flexibilité : Le serveur modèle doit être suffisamment flexible pour répondre aux besoins spécifiques de l'application, tels que les différents frameworks et plates-formes matérielles.
  4. Facilité d'utilisation : Le serveur modèle doit être facile à utiliser et à gérer.
  5. Points de repère : Il est important de comparer différents modèles de serveurs pour déterminer lequel répond le mieux à vos besoins spécifiques.
  6. Assistance : Tenez compte du niveau de support disponible pour le serveur modèle.
  7. Communauté : Tenez compte de la taille et de l'activité de la communauté autour du serveur modèle.

💡

Autres informations sur la plateforme ML de Voiceflow :
Voiceflow utilise une combinaison d'AWS et de GCP, car chaque entreprise cliente a des exigences différentes. Ils n'ont pas encore exploré l'utilisation de Karpenter ou d'Autopilot, car ils étaient déjà en train de développer leur infrastructure lorsque ces fonctionnalités ont été publiées. Ils doivent également utiliser des GPU T4 pour la plupart de leurs charges de travail, ce qui n'est pas optimal pour le pilote automatique. Dans l'ensemble, ils accordent la priorité au temps consacré à l'ingénierie pour le moment et finiront par migrer vers des solutions d'infrastructure plus avancées au fur et à mesure de leur évolution.

L'approche de Voiceflow en matière d'IA générative

Voiceflow adopte une approche prudente en matière d'IA générative open source. Ils sont conscients des avantages potentiels de ces modèles, mais ils sont également conscients des défis que cela implique. Ils s'engagent à fournir à leurs utilisateurs la meilleure expérience possible et passeront à des modèles open source au moment opportun pour leur activité.

Les défis de l'IA générative open source

L'IA générative open source présente quelques défis :

  1. Évolution rapide : Les modèles d'IA générative open source évoluent rapidement, ce qui peut rendre difficile le suivi des dernières optimisations.
  2. Coût : Les modèles d'IA génératifs open source peuvent être coûteux en termes de calcul à entraîner et à déployer.
  3. Assistance : Les modèles d'IA générative open source peuvent ne pas bénéficier du même niveau de support que les modèles propriétaires.

Avantages de l'IA générative open source

Malgré les défis, les modèles d'IA générative open source offrent également de nombreux avantages :

  1. Transparence : Les modèles d'IA générative open source sont plus transparents que les modèles propriétaires, ce qui signifie que les utilisateurs peuvent mieux comprendre leur fonctionnement et se fier aux résultats.
  2. Reproductibilité : Les modèles d'IA génératifs open source sont plus reproductibles que les modèles propriétaires, ce qui signifie que les utilisateurs peuvent reproduire les résultats d'expériences et partager leur travail avec d'autres.
  3. Personnalisation : Les modèles d'IA génératifs open source peuvent être personnalisés et étendus pour répondre à des besoins spécifiques.

Gestion de la latence

La latence est un facteur essentiel à prendre en compte lors du choix d'un modèle pour un système de génération augmentée par extraction. La meilleure approche consiste à donner aux utilisateurs un choix de modèles à utiliser et à leur fournir une formation sur les éléments à utiliser pour les différentes tâches.

Par exemple, si la latence est le facteur le plus important, il est recommandé d'utiliser une approche basée sur la NLU avec des énoncés intenses et des réponses statiques. Les modèles NLU sont généralement beaucoup plus rapides que les modèles génératifs, et les réponses statiques peuvent être fournies avec une latence très faible.

Si l'utilisateur a besoin d'une plus grande précision ou d'un meilleur formatage, il est recommandé d'utiliser un modèle génératif tel que GPT-4. Les modèles génératifs sont plus puissants que les modèles NLU et peuvent générer du texte plus naturel et engageant. Cependant, il est important de noter que les modèles génératifs sont également beaucoup plus lents que les modèles NLU.

Une autre façon de réduire la latence consiste à utiliser une architecture distribuée. Dans une architecture distribuée, les tâches de récupération et de génération sont effectuées sur des serveurs distincts. Cela permet au système d'évoluer pour répondre aux besoins des applications les plus exigeantes.

Création d'un système de génération augmentée de récupération à haute performance

Les systèmes RAG (Retrieval Augmented Generation) constituent une nouvelle approche puissante de la génération de texte qui combine les atouts des modèles de récupération et des modèles génératifs. Les systèmes RAG fonctionnent en récupérant d'abord les passages pertinents d'une base de connaissances, puis en utilisant un modèle génératif pour générer du texte en fonction des passages récupérés.

Les systèmes RAG peuvent être utilisés pour diverses tâches, notamment la réponse à des questions, la synthèse et la rédaction créative. Cependant, la mise en place d'un système RAG performant peut s'avérer difficile.

Dans cet article de blog, nous abordons certains des facteurs clés à prendre en compte lors de la création d'un système RAG, notamment :

  1. Sélection du modèle : Il existe une variété de modèles de récupération et de génération différents. Il est important de choisir des modèles adaptés à vos besoins spécifiques. Par exemple, si vous devez générer du texte dans une langue spécifique, vous devrez choisir un modèle qui s'appuie sur du texte dans cette langue.
  2. Sélection des données : La qualité des données que vous utilisez pour entraîner votre système aura un impact significatif sur ses performances. Il est important de choisir des données pertinentes pour vos tâches cibles et exemptes d'erreurs.
  3. Sélection du matériel : Le matériel que vous utilisez aura également un impact significatif sur les performances de votre système. Par exemple, l'utilisation de GPU peut considérablement accélérer les tâches de récupération et de génération.
  4. Architecture du système : Les systèmes RAG peuvent être mis en œuvre de différentes manières. Il est important de choisir une architecture de système adaptée à vos besoins spécifiques. Par exemple, si vous devez déployer votre système en production, vous devrez choisir une architecture évolutive et fiable.

Outre les facteurs mentionnés ci-dessus, il est également important de garder à l'esprit que les systèmes RAG sont complexes et peuvent être difficiles à généraliser. Le domaine et le cas d'utilisation de chaque utilisateur sont différents. Il est donc important de donner aux utilisateurs la possibilité de tester leurs propres instructions, stratégies de traitement et de segmentation. Cela permettra aux utilisateurs de personnaliser le système pour répondre à leurs besoins spécifiques.

Vous pouvez en savoir plus sur le déploiement d'une architecture RAG sur TrueFoundry ici :

Transition vers l'IA générative : défis et opportunités

Les entreprises qui ont développé des solutions basées sur le NLP en utilisant des méthodes traditionnelles sont aujourd'hui confrontées au défi de la transition vers l'IA générative. Les modèles d'IA génératifs, tels que GPT-4 et LamDA, offrent de nombreux avantages par rapport aux méthodes traditionnelles, notamment la possibilité de générer du texte, de traduire des langues et de répondre à des questions de manière complète et informative. Cependant, la transition vers l'IA générative présente également un certain nombre de défis.

L'un des défis réside dans le fait que les modèles d'IA génératifs sont encore en cours de développement et peuvent être coûteux à utiliser. De plus, le concept d'incitation est encore assez ambigu et difficile. Les entreprises doivent être en mesure de développer des techniques d'incitation efficaces afin de tirer le meilleur parti des modèles d'IA génératifs.

L'intégration de modèles d'IA génératifs dans l'infrastructure existante constitue un autre défi. Les entreprises doivent s'assurer que leurs systèmes peuvent gérer la charge et la complexité accrues des modèles d'IA génératifs.

Malgré les défis, il existe également un certain nombre d'opportunités associées à la transition vers l'IA générative. Les modèles d'IA génératifs peuvent aider les entreprises à améliorer la qualité de leurs produits et services, à automatiser les tâches et à créer de nouveaux produits et services.

Voici quelques conseils pour les entreprises qui font la transition vers l'IA générative :

  1. Commencez par évaluer vos besoins. Quelles sont les tâches spécifiques pour lesquelles vous avez besoin de modèles d'IA génératifs ? Quelles sont vos contraintes budgétaires ? Une fois que vous aurez bien compris vos besoins, vous pourrez commencer à identifier les modèles d'IA génératifs adaptés à votre cas d'utilisation.
  2. Expérimentez avec différents modèles et techniques. Il n'existe pas d'approche unique pour passer à l'IA générative. Les entreprises doivent expérimenter différents modèles et techniques pour trouver ce qui leur convient le mieux.
  3. Intégrez des modèles d'IA génératifs à votre infrastructure existante. Les entreprises doivent s'assurer que leurs systèmes peuvent gérer la charge et la complexité accrues des modèles d'IA génératifs. Cela peut nécessiter une mise à l'échelle de leur infrastructure ou des modifications de leurs logiciels.
  4. Formez votre personnel. Les modèles d'IA générative sont des outils puissants, mais leur utilisation peut également être complexe. Les entreprises doivent former leur personnel à l'utilisation efficace des modèles d'IA génératifs.

La transition vers l'IA générative peut être un défi, mais c'est également une opportunité pour les entreprises d'améliorer leurs produits et services et de créer de nouveaux produits et services. En suivant les conseils ci-dessus, les entreprises peuvent effectuer la transition vers l'IA générative de la manière la plus fluide et la plus réussie possible.

Lisez nos précédents articles de la série TrueML

Continuez à regarder le TrueML série youtube et en lisant tout le TrueML série de blogs.

True Foundry est un PaaS de déploiement de machine learning sur Kubernetes destiné à accélérer les flux de travail des développeurs tout en leur offrant une flexibilité totale dans les tests et le déploiement de modèles, tout en garantissant une sécurité et un contrôle complets à l'équipe Infra. Grâce à notre plateforme, nous permettons aux équipes de machine learning de déployer et surveiller des modèles en 15 minutes avec une fiabilité à 100 %, une évolutivité et la possibilité de revenir en arrière en quelques secondes, ce qui leur permet de réduire les coûts et de mettre les modèles en production plus rapidement, ce qui permet de réaliser une véritable valeur commerciale.

Le moyen le plus rapide de créer, de gérer et de faire évoluer votre IA

INSCRIVEZ-VOUS
Table des matières

Gouvernez, déployez et suivez l'IA dans votre propre infrastructure

Réservez un séjour de 30 minutes avec notre Expert en IA

Réservez une démo

Le moyen le plus rapide de créer, de gérer et de faire évoluer votre IA

Démo du livre

Découvrez-en plus

October 26, 2023
|
5 min de lecture

True ML Talks #23 - Applications MLOps et LLMS @ GitLab

May 21, 2024
|
5 min de lecture

Que sont les intégrations dans l'apprentissage automatique ?

 Best AI Gateways in 2026
April 22, 2026
|
5 min de lecture

5 meilleures passerelles IA en 2026

comparaison
April 22, 2026
|
5 min de lecture

Intégration de Cline avec TrueFoundry AI Gateway

Outils LLM
Detailed Guide to What is an AI Gateway?
April 22, 2026
|
5 min de lecture

Qu'est-ce qu'AI Gateway ? Concepts de base et guide

Aucun article n'a été trouvé.
April 22, 2026
|
5 min de lecture

LLM Embeddings 101 : un guide complet 2024

Terminologie LLM
Aucun article n'a été trouvé.

Blogs récents

Faites un rapide tour d'horizon des produits
Commencer la visite guidée du produit
Visite guidée du produit