Zoom sur les datasets d'apprentissage : vers des données plus « propres »

À la suite de la publication du premier article “Démystifier les LLM et comment les mettre en œuvre chez vous pour les étudier de plus près” à lire ici, on va s’intéresser cette fois-ci au délicat sujet des données d’apprentissage.

Quel type de données et quel volume ?

Les données sont pourtant le carburant des algorithmes d'IA. Plus que l’architecture du modèle, les données d’apprentissage sont le constituant essentiel du tout projet de machine learning. Leurs qualités et leurs défauts se transmettent tout au long de la chaîne de production des projets de LLM.

Plusieurs types de données sont nécessaires et utilisées lors les différentes étapes de mise au point d’un LLM. J’ai essayé de les résumer sur le schéma ci-dessous :

À chaque étape de la mise au point d’un LLM, on utilise plusieurs types et formats de données. En voici une synthèse simplifiée des caractéristiques et leur origine potentielle :

On s’aperçoit instantanément qu’il faut en beaucoup (voire beaucoup comme énormément !) pour constituer ces jeux de données pour l'entraînement. Et c’est là, un second enjeu des données d’apprentissage, le VOLUME. Pour rappel, un trillion c’est mille millards soit 10^12 (1 000 000 000 000).

Le premier grand problème auquel nous sommes tous confrontés est la transparence des fournisseurs de LLM : sur la provenance, la qualité et le respect des règlementations liées à l’utilisation des données, en particulier dans le cas des DCP (Données à Caractère Personnel).

Puisque le premier fournisseur de données pour tous les LLM, c’est NOUS ! cet article de blog, vos posts sur les réseaux sociaux, le contenu des prompts que vous donnez gratuitement à OpenAI ou encore lorsque vous cliquez sur les feux rouges ou les chats sur les systèmes de Captcha. Remarquez à ce stade déjà une première aberration sur laquelle nous reviendrons : nous ne sommes pas rémunérés pour « le don » données et pire… on nous oblige ensuite à payer pour utiliser les services comme ChatGPT, CoPilot de Microsoft, Claude qui sont les premiers consommateurs de notre production intellectuelle.

A noter que les modèles dits “Open Source” mais il faudrait être plus précis pour parler d’Open Weights (seuls des indices sur la répartition des données par langue par exemple sont publiés mais pas les données en tant que telles) ne sont guère plus précis sur la provenance et la constitution de leurs données d’apprentissage.

