- Sans dénominateur permettant d’appréhender l’ensemble d’une plateforme, les résultats de recherche sur des sujets comme la désinformation ou l’influence des recommandations risquent de perdre leur contexte ; l’équipe de recherche a donc tenté d’estimer la taille totale de YouTube à partir d’un échantillon aléatoire
- Les ID des vidéos YouTube comportent 11 caractères et l’espace d’adresses possible compte 2^64 valeurs ; trouver une vidéo valide en essayant simplement des URL au hasard est donc quasiment impossible
- Grâce à une méthode dite de “drunk dialing” et à des techniques d’optimisation, l’équipe a collecté pendant plusieurs mois plus de 10 000 vidéos réellement aléatoires, et estime qu’il y a actuellement environ 13,325 milliards de vidéos sur YouTube
- L’analyse de l’échantillon montre que plus de 4 milliards de vidéos ont été mises en ligne rien qu’en 2023, et que le nombre médian de vues est de 39, révélant l’immensité de la longue traîne de YouTube
- Tubestats tente de continuer à mettre à jour cette estimation, mais il subsiste aussi des contraintes éthiques liées au fait de ne pas exposer les URL de vidéos qui, bien que publiques, restaient en pratique introuvables
Le problème du dénominateur qui complique la recherche sur YouTube
- La recherche sur les réseaux sociaux tend facilement à se concentrer sur des phénomènes visibles, comme la désinformation ou les discours haineux, mais sans connaître leur part dans l’ensemble de la plateforme, l’évaluation de leur ampleur devient fragile
- Par exemple, il est possible de compter le nombre de résultats pour des termes de recherche comme “white genocide” ou “ivermectin”
- Le rapport d’Avaaz d’août 2020 sur la désinformation liée au COVID a comptabilisé 3,8 milliards de vues sur un an, mais sans le dénominateur que constitue le volume total de vues de la plateforme, il est difficile de dire si ce nombre est grand ou petit
- Reddit et Twitter ont, pendant un temps, fourni un accès aux données permettant d’appréhender l’ensemble de leur plateforme
- Reddit a permis à Pushshift de collecter l’ensemble des publications, ce qui rendait possible la comparaison de la taille des communautés
- Depuis le blocage de l’accès public à Pushshift à l’été 2023, Redditmap.social ne peut utiliser que les données générées au début de cette année-là
- Twitter fournissait via son API de recherche un échantillon d’un dixième ou d’un centième de l’ensemble des tweets, avant de bloquer ensuite l’accès et de facturer très cher un accès plus limité
Obtenir un échantillon représentatif de YouTube est difficile
- YouTube est une immense plateforme utilisée par presque tous les internautes
- Selon Pew, 93 % des adolescents utilisent YouTube
- Les services les plus proches sont TikTok à 63 % et Snapchat à 60 %
- Même avec une API documentée, il n’existe pas de bonne méthode pour obtenir un échantillon aléatoire représentatif de l’ensemble de YouTube
- Les recherches existantes sur YouTube reposent principalement sur deux approches
- Collecter toutes les vidéos de chaînes d’utilisateurs sélectionnées, puis les analyser
- Partir d’une vidéo donnée et collecter les vidéos recommandées en les suivant de proche en proche
- Ces deux méthodes peuvent être utiles pour des recherches pertinentes, mais elles ne suffisent pas pour constituer un échantillon de l’ensemble des vidéos YouTube ni pour calculer la taille de la plateforme
Le “drunk dialing” consistant à essayer des URL au hasard
- Jason Baumgartner a proposé d’utiliser InnerTube, l’API non officielle de YouTube, pour essayer des URL aléatoires
- L’ID vidéo d’une URL YouTube est une chaîne de 11 caractères qui suit
watch?v=- Les 10 premiers caractères peuvent être
a-z,A-Z,0-9,_ou- - Le dernier caractère ne peut prendre qu’une valeur parmi 16
- Le nombre d’adresses YouTube possibles est de 2^64, soit environ 18,4 quintillions
- Les 10 premiers caractères peuvent être
- Même en supposant qu’il existe 1 milliard de vidéos YouTube, la probabilité qu’une URL choisie au hasard soit valide est d’environ 1 sur 18,4 milliards
- L’équipe de recherche a appelé cette méthode “drunk dialing”, et Jason Baumgartner a trouvé un contournement qui en améliorait l’efficacité d’environ 32 000 fois
- Kevin Zheng a écrit un script d’exploration et collecté pendant plusieurs mois plus de 10 000 véritables vidéos YouTube aléatoires
Taille et distribution de YouTube vues à travers un échantillon aléatoire
- L’estimation actuelle de la taille de YouTube est de 13,325 milliards de vidéos, et elle est mise à jour toutes les quelques semaines sur tubestats.org
- En observant l’âge des vidéos aléatoires, il est possible de calculer le rythme de croissance de YouTube
- On estime que plus de 4 milliards de vidéos ont été publiées sur YouTube rien qu’en 2023
- La distribution des vues montre une longue traîne très marquée
- Le nombre médian de vues d’une vidéo YouTube est de 39
- YouTube tend à recommander les vidéos ayant plus de 10 000 vues
- Les vidéos ayant plus de 10 000 vues ne représentent qu’environ 4 % du dataset, mais comptent pour une grande part du total des vues sur YouTube
- Les vidéos aléatoires collectées servent aussi à estimer la distribution des langues
- Kevin Zheng a relié le script de recherche à plusieurs systèmes de détection de langue
- Cette estimation est défendable, mais pas parfaite
La “dash method”, plus efficace
- Comme l’exploration d’URL aléatoires porte sur l’ensemble de l’espace d’adresses, elle peut servir de référence pour vérifier le caractère aléatoire d’autres méthodes d’échantillonnage
- L’équipe de recherche a estimé que si d’autres façons de générer des listes de vidéos produisaient des résultats similaires à l’exploration aléatoire, on pouvait les considérer comme “plausiblement aléatoires”
- Une méthode découverte par Jia Zhou et d’autres en 2011 fonctionne comme un moyen plus efficace de collecter des échantillons
- Générer une chaîne de 5 caractères dont l’un est un tiret
- L’autocomplétion de YouTube complète alors cette URL et, si elle existe, renvoie la vidéo correspondante
- Kevin Zheng interroge aujourd’hui régulièrement YouTube avec cette dash method pour maintenir le tableau de bord Tubestats
Vidéos de longue traîne et contraintes éthiques
- L’échantillon aléatoire sert à observer non seulement les influenceurs qui réussissent, mais aussi la manière dont les créateurs utilisent les outils tout en bas de la longue traîne des médias générés par les utilisateurs
- La plupart des vidéos collectées n’ont été vues que par quelques dizaines de personnes
- Publier leurs URL pourrait exposer à un examen public des vidéos qui, bien que “publiques”, étaient en pratique très peu visibles
- C’est pourquoi l’article de recherche n’inclut pas la liste des URL des vidéos découvertes
- Ryan McGrady a dirigé le travail consistant à visionner directement 1 000 vidéos aléatoires et à les coder manuellement
- L’article associé a été publié dans le Journal of Quantitative Description, et une présentation des résultats du codage manuel est résumée dans le billet de Ryan
Pourquoi maintenir Tubestats
- L’équipe de recherche prévoit de maintenir Tubestats autant que possible
- Il est également possible que YouTube s’oppose à cette ressource ou à la méthode utilisée pour la produire
- Les grandes plateformes de médias générés par les utilisateurs sont une part importante de l’espace public numérique ; des données de haut niveau sur ce qu’elles contiennent, qui les produit et qui elles atteignent devraient donc être publiées régulièrement
1 commentaires
Avis sur Hacker News
La méthode d’échantillonnage est vraiment ingénieuse, bravo aux auteurs. Quand j’étais chez Pew, nous avons essayé de cartographier YouTube avec une marche aléatoire en suivant l’endpoint « related videos » de l’API YouTube, et au bout d’environ un an nous pensions avoir atteint un point de saturation ; mais au vu de l’échelle présentée ici, il semble qu’il existe une très longue traîne qui passe largement sous les radars.
Dès que nous avons publié l’étude, Google a presque immédiatement commencé à verrouiller l’API, mais je suis content de voir qu’il y a encore des gens qui poursuivent ce type de recherche avec du scraping à l’ancienne. À l’époque, notre analyse se faisait au niveau des chaînes et se concentrait uniquement sur les chaînes populaires, mais il est aussi intéressant de voir que certains chiffres de TubeStats ressemblent beaucoup à ce que nous avions trouvé. Par exemple, la répartition des langues : https://www.pewresearch.org/internet/2019/07/25/a-week-in-th...
On attrape 100 poissons, on les marque, on attend une semaine, puis on en attrape de nouveau 100 et on compte combien portent une marque
C’est une façon intéressante de s’attaquer aux mesures d’atténuation du problème des chars allemands https://en.m.wikipedia.org/wiki/German_tank_problem
La solution optimale serait probablement d’agrandir l’espace d’adressage afin qu’un échantillon aléatoire ne puisse pas recueillir suffisamment de données pour aboutir à une conclusion statistiquement significative. Il existe sans doute d’autres bonnes solutions consistant à modifier la distribution de différentes manières, mais si l’échantillon est réellement aléatoire, les contre-mesures dans cette direction seront limitées
Par exemple, si les adresses vont de /v=0x00 à 0xff, mais qu’en réalité seules celles de f0 à ff sont utilisées, alors en supposant que les vidéos sont distribuées aléatoirement, l’estimation ne sera-t-elle pas toujours biaisée ?
Autrement dit, on applique un filtre arbitraire à l’espace adressable avant d’attribuer les adresses. Un échantillon aléatoire pris de la même manière se tromperait dans les mêmes proportions, mais je ne peux pas connaître la parcimonie que j’ai appliquée comme filtre
Le jeu de données « YouTube dislikes » vaut aussi le détour : https://clickhouse.com/docs/en/getting-started/example-datas...
Il porte ce nom parce qu’il s’agissait d’un effort d’archivage visant à collecter les informations avant la suppression de la fonctionnalité de dislikes. On peut l’utiliser pour trouver, par exemple, les vidéos les plus controversées ou les vidéos les plus populaires avec une description dans une langue donnée
L’article dit aussi : « YouTube pourrait s’opposer à cette ressource ou à la méthode utilisée pour la créer. En réponse, nous pensons que ce type de données de haut niveau devrait être publié régulièrement pour toutes les grandes plateformes de médias générés par les utilisateurs. Ces plateformes comptent parmi les éléments les plus importants de l’espace public numérique, et nous avons besoin de beaucoup plus d’informations sur ce qu’elles contiennent, qui les crée et qui elles atteignent »
Les gouvernements devraient réglementer les plateformes pour les obliger à exposer ce type de statistiques afin que les instituts statistiques puissent les collecter
Je voulais savoir combien de données YouTube possède, mais ce chiffre n’existait pas. En faisant un calcul approximatif à partir des statistiques fournies, la durée moyenne d’une vidéo est d’environ 500 secondes.
En prenant un bitrate de 400 Ko/s et 13 milliards de vidéos, on obtient 2,7 exaoctets. Les 400 Ko/s viennent de quelques vidéos FHD 24–30 fps que j’ai téléchargées moi-même, donc c’est une estimation très grossière. YouTube encode sans doute à un bitrate plus faible les passages où la quantité d’information perçue est moindre, et les vidéos ont des résolutions et des fréquences d’images très variables, dont la distribution a aussi changé au fil de l’histoire du service. Si l’on suppose que toutes les vidéos sont en 4K à 1,5 Mo/s, on arrive à 10 exaoctets.
Cette estimation sous-évalue l’espace de stockage nécessaire à YouTube. Les vidéos populaires sont stockées dans plusieurs datacenters, à la fois en VP9 et en AV1. À l’inverse, si les vidéos impopulaires sont compressées ou transcodées à la demande depuis un autre format, cette estimation pourrait être trop élevée, mais cela paraît peu probable.
400 Ko/s, soit 3,2 Mbit/s couramment utilisés pour l’encodage vidéo, est assez faible pour une qualité source FHD, c’est-à-dire un upload en 1080p. Le chiffre pour les vidéos 4K est assez proche de l’upload source moyen.
Il faut aussi tenir compte du fait que YouTube compresse au minimum avec deux codecs vidéo, H.264 et VP9. Pour chaque codec, il existe toutes les résolutions, de 320p à 1080p et plus, selon la qualité de l’upload source. Les vidéos populaires et une bonne partie des vidéos 4K sont aussi encodées en AV1. Certaines existent même en HEVC pour les vidéos surround à 360 degrés. Vous avez bien lu. Il y a du H.265 HEVC sur YouTube.
Et tout cela n’inclut même pas la réplication ni le stockage redondant. Je ne serais pas surpris que le total dépasse facilement 100 EB. C’est la taille de 100 Dropbox en 2020.
D’un autre côté, il existe peut-être énormément de vidéos au nombre de vues ridiculement faible. Et il faut aussi se rappeler que YouTube a dû fabriquer ses propres puces de transcodage. C’est littéralement compliqué.
Il y a dix ans, je connaissais la réponse à cette question et j’aidais les responsables du stockage à réduire les coûts. Il y a quelques jours, j’ai appris que l’un d’eux, R.L., était décédé en février de cette année. RIP
Ce calcul n’incluait pas les différentes versions encodées ni le stockage des originaux.
Il y a un site lié comme résultat de cet article : https://tubestats.org/
Google posait autrefois, dans certains entretiens, des questions de scalabilité liées à YouTube. Cela finissait généralement par un problème de synchronisation de données de logs dans une infrastructure distribuée en croissance, avec des résultats absurdes du genre Big-O(f(n)) presque impossibles à expliquer oralement.
Source : j’ai passé plusieurs entretiens chez Google.
L’auteur dit avoir utilisé des « cheats ». Selon ce que cela fait, cela peut casser l’hypothèse iid selon laquelle les échantillons sont indépendants et identiquement distribués.
Si cela ressemble à un échantillonnage boule de neige, cela peut produire un taux de réussite « excessif » et gonfler les chiffres. Il y a ce passage : « Jason a trouvé quelques cheats qui rendent cette méthode environ 32 000 fois plus efficace, si bien que nos “appels” aboutissent beaucoup plus souvent. »
On y lit : « Découverte en 2011 par Jia Zhou et d’autres, elle est bien plus efficace que notre méthode naïve. Si l’on crée une chaîne de cinq caractères dont l’un est un tiret, YouTube complète automatiquement cette URL et renvoie la vidéo correspondante si elle existe. »
Même sans savoir comment la somme de contrôle est générée, on peut essayer toutes ses valeurs pour un échantillon de l’espace réel des ID.
Par exemple, on appelle l’API pour créer une playlist contenant les ID x, x+1, x+2, ..., puis on récupère la liste, et elle ne contient que x+2 si c’est l’ID attribué.
Pour un débutant en statistiques comme moi, même avec le cheat et l’autocomplétion, il faudrait démontrer que l’indépendance des échantillons n’est pas rompue et que l’échantillonnage reste aussi aléatoire que possible.
Appeler au hasard en étant ivre, mais avec à chaque fois quelqu’un qui, comme un opérateur, aide à joindre quelqu’un même quand on compose mal le numéro, ça ne ressemble pas vraiment à du hasard.
Cela dit, je n’ai pas lu l’article de 85 pages. C’est peut-être traité dedans.
C’est un dataset intéressant. L’article donne une impression un peu erronée sur les statistiques des chaînes.
Si j’ai bien compris, lorsqu’ils regardent le nombre d’abonnés, ils ne repondèrent pas pour corriger le biais d’échantillonnage. Si l’échantillon n’est qu’une petite partie de la population totale, la probabilité qu’une chaîne donnée apparaisse est proportionnelle au nombre de vidéos publiques de cette chaîne ; il faudrait donc pondérer approximativement par 1/nombre de vidéos par chaîne.
Pour les curieux, leur méthode d’estimation ressemble à peu près à ceci :
Ils supposent une plage de valeurs, puis une fonction de probabilité équitable qui échantillonne dans cette plage. La taille estimée est le taux de succès multiplié par l’ensemble de la plage de valeurs.
Admettons que la plage des valeurs possibles soit correcte. Si c’est une forme de 10 caractères dans une plage donnée plus 1, cela représente un immense cercle où des vidéos peuvent exister.
Tout repose sur les identifiants, c’est-à-dire la distribution des vidéos valides. Si YouTube a appliqué aux ID des contraintes ou des biais que nous ignorons, les ID de vidéos réellement existantes pourraient former un cercle plus petit à l’intérieur de ce grand cercle de possibilités, sans être répartis uniformément partout. Il pourrait aussi y avoir des clusters. Dans ce cas, pour obtenir la silhouette de ce biais ou voir si c’est à peu près aléatoire, il faudrait échantillonner comme si l’on lançait des fléchettes dans l’espace, par exemple selon une distribution de Poisson.
Ce n’est qu’ensuite qu’on peut estimer la taille. Est-ce bien ce qu’ils font ? Et personne n’a simplement demandé à YouTube ?
Cette méthode est vraiment facile à contrer. Il suffit de renvoyer une vidéo aléatoire pour une certaine proportion d’identifiants inexistants. En y ajoutant un peu d’aléatoire, cela suffit
C’est précisément le risque qu’il y a à expliquer la méthode
Par exemple, des conditions comme le fait qu’un ID de vidéo doive être immuable, et qu’une vidéo ne doive être représentée que par un seul ID de vidéo unique
Si ce n’est pas le cas, on écarte ce résultat et on considère que l’ID généré n’existe pas réellement. Si c’est le cas, on sait qu’il s’agit d’un véritable ID
Tant que les URL de vidéos YouTube restent immuables, cette méthode permet de résister au blocage évoqué plus haut