RedPajama-Data-V2: Le changeur de jeu pour les modèles de langue open source
Published on
Introduction
Dans le paysage en constante évolution de l'intelligence artificielle, le développement de puissants modèles de langue open source (LLMs) a été largement dominé par des entités commerciales. Cependant, la communauté open source a fait de grands progrès pour démocratiser l'accès aux technologies d'IA de pointe. Parmi les nombreuses initiatives qui stimulent ce changement, le projet RedPajama se distingue comme un véritable exemple d'innovation et de collaboration.
RedPajama, un effort conjoint de Together, Ontocord.ai, ETH DS3Lab, Stanford CRFM, Hazy Research et MILA Québec AI Institute, vise à créer des modèles de langue open source de premier plan qui rivalisent avec leurs homologues propriétaires. La dernière étape du projet, RedPajama-Data-V2, est sur le point de transformer la façon dont les modèles de langue open source sont formés en fournissant un ensemble de données sans précédent de 30 billions de jetons.
Vous voulez connaître les dernières nouvelles sur les LLM ? Consultez le dernier classement des LLM !
RedPajama-Data-V2: Un changement de jeu pour les modèles de langue open source
RedPajama-Data-V2 est un ensemble de données web massif spécifiquement conçu pour former des modèles de langue open source. Il comprend plus de 100 billions de documents textuels provenant de 84 instantanés de CommonCrawl, traités à l'aide du pipeline CCNet. Parmi ces documents, 30 billions sont accompagnés de signaux de qualité précalculés et 20 billions sont dédoublonnés.
L'ensemble de données couvre cinq langues : l'anglais, le français, l'espagnol, l'allemand et l'italien. Le nombre de documents et de jetons pour la partie annotée et dédoublonnée de l'ensemble de données est le suivant :
Langue | Nombre de documents | Estimation du nombre de jetons (dédoublonnés) |
---|---|---|
Anglais | 14,5B | 20,5T |
Allemand | 1,9B | 3,0T |
Français | 1,6B | 2,7T |
Espagnol | 1,8B | 2,8T |
Italien | 0,9B | 1,5T |
Total | 20,8B | 30,4T |
L'inclusion de plus de 40 annotations de qualité précalculées distingue RedPajama-Data-V2 des autres ensembles de données. Ces annotations permettent aux utilisateurs de filtrer et de pondérer davantage les données en fonction de leurs besoins spécifiques, offrant une flexibilité et des options de personnalisation sans précédent.
RedPajama-Data-V2 est actuellement le plus grand ensemble de données public spécifiquement conçu pour la formation de LLM, avec plus de 100 billions de documents bruts et 30 billions de jetons après déduplication et filtrage. Il couvre cinq langues : l'anglais (20,5T jetons), l'allemand (3,0T), le français (2,7T), l'espagnol (2,8T) et l'italien (1,5T).
En comparaison, d'autres ensembles de données importants comme The Pile (utilisé pour former les modèles EleutherAI) contiennent environ 1,2 trillion de jetons, tandis que l'ensemble de données utilisé pour former Llama 2 contenait 2,4 billions de jetons. L'échelle de RedPajama-Data-V2 est inégalée, offrant une abondance de données d'entraînement de haute qualité.
Pourquoi RedPajama-Data-V2 est si bon
Ce qui distingue vraiment RedPajama-Data-V2, c'est l'inclusion de plus de 40 annotations de qualité précalculées pour chaque document. Ces annotations couvrent diverses catégories telles que les scores de perplexité, les prédictions des classificateurs, les mesures de la langue naturelle, les indicateurs de toxicité du contenu, et bien plus encore.
-
Haute qualité : Ces signaux de qualité permettent aux chercheurs de filtrer et de pondérer facilement l'ensemble de données en fonction de leurs besoins spécifiques. Les autres ensembles de données appliquent généralement des heuristiques fixes, limitant la personnalisation ultérieure. RedPajama-Data-V2 offre une flexibilité sans précédent pour créer des sous-ensembles sur mesure optimisés pour différentes applications LLM.
-
Entièrement open source : Le projet RedPajama est entièrement open source, avec tous les scripts de traitement des données disponibles sur GitHub et l'ensemble de données hébergé sur HuggingFace. Cette transparence permet à la communauté de comprendre, de reproduire et de développer l'ensemble de données.
-
Réduction des coûts de formation des LLM : L'échelle et la qualité de RedPajama-Data-V2 ont le potentiel de réduire considérablement les coûts de calcul pour former des LLM puissants. En fournissant une vaste quantité de données informatives, les modèles peuvent obtenir de bonnes performances avec moins de paramètres et de moins de calculs.
Configuration de RedPajama-Data-V2
Pour commencer avec RedPajama-Data-V2, vous pouvez charger l'ensemble de données d'exemple à l'aide du code Python suivant :
from datasets import load_dataset
ds = load_dataset("togethercomputer/RedPajama-Data-V2", name="sample")
Pour télécharger une combinaison spécifique de partition
x snapshot_id
x language
, utilisez la commande suivante :
wget "https://data.together.xyz/redpajama-data-v2/v1.0.0/urls/minhash-urls.txt" -O "minhash-urls.txt"
Exécution du pipeline RedPajama-Data-V2
Le pipeline RedPajama-Data-V2 se compose de trois étapes principales :
- Préparation des artefacts
- Calcul des signaux de qualité
- Déduplication
Étape 1 : Préparation des artefacts
Cette étape crée les artefacts utilisés dans les étapes suivantes, notamment la construction de classificateurs de qualité, la formation de modèles génératifs de sacs de n-grammes pour le calcul des poids d'importance, la récupération de la liste des mots interdits du référentiel LDNOOBW et la récupération de la liste la plus récente des URL blacklistées de la liste noire UT1.
Pour créer les artefacts, définissez les variables d'environnement dans le fichier de configuration et exécutez la commande suivante :
bash scripts/run_prep_artifacts.sh \
--config configs/rp_v2.0.conf \
--listings /chemin/vers/fichier/listings.txt \
--max_workers 32
Étape 2 : Calcul des signaux de qualité
La deuxième étape consiste à calculer les signaux de qualité, y compris les signatures de minhash pour la déduplication floue. Définissez les variables d'environnement dans le fichier de configuration et exécutez :
bash scripts/apptainer_run_quality_signals.sh \
--config configs/rp_v2.0.conf \
--dump_id "2022-49" \
--input_base_uri "file:///chemin/vers/la/racine/des/données" \
--output_base_uri "file:///chemin/vers/la/racine/de/sortie/des/données" \
--max_docs -1
Étape 3 : Déduplication
La troisième étape consiste en une déduplication exacte et floue. Pour une déduplication exacte à l'aide d'un filtre de Bloom, exécutez :
python3 app/src/bloomfilter.py \
--listings /chemin/vers/fichier/listings.txt \
--input_base_uri "s3://chemin/vers/ccnet/données" \
--output_dir "/chemin/vers/répertoire/de/sortie" \
--s3_profile "..." \
--endpoint_url "..." \
--parallel_readers 32 \
--batch_size 10 \
--capacity "..." \
--error_rate "..."
Pour une déduplication floue avec hachage sensible à la localité, exécutez :
bash scripts/apptainer_run_lsh.sh \
--config configs/rp_v2.0.conf \
--dump_id "2022-49" \
--input_base_uri "file:///chemin/vers/la/racine/des/données" \
--output_dir "/chemin/vers/répertoire/de/sortie" \
--similarity "<seuil_de_similarité>" \
--listings "/minhash/fichier/listings.txt" \
--max_docs -1
Signaux de qualité RedPajama-Data-V2
RedPajama-Data-V2 comprend un ensemble complet de signaux de qualité, qui peuvent être classés dans les groupes suivants :
- CCNet : Signaux dérivés du pipeline CCNet, tels que le score de perplexité, l'identification de la langue et la longueur du document.
- Heuristiques ML : Signaux basés sur des modèles d'apprentissage automatique, tels que les classificateurs pour les pages similaires à Wikipédia et le rééchantillonnage important.
- Langue naturelle : Signaux liés aux propriétés linguistiques du contenu, tels que le nombre de mots, le nombre de phrases et la fraction de mots uniques.
- Répétitivité : Signaux mesurant la répétitivité du contenu, tels que la fraction de caractères dans les n-grammes en double.
- Toxicité : Signaux indiquant un contenu potentiellement toxique, tels que la présence de mots de la liste noire LDNOOBW et de catégories de la liste noire UT1.
- Déduplication : Signatures de minhash pour la déduplication floue à différents seuils de similarité de Jaccard.
Une liste détaillée de tous les signaux de qualité peut être consultée dans la documentation RedPajama-Data-V2.
L'avenir de RedPajama et des LLM open-source
RedPajama-Data-V2 marque une étape importante dans le développement des LLM open-source. En fournissant un vaste ensemble de données de haute qualité avec des annotations approfondies, le projet vise à abaisser les barrières à l'entrée pour les chercheurs et les organisations souhaitant construire des modèles de langue puissants.
L'équipe RedPajama envisage d'étendre l'ensemble de données avec des annotations de qualité supplémentaires, telles que des annotations de contamination, de modélisation de sujets et de catégorisation de documents. Ils encouragent activement la participation de la communauté en suggérant et en développant de nouvelles annotations pour enrichir davantage l'utilité de l'ensemble de données.
En parallèle du développement de l'ensemble de données, Together construit des modèles ouverts basés sur RedPajama-Data-V2. Ces modèles seront entièrement open-source et commercialement viables, offrant une alternative sans problèmes ni drama aux LLM existants. Le projet propose également une assistance aux entreprises et organisations intéressées par la construction de modèles personnalisés en utilisant une combinaison de données ouvertes et propriétaires.
Conclusion
RedPajama-Data-V2 représente une avancée significative dans la démocratisation de la technologie de l'IA. En fournissant un ensemble de données entièrement open-source et de haute qualité pour l'entraînement des LLM, le projet donne aux chercheurs, développeurs et organisations les moyens de créer des modèles de langue puissants sans les limitations imposées par les API propriétaires.
Alors que le projet RedPajama continue de croître et d'évoluer, il a le potentiel de remodeler le paysage de l'IA, favorisant l'innovation, la collaboration et l'accessibilité. Avec le soutien et la participation de la communauté de l'IA, RedPajama est bien positionné pour devenir un catalyseur de la prochaine génération de LLM et au-delà.
Envie de connaître les dernières actualités sur les LLM ? Consultez le dernier classement des LLM !