Nota : je parlerais dans la suite de cet article de modèles Open Science car en l’état y compris les modèles LLAMA, FALCON et MistralAI ne sont pas reconnus comme Open Source par l’Open Source Initiative (OSI). Le fait qu’ils ne publient pas leurs données d’apprentissage mais à cause de leur licence d’utilisation qui contiennent parfois des restrictions contraires à l’esprit Open Source. À noter l’OSI s’est emparée du sujet et a lancé l’initiative Deep Dive (https://opensource.org/deepdive/) visant à poser les bases d’une définition commune du terme “Open Source AI”.

Certaines informations qui devraient toutefois nous alerter : quand l’allemand et le français représentent uniquement 0,17 et 0,16% des données d’apprentissage du modèle LLAMA 2, que dire à terme de notre représentativité et notre existence même dans ces LLM ? Les autres grands producteurs de données sont les acteurs du monde de la recherche universitaire sans que cela veuille dire que tout est libre et gratuit…

Pour prendre conscience du problème, je vous invite à examiner les travaux de Alan D. Thompson le nom est particulièrement efficace “What's in my AI” et en particulier le tableau des grands jeux de données actuellement utilisés :
https://docs.google.com/spreadsheets/d/1O5KVQW1Hx5ZAkcg8AIRjbQLQzx2wVaLl0SqUu-ir9Fs/edit#gid=484905095

La langue anglaise est largement dominante sur Internet. En tout cas celui que nous, européens pratiquons au quotidien. Le mandarin n’est pas encore la première langue que l’on enseigne en 6ème dans les collèges… 😎

La sous représentation du Français commence déjà dans le jeux de données du projet Common Crawl qui constitue aujourd’hui la première source des données de faible qualité utilisée lors du pré-entrainement des modèles fondations tels ChatGPT, LLAMA…

Par extension et pour aggraver le tout, les acteurs clés à l'origine des LLM sont américains et donc le plus gros volume de données est donc essentiellement anglophone.

Cet usage a une influence sur la performance des modèles pré-entraînés car leur utilisation dans un contexte de langue moins fréquente comme le Français se fait souvent à partir de traduction de mauvaise qualité.

Pour illustrer cette dépendance à la donnée, vous trouverez ci-dessous une représentation des LLM actuellement existants en novembre 2023.

La question est maintenant de savoir si aujourd’hui nous disposons suffisamment de données de haute qualité pour entraîner efficacement un LLM complet et généraliste pouvant concurrencer ChatGPT 4.

La réponse est probablement non mais la recherche avance à grands pas sur le sujet. Par ailleurs, il faut reconnaître que le monde de l’Open Science avec des modèles fondations comme LLAMA, Falcon et plus récemment Mistral démontre que la qualité des données d’entraînement compte autant voire plus que la quantité de données utilisée.

Et c’est d’autant plus vrai quand on vise des modèles compacts et plus spécialisés… mais nous y reviendrons.

Y’a t il donc suffisamment de données pour entraîner des modèles fondation souverains plus représentatifs de nos cultures et valeurs européens ?

C’est la question en débat chez tous les acteurs français et européens qui souhaitent développer des modèles avec une meilleure représentativité de nos langues et valeurs locales.

Alors, où trouve-t-on des données ?

J’ai essayé dans ce schéma de synthétiser les sources potentielles tout en essayant de qualifier leur volume et leur « qualité » :

  • Internet : à la base de la pyramide, qui représente la quantité la plus importante de données disponibles, mais avec une structuration et une personnalisation minimales. Cela comprend des ensembles de données généraux utilisés pour l'apprentissage des modèles d'intelligence artificielle, tels que CommonCrawl, WebText, C4, SQuAD 1.0, SWAG et BookCorpus.

  • Bases raffinées, complétées et annotées : constituant le second étage de la pyramide, comprenant des données traitées pour être plus structurées et utiles dans des contextes d'apprentissage, comme Red Pajama et OSCAR.

  • Jeux de données d’alignement partagés : le troisième niveau, constitué d'ensembles de données plus spécialisés qui sont utilisés pour aligner les modèles d'IA sur des tâches spécifiques, comme osst1 et SUMM-R. Ces jeux de données sont souvent partagés au sein d’une communauté d’utilisateurs avec des règles d’utilisation plus ou moins large.

  • Données métier : représente les données propres à une entreprise ou à un domaine spécifique. Ces données existent à l'intérieur des organisations mais sont difficiles à extraire pour les transformer en jeux de données d'apprentissage public et ouvert en raison de leur spécificité, leur sensibilité (brevets ou tout autre élément lié au secret des affaires) ou des contraintes liées à leur utilisation.

  • Données à Caractère Personnel (DCP) : Au sommet de la pyramide, ce sont nos données sensibles qui nécessitent une gestion et une protection particulières (RGPD), telles que les données de santé. Leur utilisation pour l'apprentissage machine devrait fortement être réglementée en raison de leur nature sensible et des implications éthiques et légales.


A minima, les données provenant des deux premiers niveaux de la pyramide suscitent le débat, en particulier sur leur “propreté”.

Mais au fait c’est quoi une donnée propre ? pas facile à déterminer car il n’y a pas à ce jour de définition consensuelle et partagée. Et pour cause, le cadre juridique n’est pas fixé à ce jour notamment à cause de l’empilement de nos différentes règlementations (DSA, IA Act, droit d’auteurs, RGPD…).

Dans le cadre de nos travaux avec la communauté OpenLLM France 🇫🇷, nous avons essayé d’établir cette première classification :

Selon plusieurs estimations, le stock total de données textuelles utilisables dans le monde se situe à environ 100 Trillions de tokens. Cela comprend tous les livres du monde, tous les documents scientifiques, tous les articles de presse, l'ensemble de Wikipédia, tous les codes accessibles au public et une grande partie du reste de l'internet, filtré pour sa qualité.

De plus, si l’on considère que 4,4 % du web est en français, cela nous donne environ 264 milliards de tokens disponibles en français (hypothèse à 6 Trillions de tokens).

Ce chiffre est à comparer avec les 5 Trillions de tokens de RefineWeb (Corpus du modèle FALCON) et les 341 milliards de tokens du corpus utilisé pour entraîner le modèle BLOOM.

A noter qu’il y a quelques jours (le 30 octobre 2023), together.ai a publié la V2 du jeu des données ouvert Red Pajama avec 30 000 milliards de tokens. Il s'agit, à ma connaissance, du plus grand ensemble de données publiques publié spécifiquement pour l’entraînement de LLM. Cette version comprend :

  • Plus de 100 milliards de documents texte avec plus de 100 000 milliards de tokens bruts provenant de 84 dumps Common Crawl ;

  • Plus de 40 annotations de qualité parmi les plus largement utilisées, pré calculées pour un sous-ensemble de 30 000 milliards de tokens dé dupliqués ;

  • Cinq langues supportées (on aime !) : anglais, français, espagnol, allemand et italien ;

  • Tous les scripts de traitement de données sont open source et disponibles sur GitHub ; toutes les données sont disponibles sur l’espace datasets présent mis à disposition gratuitement par Hugging Face.

C’est une véritable avancée qui va forcément mettre un véritable coup d’accélération complémentaire à l’écosystème des modèles fondations Open Science et Open Source. A suivre…

D’un autre côté, il y a aussi les “Chinchilla laws”. Vous en avez forcément entendu parler. Elles permettent selon ma propre interprétation (pouvant être partielle) :

  • de définir une taille de modèle “idéal” pour un nombre de tokens définis et d’une capacité d’infrastructure (compute ie GPU) donnée ;

  • et qu’en augmentant le volume de données d’apprentissage de qualité (au delà du ratio préconisé par les Chinchilla laws, on peut obtenir des modèles plus performant tout en diminuant leur taille ce qui constitue un avantage pour le coût lors de l’inférence en autre.

Ce “déficit” de données de pré-entraînement ne constitue cependant pas un blocage et ne doit surtout pas nous contraindre à utiliser les modèles dont le jeux de données d’apprentissage ne sont pas respectueux de nos réglementations.

Ainsi plusieurs acteurs et c’est aussi l’ambition du consortium OpenLLM France 🇫🇷 de participer aux recherches les plus avancées visant à démontrer que des modèles compacts, dont la cible de taille serait inférieure à 15 milliards de paramètres mais entraînés sur des données de haute qualité, rivaliseraient avec les plus grands LLM dans des domaines spécialisés.

Conscients que ces modèles de nouvelle génération ne pourraient bien entendu embarquer toute la connaissance nécessaire à la génération de réponses de qualité et disposant d’un haut niveau de confiance, la recherche actuelle envisage de plus en plus l’« hybridation » des modèles : c’est-à-dire combiner la puissance générative des LLM avec l’apport de base de données structurées disponibles dans les organisations.

Le papier “Knowledge Card: Filling LLMs' Knowledge Gaps with Plug-in Specialized Language Models” mis à jour récemment, le 19 octobre 2023, présente de manière assez pédagogique la méthodologie qui pourrait être utilisée pour enrichir le prompt par des données non exprimées par l’utilisateur au moment de l’inférence du modèle en consultant des bases de connaissance et de confiance existant dans l’organisation. Illustration issue du papier de recherche qui illustre une des approches possibles d’enrichissement au moment de l’inférence :

Avec ces approches d’hybridation, nous pourrions disposer d’une opportunité sérieuse pour dépendre un peu moins des données qui ont été récoltées sur Internet au travers de moyens plus ou moins éthiques. L’apport des données provenant par ailleurs des bases de connaissances présentes dans l’entreprise est à minima compléter la réponse voire la rendre opposable.

Ainsi, en adoptant une stratégie de modèles compacts et spécialisés, il semble désormais possible d’envisager l’entrainement d’une famille de modèles fondation ouverts et souverains avec des données de haute qualité respectueuses de nos règlementations.

Ouvrons le capot des “datasets”

OpenAI, Meta, LightON, MistralAI et beaucoup d’autres ne publient pas leur jeux de données d’apprentissage. Normal car y’aurait certainement beaucoup à dire. Donc à peu près tout le monde profite du flou juridique actuel…

A commencer par l’utilisation des données provenant de Common Crawl, utilisés par pratiquement tous les grands modèles LLM y compris ceux en Open Science.

Le projet Common Crawl a pour objectif d’archiver le plus de pages web possible, et de les rendre disponible leur accès via le site de la fondation. On estime qu’aujourd’hui, la plateforme centralise environ 15 à 20% du web mondial, grâce à l’usage de crawlers (robot d’indexation des données).

En date de début novembre 2023, c’est l’archive “CC-MAIN-2023-40” qui est la plus à jour : 150 To compressés pour 3,4 milliards de page indexées. Elle est disponible ici : https://data.commoncrawl.org/crawl-data/CC-MAIN-2023-40/index.html

Le gros du contenu est dans 3 archives : les données correspondant aux pages WEB peuvent être dans les fichiers WARC (pages brutes en HTML) ou WET (pages épurées des balises HTML). Le fichier WAT contient les métadonnées. Donc généralement, les fabricants de LLM sont surtout intéressés par les fichiers WARC et WET pour ensuite faire de la curation voire enlever des langues puis procéder à la préparation des données en vue de l’apprentissage.

Génial ! On a des milliards de page de contenus mais quid du droit de réutilisation de ces données ?

Comme (trop) souvent et c’est le cas aussi pour Common Crawl, les conditions d’usage et d’exploitation publiées sur le site sont floues et en tout ne traite pas du cas de réutilisation de ces données en vue de faire de l’entrainement de modèles qui plus sont fermés et payants… Je ne suis pas juriste mais il se dégage de la page https://commoncrawl.org/terms-of-use un sentiment de “take it as it”. Le projet décline par ailleurs tout responsabilité en cas de mauvaise usage ou de non respect du droit d’auteur.

L’indexation, tout comme la réutilisation, sont deux des finalités principales des outils utilisés pour constituer les données du projet Common Crawl. Pour autant, ces pratiques sont encadrées par le droit, et notamment par la propriété intellectuelle, pour éviter tout type d’abus.

Je recopie ici une partie de la page du cabinet d’avocats Murielle Cahen qui traite du sujet sur le crawling et le scraping :

Le principal risque, pour celui qui réexploite ces données, est constitué par la possible action en contrefaçon à son égard par le propriétaire des données.

Dans le cadre d’une indexation des données, en réalité, la contrefaçon ne sera généralement pas admise. En effet, même si l’indexation de données récoltées par l’usage de crawlers va permettre au réexploitant d’augmenter le nombre de visites de son site, l’indexation fait normalement référence aux sources citées et, de ce fait, n’entre pas en contradiction ni avec le droit d’auteur , ni avec le droit des bases de données.

C’est notamment ce qu’a pu retenir le Tribunal de grande instance de Paris, dans son arrêt « Adenclassified » du 1er février 2011 ayant débouté de sa demande une société dont les données ont été indexées, les faits ne constituant pas une violation du « droit sui generis du producteur de bases de données » (6).

À la lecture de cette décision, on comprend également que l’extraction de données par le biais de ces outils numériques dans la poursuite d’un objectif de réutilisation « de la totalité ou d’une partie qualitativement ou quantitativement substantielle du contenu d’une base de données » est constitutive d’un acte de contrefaçon, comme le prévoient expressément les articles 342-1 et 342-2 du Code de la propriété intellectuelle.

Dans un arrêt du 31 juillet 2019, la Cour d’appel vient condamner une société d’édition qui avait mis en place un système informatique permettant l’exploration et le crawling sur les sites des éditeurs concurrents. La société offre un service de recherches jurisprudentielles et d’indexation de commentaires juridiques. Or l’intérêt de ce crawling par la société étant de proposer à leurs propres abonnés les contenus normalement, uniquement, proposés aux abonnés de ces sites concurrents.

Dans un autre arrêt du 2 février 2021, la Cour d’appel de Paris vient confirmer la décision de 2011, en considérant que l’extraction et la réutilisation des données, des annonces de la société leboncoin.fr constituait en une violation du « droit sui generis du producteur de bases de données », violant les articles 342-1 et 342-2 du Code de la Propriété intellectuelle.

Au demeurant, il n’existe pas de règles précises concernant l’établissement du caractère substantiel du contenu. Ainsi, la reconnaissance d’un tel critère se fera au cas par cas par le juge du litige en question, et il convient donc aux utilisateurs des extracteurs de mesurer l’exploitation qu’ils feront de ces données.

C’est en particulier cette dernière phrase qui laisse suffisamment de place à l’interprétation de leurs propres droits sur les données récoltées par les uns et par les autres… Refermons la parenthèse juridique mais il me semblait intéressant de mettre la lumière sur le flou qui n’a pas encore fini de faire couler beaucoup d’encre.

On a au moins un modèle qui a été construit avec une approche IA « responsable » : BLOOM pour BigScience Large Open-science Open-access Multilingual Language Model.

Les premiers jalons du projet BigScience ont été posés au printemps 2021 et a permis de lancer une société qu’on connait bien ici : Hugging Face

Les particularités de BLOOM se sont reflétés autant dans la composition du jeu de données d’entraînement que dans la licence du modèle qui en a découlé. Il a été entraîné “à l’époque” sur un corpus de données plus varié : moins d’anglais, et 45 autres langues. Ainsi que 13 langages de programmation (13 % du dataset) : C, C#, C++, Go, Java, JavaScript, Lua, PHP, Python, Rust, Scala et TypeScript. Au total, environ 1,6 To de données prétraitées, regroupées en 350 milliards de tokens.

Tout est consultable et auditable ici : https://huggingface.co/spaces/bigscience/BigScienceCorpus.

La licence de BLOOM est la BigScience RAIL Licence V1.0 du 19 mai 2022 consultable ici : https://huggingface.co/spaces/bigscience/license. D’ailleurs les travaux initiés pour BLOOM se sont poursuivis au travers de l’initiative Responsable IA Licences (https://www.licenses.ai/). La licence a été déclinée pour couvrir les différents artéfacts que l’on manipule lorsqu’on met en oeuvre de l’IA Générative à savoir :

  • RAIL-D : déclinaison de la licence RAIL pour les données ;

  • RAIL-A : déclinaison de la licence RAIL pour l'application/exécutable ;

  • RAIL-M : déclinaison de la licence RAIL pour les modèles ;

  • RAIL-S : déclinaison de la licence RAIL pour le code source.


En avril 2023, le site indique que ces licences avaient déjà adoptées par plus de 8000 artéfacts référencés sur le site Hugging Face. C’est donc à suivre aussi…

Les formats des données d’apprentissage peuvent être multiples mais sont souvent des tableaux de clés / valeurs. Vous trouvez par exemple le jeu de données qui nous avions utilisé lors du 1er meeting de la communauté OpenLLM France 🇫🇷 en juin 2023 ici : https://huggingface.co/datasets/OpenLLM-France/Tutoriel.

Nous avions utilisé ce jeu de données pour faire une démonstration de fine tuning de BLOOM sur le rendre plus efficace en mode conversationnel en français dans le contexte d’un site de vente en ligne.

On peut y trouver aussi par exemple des samples de voix pour entrainer des modèles multimodaux comme ici par exemple : https://huggingface.co/datasets/Plim/common_voice_7_0_fr_processed/viewer/default/train.

Mais avant vous-même de dévorer ces données, regarder bien le contenu de la carte de présentation du dataset (dataset card) car il peut y avoir des restrictions d’usage, ici le cas de BLOOM justement :

Conclusion

Pour faire court, avant toute opération d’alignement ou d’entrainement d’un modèle fondation, il s’agit d’étudier l’évolution de notre règlementaire et notamment sur l’IA Act consultable ici : https://www.europarl.europa.eu/news/fr/headlines/society/20201015STO89417/regles-sur-l-ia-ce-que-veut-le-parlement-europeen.

Pour le moment, nous en sommes là :

En attendant, il faut se faire conseiller sur les données en posant selon moi à minima les questions clés suivantes relevant des domaines éthique, technique et juridique. Voici quelques exemples d’interrogations :

Éthiques

  • Impact sociétal : Quelles sont les conséquences potentielles de l'utilisation de ces données sur la société ? Comment les modèles influencent-ils les normes sociales et culturelles ?

  • Biais et représentativité : Les données reflètent-elles une diversité suffisante pour éviter les biais ? Comment les biais existants dans les données sont-ils identifiés et atténués ?

  • Consentement et vie privée : Comment les données personnelles sont-elles collectées et utilisées ? Le consentement des individus est-il obtenu de manière éthique et transparente ?

Techniques

  • Qualité et pertinence des données : Comment la qualité et la pertinence des données sont-elles assurées ? Les données sont-elles à jour et représentatives ?

  • Scalabilité et gestion des données : Comment gérer efficacement de vastes volumes de données ? Quels sont les défis en termes de stockage, traitement et mise à jour des données ?

  • Détection et correction des erreurs : Comment les erreurs dans les données sont-elles détectées et corrigées ? Quels mécanismes sont en place pour assurer l'intégrité des données ?

Juridiques

  • Droits d'auteur et licences : Comment les droits d'auteur et les licences de données sont-ils gérés, en particulier pour les données provenant de sources diverses ?

  • Conformité aux réglementations : Comment les données sont-elles utilisées en conformité avec les lois sur la protection des données, comme le RGPD ?

  • Responsabilité et recours : En cas de préjudice causé par un modèle, qui est responsable ? Quels recours sont disponibles pour les personnes affectées ?

  • Transparence et responsabilité : Comment les développeurs et les utilisateurs de LLM rendent-ils compte de leurs méthodes de collecte et d'utilisation des données ?

  • Collaboration et partage des données : Comment les données sont-elles partagées entre différentes organisations et chercheurs ? Quelles sont les normes pour le partage éthique et sécurisé des données ?

Ces questions sont fondamentales pour comprendre et naviguer dans le paysage complexe de l'entraînement des LLM, garantissant que ces technologies sont développées et utilisées de manière responsable et éthique. Ce sera aussi au coeur du prochain article sur le comment entraîner un modèle LLM sobre et compact.

Références