Recherche de site Web

Comment Netflix déploie l'IA Open Source pour révéler vos favoris


Dans cet article scientifique basé sur l'IA, nous explorons comment Netflix a adopté un modèle Open Source pour améliorer ses systèmes de recommandation de divertissement.

Tout d’abord, discutons brièvement de ce que signifie fondamentalement l’apprentissage automatique. En termes simples, le Machine Learning est une technique par laquelle un ordinateur peut « apprendre » à partir de données, sans utiliser un ensemble complexe de règles différentes. Cette approche repose principalement sur l’entraînement d’un modèle à partir d’ensembles de données. Plus la qualité des ensembles de données est bonne, meilleure est la précision du modèle d'apprentissage automatique.

Tout d’abord, un aperçu rapide du Machine Learning et du Deep Learning

Il existe principalement trois formes de Machine Learning :

  • Enseignement supervisé

  • Apprentissage non supervisé

  • Apprentissage par renforcement

L’apprentissage supervisé est basé sur un entraînement sur des ensembles de données étiquetés.

L'apprentissage non supervisé utilise des ensembles de données non étiquetés.

L’apprentissage par renforcement consiste à récompenser un algorithme en fonction de ses résultats corrects et à le punir s’il échoue dans sa tentative.

En ce qui concerne un sujet largement connu sous le nom de réseaux de neurones artificiels, il existe également le « Deep Learning », qui est une technique permettant de réaliser un apprentissage automatique inspirée du propre réseau de neurones de notre cerveau.

Comment Netflix utilise l'IA pour la recommandation de contenu

Si vous êtes ou avez été abonné à Netflix, vous savez très certainement que Netflix n'utilise pas de modèle basé sur la publicité. Au lieu de cela, ils utilisent un modèle purement basé sur l’abonnement. C'est pourquoi Netflix souhaite rendre votre expérience aussi personnifiée que possible pour vous.

Pour ce faire, Netflix a commencé à explorer un certain nombre de façons de proposer un modèle aussi perspicace sur le plan personnel. Même si vous n’êtes pas abonné à Netflix, vous vous êtes peut-être demandé comment Netflix fait ces recommandations étonnantes sur le compte Netflix d’un utilisateur et comment les gens ont commencé à aimer Netflix, ce qui est si évident de nos jours. Vous seriez surpris d’apprendre que certaines de ces recommandations auraient pu être basées sur le cerveau d’une mouche des fruits !

Au début, leurs méthodologies étaient très simples, basées sur le Big Data et reposant uniquement sur un système de notation. Les recommandations de films/émissions de télévision étaient entièrement basées sur la qualité ou la mauvaise note d'une émission ou d'un film particulier. Ces évaluations étaient basées sur les commentaires des utilisateurs, le nombre de vues, le fait que les vidéos étaient regardées dans leur intégralité/en partie et/ou les évaluations IMDB.

Voici un article de l’Université de Stanford, daté du 12 mars 2008, qui illustre comment les recommandations de Netflix étaient basées sur les évaluations IMDB.

S'appuyant sur une base solide de décisions stratégiques, Netflix a parcouru un long chemin dans la construction d'un excellent modèle d'apprentissage permettant de prédire quel pourrait être le prochain film préféré non regardé de ses utilisateurs, avec un niveau de précision considérablement élevé.

Le 21 septembre 2009, un prix d’un million de dollars a été décerné à l’équipe « BellKor’s Pragmatic Chaos » pour avoir amélioré le modèle de recommandation de Netflix. Connu sous le nom de Prix Netflix, il s'agit d'une initiative de Netflix visant à améliorer l'expérience utilisateur de 10 % ou plus.

L’algorithme de prédiction qui devait être improvisé et mis à jour était basé sur un filtrage collaboratif. Le filtrage collaboratif est une technique de recommandation entièrement basée sur les commentaires collectifs des utilisateurs.

Supposons qu'un groupe de personnes ait regardé un film et qu'il y a de fortes chances que vous l'aimiez vraiment. Mais il y a de fortes chances que vous n’ayez jamais entendu parler du film auparavant. En collectant et en interprétant vos préférences de visionnage passées avec celles de ceux qui ont terminé de le regarder, un système de recommandation peut vous suggérer ce film particulier.

https://youtu.be/WQJXhCm5ffY

En revanche, le filtrage basé sur le contenu n’est pas basé sur les préférences des utilisateurs. Au lieu de cela, des comparaisons sont effectuées entre les vidéos elles-mêmes sur la base d'un type de classification, comme un genre, par exemple. Cela peut être une comédie, une romance, une horreur, un suspense, etc.

Plus loin, nous avons également un modèle hybride qui couple les deux techniques de filtrage décrites ci-dessus. Si vous souhaitez en savoir plus sur ces sujets, veuillez regarder ce clip :

Netflix a même publié un article dans la revue ACM intitulé « Le système de recommandation Netflix : algorithmes, valeur commerciale et innovation ». Le document est disponible en libre accès. Certaines des méthodologies notables mises en évidence dans le document sont les suivantes :

Fonctionnalités et techniques utilisées par Netflix pour offrir la meilleure expérience possible à ses utilisateurs :

  • Classement vidéo personnalisé : PVR

  • Classement vidéo Top-N

  • À la mode maintenant

  • Continuer à regarder

  • Similitude vidéo-vidéo

  • Génération de pages : sélection et classement des lignes

  • Sélection des preuves

  • Expérience de recherche

  • Techniques statistiques et d'apprentissage automatique pour tout ce qui précède

Pour pouvoir comprendre les fonctionnalités ci-dessus, nous avons décidé de souscrire à l'abonnement gratuit du premier mois de Netflix et voici comment s'est déroulée l'expérience :

