Le Blog Amazon Web Services
PBS offre des expériences personnalisées à ses utilisateurs avec Amazon Personalize
Public Broadcasting Service (PBS), une chaîne de télé non-commerciale américaine, souhaitait créer un moteur de recommandations intelligent capable de faire des suggestions de haute qualité aux utilisateurs en fonction de plusieurs facteurs.
Pour garantir son succès, PBS a décidé de s’associer à une société de conseil cloud disposant d’une expertise en intelligence artificielle (IA) et en machine learning (ML), ainsi que d’une connaissance approfondie de la plateforme Amazon Web Services (AWS).
ClearScale, un partenaire de services de niveau Premier AWS possédant 11 compétences AWS, dont le machine learning, les organisations à but non lucratif, ainsi que les données et les analyses, a été un excellent partenaire pour PBS et a donné à l’organisme à but non lucratif exactement ce dont il avait besoin pour améliorer considérablement l’expérience des utilisateurs à l’ère du streaming.
« Nous avons travaillé avec ClearScale pour mettre en place et configurer nos solutions initiales et nos pipelines de données », a déclaré Mikey Centrella, directeur de la gestion des produits chez PBS. « Nous devions exploiter nos connaissances plus rapidement et lancer quelque chose en quelques mois plutôt qu’en quelques années. Leurs experts ont mis en place une configuration de cloud AWS et de services connexes pour utiliser Amazon Personalize, ce qui nous a permis d’économiser énormément d’efforts et des milliers d’heures d’ingénierie. »
PBS est une organisation à but non lucratif basée à Arlington, en Virginie et fondée en 1969. Elle diffuse des programmes éducatifs, d’information et de divertissement à plus de 100 millions de téléspectateurs aux États-Unis et à plus de 32 millions de personnes en ligne. PBS compte actuellement environ 330 stations de télévision membres, distribuant un contenu de la plus haute qualité dans les 50 États des États-Unis, à Porto Rico, aux îles Vierges des États-Unis, à Guam et aux Samoa américaines.
Le défi
À l’instar de nombreuses plateformes de médias et de diffusion en continu, PBS souhaitait améliorer l’expérience globale de ses utilisateurs. L’organisation espérait fournir au public de meilleures recommandations de programmation intégrées à l’application en fonction de nombreux facteurs (liens profonds entre les titres, tendances de popularité actuelles, modèles comportementaux des utilisateurs, etc.) afin d’améliorer l’engagement et la fidélité à long terme.
À première vue, la création d’un tel moteur de recommandations semble complexe. Pourtant, la réalité est que la création de ces moteurs ne nécessite aucune expertise en science des données ni la maîtrise de l’IA/ML. Les entreprises doivent simplement trouver la bonne combinaison d’outils et de services cloud natifs, puis les alimenter avec leurs données. Avec la boîte à outils appropriée, le développement de ces services ne nécessite pas des années.
Heureusement, AWS propose des solutions d’IA/ML gérées qui permettent aux ingénieurs d’exploiter des modèles préconçus et d’automatiser une grande partie du travail difficile de création, d’entraînement et de réglage précis. Le défi consiste à savoir comment tirer le meilleur parti de ce qu’offre le cloud, compte tenu notamment de la rapidité avec laquelle les choses évoluent.
C’est pourquoi PBS s’est adressé à ClearScale, leader dans le domaine du MLOps, qui constitue le type d’expertise technique dont PBS avait besoin pour créer le système de recommandations idéal et le maintenir dans le temps. Ensemble, PBS et ClearScale ont décidé d’aller de l’avant avec une solution basée sur AWS et sur Amazon Personalize.
Figure 1 – Diagramme de l’architecture principale.
Pour que PBS puisse mettre en place un système de recommandations réellement différencié, l’entreprise avait besoin des dernières et des meilleures technologies cloud disponibles, ainsi que de conseils d’experts pour la mise en œuvre.
ClearScale a établi une feuille de route détaillée pour s’attaquer au projet de système de recommandations de PBS, qui comprenait des opérations sur les données, des opérations de machine learning et une interface utilisateur de démonstration.
Opérations sur les données
Tout d’abord, ClearScale et PBS ont déterminé ensemble les sources de données qui alimenteraient les futurs modèles de machine learning :
- PBS Media Manager
- Profils utilisateurs PBS
- Métadonnées Google Analytics
PBS Media Manager est un système de gestion de contenu que les stations membres de PBS utilisent pour publier et partager des titres sur différentes plateformes. Media Manager contient également des métadonnées riches, telles que la date de sortie d’un produit, des balises et l’auteur. Il est doté de règles qui contribuent à déterminer ce qui sera présenté aux utilisateurs dans les résultats de recherche.
Par exemple, Media Manager prend en compte l’âge ou la localisation d’un utilisateur avant de faire une recommandation. Ainsi, les jeunes enfants ne tombent pas accidentellement sur des titres destinés à un public plus âgé, ou les utilisateurs d’une région ne se voient pas recommander une série d’informations provenant d’un autre endroit à l’autre bout du pays.
Les profils utilisateurs de PBS contiennent des informations précieuses sur les utilisateurs, telles que leur historique d’interactions avec les applications PBS, leurs listes de visionnage, leurs temps de visionnage et leur historique de visionnage. Par conséquent, les profils utilisateurs contiennent certaines des preuves les plus évidentes de ce que les gens aiment regarder.
ClearScale et PBS ont également décidé d’incorporer des informations contextuelles provenant de Google Analytics afin d’obtenir une compréhension plus complète de qui regarde le contenu de PBS et où. Google Analytics dispose de données non sensibles sur les personnes qui peuvent être utiles pour tirer des conclusions sur leurs préférences d’affichage.
La plateforme peut également voir quels types d’appareils les gens utilisent pour regarder du contenu, ce qui constitue un autre point de données à prendre en compte dans le cadre du système de recommandations. Par exemple, un utilisateur peut regarder les actualités de PBS sur son téléphone pendant qu’il se rend au travail en métro. Mais, une fois à la maison, il peut regarder des émissions sur la télévision avec ses enfants.
Pour consolider les données provenant des deux premières sources, ClearScale a mis en place un environnement prototype pour une base de données relationnelle Amazon Aurora pour PostgreSQL. La base de données était totalement isolée des systèmes de production de PBS afin de garantir une résilience maximale pour les processus d’extraction, de transformation et de chargement (ETL). Les données de Google Analytics étaient capturées par l’intermédiaire d’un pipeline d’ingestion et stockées dans Amazon Simple Storage Service (Amazon S3).
ClearScale a ensuite mis en œuvre un pipeline de données commençant par AWS Glue, une solution native cloud sans serveur qui permet d’explorer, de valider et de transformer des données provenant de différentes sources. ClearScale a également configuré AWS Glue pour rendre les données consommables en les convertissant au format Parquet et en les déchargeant dans un lac de données. Toutes ces étapes sont orchestrées par l’intermédiaire d’AWS Step Functions, ce qui permet à PBS de bénéficier de la gestion automatisée des flux d’état et du traitement des exceptions.
AWS Lake Formation et AWS Glue Data Catalog ont joué un rôle crucial pour sécuriser le lac de données de PBS et orienter les autres services cloud vers les bons magasins de données. Il est possible d’accéder aux données du lac de deux manières, toutes deux par l’intermédiaire du langage SQL standard :
- L’analyse sans serveur avec Amazon Athena est idéale pour les tâches d’exploration ad hoc lorsque le coût est le facteur le plus important.
- Un entrepôt de données robuste sur Amazon Redshift pour les requêtes régulières et bien définies avec des exigences de contrat de niveau de service (SLA) strictes.
L’infrastructure pour les opérations de données étant en place, ClearScale était prêt à s’attaquer au volet MLOps du projet.
Opérations de machine learning
ClearScale a aidé PBS à définir les quatre principales étapes du cycle de vie du machine learning :
- Développement du modèle
- Entraînement
- Inférence
- Évaluation
Heureusement, AWS donne aux entreprises la possibilité d’exploiter la puissance de la science des données et du machine learning à travers ces quatre étapes sans avoir à créer entièrement des modèles.
Les ingénieurs de données de ClearScale ont créé la version initiale du moteur de recommandations intelligent basé sur Amazon Personalize, tout en gardant à l’esprit que les ingénieurs de PBS finiraient par se l’approprier complètement. ClearScale a utilisé Amazon FSx pour Lustre afin de rendre les données disponibles pour le système au fur et à mesure de leur chargement. L’équipe a également intégré Amazon SageMaker Studio en tant qu’environnement de développement utilisé par les ingénieurs de machine learning pour gérer les modèles.
AWS Lambda, Amazon Athena et AWS Step Functions sont au cœur du travail de préproduction du modèle. ClearScale les a connectés à Amazon Personalize pour récupérer les données, charger les modifications et entraîner le modèle.
Une fois ces services en place, ClearScale a sélectionné les recettes de base (algorithmes Amazon Personalize réglés avec précision pour des cas d’utilisation spécifiques) pour le moteur de recommandations intelligent de PBS et a créé quatre modèles basés sur différentes exigences par entrée et sortie de recommandations :
- Modèle de machine learning par comptage de popularité : suggère des émissions de télévision en fonction de leur popularité. Il s’agit du modèle le plus simple en termes de portée, et pourtant il est important. Les autres modèles tiennent compte des données historiques, et donc ils suggèrent des programmes pertinents pour l’utilisateur, mais répartis dans le temps.
.
Dans le secteur des médias et du divertissement, où l’objectif est de promouvoir des titres récents, ce modèle aide les autres modèles à ne pas perdre cela de vue. En limitant à la semaine précédente l’éventail des données prises en compte, il est possible d’identifier les tendances récentes et de les compléter par des prédictions issues d’autres modèles. Pour que ces tendances restent pertinentes, ce modèle est réentraîné quotidiennement.
. - Modèle de machine learning de relations entre les éléments : suggère des émissions de télévision en se basant sur le filtrage collaboratif pour recommander les programmes les plus similaires à ceux avec lesquels le téléspectateur a interagi auparavant. Cette recette (SIMS) cherche à établir des relations entre les émissions, notamment celles qui ne sont pas évidentes à première vue pour l’intelligence humaine, ni pour les algorithmes linéaires et statistiques traditionnels.
. - Modèle de machine learning d’historique des interactions : suggère des émissions de télévision en fonction du comportement de l’utilisateur grâce à l’apprentissage actif. Avec l’apprentissage actif, le modèle est alimenté par les activités de l’utilisateur au cours de la session pendant laquelle les recommandations sont fournies. Cela lui permet de découvrir de nouvelles règles en quelques secondes, sans passer par un nouvel entraînement complet qui nécessiterait plusieurs heures.
. - Modèle de machine learning de classement personnalisé : classe les émissions de télévision en fonction des préférences apparentes de l’utilisateur. Au lieu d’aller chercher des éléments particuliers, cet algorithme utilise ceux fournis par PBS (le condensé des « meilleurs spectacles de Noël », par exemple) et les renvoie dans un ordre qui reflète les préférences de l’utilisateur.
Comparaison des modèles de machine learning | ||||
Critères | Comptage de popularité | Relations entre les éléments | Historique des interactions | Classement personnalisé |
Modèles | Popularité | Similitude | Comportement | Comportement |
Dimensionnalité | 1 000 | 10 000 | 100 000 | 10 000 |
Performance | Le meilleur | Meilleur | Bon | Meilleur |
Couverture | Faible | Moyenne | Élevée | Moyenne |
Précision | Bon | Meilleur | Le meilleur | Meilleur |
Ré-entraînement | Hebdomadaire | Hebdomadaire | En ligne Mensuel |
Hebdomadaire |
Recette | Compteur de popularité | SIMS | Personnalisation par l’utilisateur | Classement personnalisé |
ClearScale a déployé chacun de ces modèles sur l’API REST unifiée d’Amazon Personalize, soutenue par Amazon API Gateway, afin de mettre les résultats du moteur de recommandations de PBS à la disposition des nombreuses plateformes qui prennent en charge l’application de streaming de l’entreprise. Les contrôles d’accès sont basés sur Amazon Cognito et sur AWS Identity and Access Management (IAM) afin de garantir que les spectateurs n’ont accès qu’à leurs propres données.
L’API de chaque modèle se compose de quatre microservices étroitement connectés :
- API de recommandations en temps réel : reçoit les informations de l’utilisateur et, en quelques secondes, fait des recommandations sur l’émission qui attirera et divertira celui-ci.
- API de notifications personnalisées : fonctionne de la même manière que le dernier microservice, mais est utilisé en conjonction avec des canaux de marketing hors session comme les SMS, les e-mails ou les notifications push.
- API de boucle de commentaires : traite les commentaires des utilisateurs sous forme de « pouce levé » ou « pouce vers le bas » afin de déterminer leur satisfaction à l’égard des recommandations et, par conséquent, l’exactitude de ces dernières.
- API de gestion de la configuration : permet aux administrateurs PBS d’affiner le moteur de recommandations à la volée sans redéployer aucune partie du système.
Le monde n’est pas une entité statique, le machine learning non plus. À mesure que l’environnement évolue, les modèles entraînés ne fonctionnent plus aussi bien qu’au moment de leur déploiement. Dans 99 % des cas, les modèles se dégradent au fil du temps, ce qui diminue la valeur opérationnelle ainsi que la satisfaction des utilisateurs finaux. Par exemple, le catalogue reçoit de nouveaux titres qui ne sont jamais vus par le modèle.
Dans le meilleur des cas, le modèle refuserait de recommander le titre, introduisant ainsi un biais. Dans le pire des cas, le modèle fournirait des prévisions incorrectes menant à de mauvaises décisions. Pour que le modèle ne soit pas figé, il doit être continuellement réentraîné sur les données les plus récentes et changer régulièrement de forme pour s’adapter aux nouvelles règles du jeu.
Le Model Monitor personnalisé a été ajouté au-dessus d’Amazon CloudWatch afin de fournir une métrique de précision caractérisant la capacité du système à faire de bonnes recommandations aux utilisateurs. Il ne se contente pas de surveiller les métriques, il prend également des décisions automatisées sur la base de celles-ci. Par exemple, il réentraîne le modèle lorsqu’il est proche d’atteindre un certain seuil, de sorte que la valeur de la métrique ne tombe jamais en dessous de ce seuil. Ainsi, les utilisateurs sont satisfaits.
La preuve de concept (PoC) de ClearScale pour PBS a donné une métrique de « précision à 10 » de 0,0706. Ce chiffre signifie que, sur 10 titres recommandés, au moins un sera préféré par l’utilisateur avec une probabilité de 71 %. Il est intéressant de préciser que de nombreux autres systèmes de recommandations obtiennent seulement un résultat de 0,03.
Interface utilisateur de démonstration
La dernière phase du projet consistait à créer un prototype d’interface utilisateur qui permettrait aux utilisateurs de PBS de personnaliser leurs comptes d’une manière simple et visuellement attrayante. ClearScale a créé une application Web de démonstration qui réutilisait la logique opérationnelle existante et tirait parti du nouveau moteur de recommandations.
L’application de démonstration était alimentée par TypeScript, ReactJS et Sass pour l’interface utilisateur, ainsi que pour la gestion des données à l’aide d’Effector (côté client) et de React-Query (intégration d’API). Tout en servant son objectif, ce prototype fonctionnel reflétait le caractère unique de PBS en appliquant les directives de style et d’image de marque. Grâce à sa réactivité, héritée nativement de Material-UI, l’application de démonstration fonctionne aussi bien sur les ordinateurs de bureau, les tablettes et les téléphones.
L’interface utilisateur de démonstration comprenait les éléments suivants :
- « Web Hosting » : fournit l’application de démonstration aux utilisateurs et la rend accessible quelle que soit la plateforme.
- « Unified Auth » : permet aux utilisateurs de PBS de se connecter avec leurs identifiants existants et de mettre automatiquement à la disposition de SRE leurs historiques de visionnage, leurs préférences et leurs autres données de personnalisation.
- « Title Card » : affiche des détails sur une émission lorsqu’un utilisateur la survole dans le catalogue, ainsi qu’une note indiquant si le titre est pertinent pour l’utilisateur.
- « Content Player » : permet aux spectateurs de consulter les recommandations dans l’application de démonstration.
- « Top Picks for {User} » : affiche une liste personnalisée pour les utilisateurs, basée sur l’API de recommandations en temps réel et son modèle de machine learning d’historique des interactions.
- « Feedback Loop » : permet aux utilisateurs de juger de la pertinence des recommandations fournies par le système et de voir en temps réel comment celles-ci affectent le contenu proposé.
- « Top {K} Over Last Week » : affiche les titres récents et populaires sur l’ensemble de l’audience de PBS en se basant sur le modèle de machine learning par comptage de popularité.
Les avantages
Aujourd’hui, PBS dispose d’une plateforme MLOps et d’un système de recommandations efficaces sur lesquels elle peut s’appuyer pour l’avenir. Le pipeline de données mis en place par ClearScale nettoie, valide et enrichit les données brutes que PBS a accumulées au cours de ses 50 années d’existence. Les données qui alimentent le système de recommandations de l’organisation sont cohérentes, précises et complètes, ce qui en fait une source unique de vérité pour les projets actuels et futurs basés sur l’intelligence artificielle.
Le nouveau moteur de recommandations permet également à PBS de proposer des expériences plus personnalisées aux utilisateurs en fonction d’une myriade de facteurs. Les quatre modèles créés par ClearScale intègrent des variables telles que la popularité du grand public, les relations entre les titres et le comportement des utilisateurs pour aboutir à des recommandations ayant de fortes chances de plaire à ces derniers.
Enfin, l’application Web de démonstration ClearScale développée pour PBS illustre la puissance du nouveau moteur de recommandations dans une interface conviviale. Elle permet aux gens de trouver rapidement les titres qu’ils apprécient et de partager leurs commentaires sur des recommandations spécifiques. Ainsi, PBS peut affiner l’expérience des utilisateurs.
À l’heure où les grandes sociétés audiovisuelles se disputent les utilisateurs sur de nombreuses applications de streaming, ClearScale a aidé PBS à créer sa propre solution alimentée par le machine learning, qui s’appuie sur les outils natifs cloud robustes d’AWS. PBS dispose désormais d’une plateforme MLops évolutive qui permet d’offrir chaque jour de meilleures expériences à des millions d’utilisateurs.
ClearScale : pleins feux sur un partenaire AWS
ClearScale est un partenaire consultant AWS de niveau Premier qui aide les clients à concevoir, à créer, à déployer et à gérer des architectures cloud complexes dans le respect des délais et du budget.