Après nous être inscrits, nous avons dû choisir au moins 3 films ou émissions de télévision préférés. Nous avons donc choisi Baahubali 2, Bright, Sherlock et Altered Carbon. Il y avait beaucoup plus de choix à choisir que ceux indiqués ci-dessous :

Suite à cela, le cerveau artificiel de Netflix est entré en action :

Donc, en gros, plus nous aurions fait de sélections, meilleure serait la personnalisation. Par la suite, nous avons été accueillis par la page de navigation Netflix qui ressemble à ceci :

« Ma liste » peut être liée au « Classement vidéo personnalisé : PVR », correspondant à la première des 9 techniques listées ci-dessus.

Nous avions envie de regarder « Altered Carbon » depuis un certain temps. Nous en avons donc regardé quelques secondes au début :

En revenant sur la page d'accueil, nous avons remarqué une nouvelle recommandation :

Cela correspond à « Similitude Vidéo-Vidéo » car nous venons de regarder un peu de « Altered Carbon ».

Il y avait aussi une autre ligne de recommandations intéressante qui nous montrait les meilleurs choix qui pourraient nous intéresser et nous avons été surpris en parcourant cette liste et avons constaté qu'il n'y en avait aucun que nous n'aimerais pas regarder !

Cela serait directement lié au « Top-N Video Ranker » de la liste ci-dessus. « Ittefaq » est un thriller à suspense qui appartient à un genre similaire à celui de « Sherlock » que nous avions choisi juste après notre inscription. "Revolt", comme le suggère la vignette, doit appartenir à un genre d'action, au même titre que celui de "Baahubali 2" ou "Bright". Ceci est donc dérivé du filtrage basé sur le contenu.

La recommandation, « Histoires de Rabindranath Tagore », nous a encore plus surpris. Netflix aurait pu le recommander en fonction de l'emplacement. Ils ont vraiment des algorithmes incroyablement époustouflants !

C’était donc une vision pratique du fonctionnement pratique de Netflix. Toutes ces recommandations intelligentes n’auraient pas été possibles si Netflix n’avait pas adopté une approche open source en matière d’intelligence artificielle et d’apprentissage automatique. Examinons maintenant les initiatives open source de Netflix.

Initiative de connexion ouverte de Netflix

Le propre réseau de diffusion de contenu (CDN) de Netflix est alimenté par l’open source. Ils ont initialement sous-traité leurs services de streaming à Akamai, Level3 et Limelight. Mais finalement, ils ont changé de plan.

Netflix a décidé de créer son propre CDN parce qu'il souhaitait :

  • Croissance plus rapide

  • Réduire les coûts

  • Contrôler le côté serveur de la connexion HTTP

  • Construire un CDN spécialisé dans la diffusion de contenu Netflix

  • Rapprocher le contenu d'un client

Ainsi est né Netflix Open Connect. À savoir, la fondation CDN de Netflix a été construite sur le serveur Web NGINX et le système d'exploitation FreeBSD, symbolisant deux piliers solides. Netflix a choisi d'utiliser une licence BSD au lieu de GPL lors de la création de son CDN. Cela s’explique par le fait que les FAI intervenaient principalement en tant que tiers. Pour comparer ces deux licences en profondeur, accédez ici.

NGINX a été choisi car il était connu pour être rapide et stable, un support commercial était disponible auprès de Nginx, Inc. et il disposait d'un cadre flexible pour les modules personnalisés. FreeBSD était également connu pour être un système d'exploitation rapide et stable et possédait une solide communauté de développeurs. C’est donc devenu un choix approprié.

Les deux éléments ci-dessus étant gratuits et open source, Netflix a utilisé un autre projet open source appelé BIRD Internet Routing Daemon, qui utilise cependant la licence GPL. Cet outil a été utilisé pour transférer la topologie du réseau des FAI vers leur propre système de contrôle qui dirigerait les clients vers leur contenu respectif.

Tous les trois ont constitué d'excellents outils à gérer :

  • 400 000 fichiers de flux par appliance

  • 5 000 à 30 000 flux clients par appliance

  • 300 à 1 000 clients par disque

L'initiative Open Connect telle que décrite ci-dessus est discutée en détail dans cet enregistrement complet de la conférence NGINX :

Slides de présentation ici :

Initiative sur les logiciels open source Netflix

Aujourd’hui, l’initiative Open Source Software de Netflix parle de son engagement envers l’open source. Ils ont leur propre Centre de logiciels Open Source ! La page GitHub de Netflix présente clairement ses 139 référentiels gérés par 52 développeurs. Tous les résultats prédictifs que nous venons de voir sur le terrain sont alimentés par ces projets open source uniques répertoriés sur GitHub.

Netflix possède sa propre bibliothèque d'apprentissage en profondeur appelée Vectorflow, mentionnée ci-dessus. Il existe encore un autre outil prédictif et analytique appelé Surus. Il dispose d'une fonction connue sous le nom de ScorePMML qui permet une prédiction efficace de la notation des modèles dans le cloud. Surus peut également être utilisé pour la détection de valeurs aberrantes ou la mise en correspondance de modèles. Netflix a également un article de blog à leur sujet.

Résumé

Donc, pour résumer, nous avons commencé par vous présenter le Machine Learning, comment Netflix a évolué en tant que outil de recommandation de divertissement, une comparaison pratique avec le modèle de recommandation de Netflix et Netflix Open Connect, suivi de leur initiative de logiciels Open Source.

Merci d'avoir pris le temps et de lire patiemment l'article. Nous attendons avec impatience d’autres explorations aussi passionnantes !

En guise de conclusion, nous aimerions souligner l’approche remarquable de Netflix envers l’art et la science comme deux entités distinctes. Mais comme un bel unisson pour créer des merveilles !

Articles connexes: