Einführung von FineWeb: Ein neuer Datensatz für Sprachmodelle
FineWeb bietet 15 Billionen Token an, um das Training von Sprachmodellen zu verbessern.
― 8 min Lesedauer
Inhaltsverzeichnis
- Hintergrund zu Sprachmodellen
- Was ist FineWeb?
- Die Bedeutung von qualitativ hochwertigen Daten
- Aufbau von FineWeb
- Datenextraktionsprozess
- Erste Filterungsschritte
- Fortgeschrittene Filtertechniken
- Entwicklung benutzerdefinierter Filter
- Abschluss von FineWeb
- Einführung in FineWeb-Edu
- Training des Klassifizierers
- Umgang mit Vorurteilen in Datensätzen
- Fazit
- Originalquelle
- Referenz Links
Grosse Sprachmodelle (LLMs), die Computerprogramme sind, die menschliche Sprache verstehen und generieren können, hängen stark von den Daten ab, auf denen sie trainiert werden. Die Qualität und Menge dieser Daten spielt eine entscheidende Rolle dabei, wie gut diese Modelle ihre Aufgaben erfüllen. Leider sind viele der Datensätze, die für das Training fortschrittlicher Modelle wie Llama 3 und Mixtral verwendet werden, nicht öffentlich zugänglich, und wir wissen sehr wenig darüber, wie sie zusammengestellt wurden.
Dieser Artikel stellt FineWeb vor, einen grossen Datensatz mit 15 Billionen Tokens oder Textstücken, die aus 96 Common Crawl-Schnappschüssen gesammelt wurden. FineWeb wurde entwickelt, um leistungsstärkere Sprachmodelle im Vergleich zu anderen offenen Datensätzen zu unterstützen. Indem wir teilen, wie FineWeb erstellt wurde, zusammen mit den Methoden, die verwendet wurden, um qualitativ minderwertige Inhalte herauszufiltern und zu entfernen, möchten wir nützliche Einblicke in die Kuratierung hochwertiger Trainingsdatensätze bieten.
Hintergrund zu Sprachmodellen
Sprachmodelle sind zu wesentlichen Werkzeugen geworden, da sie eine breite Palette von Textaufgaben bewältigen können. Die zunehmende Grösse dieser Modelle hat den Bedarf an grösseren Datensätzen für das Training zur Folge. Es geht jedoch nicht nur um die Grösse; auch die Art und Weise, wie Daten verarbeitet und gefiltert werden, ist wichtig. Die Entfernung von minderwertigem Text und Duplikaten ist entscheidend.
Die Entscheidungen, die während der Erstellung eines Datensatzes getroffen werden, können die anschliessende Leistung des trainierten Sprachmodells erheblich beeinflussen. Trotz ihrer Bedeutung halten viele Unternehmen ihre Strategien zur Erstellung von Datensätzen geheim, was eine Wissenslücke zwischen privaten und öffentlichen Datensätzen schafft.
Was ist FineWeb?
FineWeb zielt darauf ab, diese Lücke zu schliessen. Es enthält eine massive Sammlung von Daten, die verwendet werden können, um wettbewerbsfähige Sprachmodelle zu trainieren. Der Datensatz besteht aus 15 Billionen Tokens von Text, die aus 96 Common Crawl-Schnappschüssen stammen. Dies ist genug Daten, um ein leistungsstarkes Modell mit über 500 Milliarden Parametern zu trainieren.
Die Erstellung von FineWeb beinhaltete sorgfältige Entscheidungen darüber, wie Daten gefiltert und verarbeitet werden sollten. Es umfasste auch umfangreiche Arbeiten zur Duplikatentfernung, was der Prozess ist, bei dem doppelter Text entfernt wird, um die Qualität der Trainingsdaten zu verbessern.
Die Bedeutung von qualitativ hochwertigen Daten
Die Qualität der Trainingsdaten ist entscheidend. Webtexte enthalten oft unnatürliche Sprache, die die Leistung von Sprachmodellen negativ beeinflussen kann. Schlecht strukturierter Text, wie Boilerplate-Inhalte oder Kauderwelsch, kann dazu führen, dass Modelle weniger effektiv lernen. Auf der anderen Seite kann das Herausfiltern von zu viel auch dazu führen, dass zu wenig Daten übrig bleiben, was ebenfalls ein Problem darstellt, da Modelle ausreichende Daten benötigen, um richtig zu lernen.
Duplikation in Trainingsdaten kann auch die Leistung des Modells beeinträchtigen. Während es einfach erscheint, doppelten Text zu entfernen, beinhaltet der Prozess viele Entscheidungen, wie zum Beispiel, ob auf Zeilen-, Absatz- oder Dokumentenebene dupliziert werden soll. Die Methoden, die im Filter- und Duplikationsprozess eines Datensatzes verwendet werden, haben erheblichen Einfluss auf die Trainingsergebnisse des Modells.
Aufbau von FineWeb
Unser Ansatz zur Erstellung von FineWeb basierte hauptsächlich auf Experimenten. Wir haben verschiedene Tests durchgeführt, um verschiedene Filter- und Duplikationsstrategien zu vergleichen, während wir gleichzeitig darauf abzielten, die Leistung des Sprachmodells hoch zu halten.
Wir haben viele Modelle trainiert, die alle gleich eingerichtet waren, sich jedoch in den Daten unterschieden, auf denen sie trainiert wurden. Dies ermöglichte es uns, ihre Leistung basierend auf der Qualität und den Eigenschaften der Trainingsdaten zu vergleichen.
Wir verwendeten eine Reihe von Benchmark-Datensätzen, um die Modelle zu bewerten. Durch die Beibehaltung der Bedingungen während der Tests der Modelle auf verschiedenen Datensätzen konnten wir den Einfluss der Datenqualität auf die Leistung genau beurteilen.
Datenextraktionsprozess
Die Daten, mit denen wir gearbeitet haben, stammen aus Common Crawl und waren in zwei Formaten verfügbar: WARC und WET. WARC-Dateien haben den vollständigen HTML-Inhalt von gecrawlten Webseiten, während WET-Dateien eine nur textbasierte Ansicht bieten. In unseren Studien entdeckten wir, dass WET-Dateien oft übermässigen Boilerplate-Text enthielten, der nicht viel Wert bot.
Folglich entschieden wir uns, den Text effektiver mithilfe der WARC-Dateien und eines Tools namens Trafilatura zu extrahieren. Diese Methode führte zu klarerem und relevanterem Text, was die Leistung des Modells verbesserte.
Erste Filterungsschritte
Um mit der Filterung unserer extrahierten Daten zu beginnen, wendeten wir einen grundlegenden Regelkatalog an. Dazu gehörte das Entfernen von Inhalten für Erwachsene, das Sicherstellen, dass der Text in Englisch verfasst war, und das Herausfiltern von allem, was als minderwertig oder repetitiv angesehen wurde. Nach diesen Filterungsschritten hatten wir immer noch etwa 36 Billionen Tokens, eine riesige Menge zum Arbeiten.
Duplikationen wurden durch Techniken zur Identifizierung wiederholter Inhalte verwaltet, was half, die Trainingsqualität des Modells zu verbessern. Wir führten mehrere Experimente durch, um die beste Methode zur Duplikatentfernung zu finden und fanden letztendlich eine Methode, die gut im gesamten Datensatz funktionierte.
Fortgeschrittene Filtertechniken
Als wir unsere Methoden anpassten, strebten wir an, die Leistung anderer etablierter Datensätze zu erreichen oder zu übertreffen. Wir untersuchten zusätzliche Filterregeln, die in früheren Datensätzen erfolgreich angewendet worden waren.
Wir versuchten, Filter aus dem C4-Datensatz zu übernehmen, der bekannt für seine starke Leistung war. Unser Filtern umfasste Regeln wie das Entfernen von Zeilen, die nicht mit korrekter Interpunktion endeten, und das Eliminieren von Inhalten, die zu kurz oder für Bildungszwecke nicht relevant waren.
Wir evaluierten diese Filter sorgfältig, um sicherzustellen, dass sie unseren Datensatz verbesserten, ohne zu viele wertvolle Daten zu entfernen. Letztendlich gelang es uns, unseren Prozess zu verfeinern und durch durchdachtes Filtern verbesserte Ergebnisse zu erzielen.
Entwicklung benutzerdefinierter Filter
Neben etablierten Filtern entwickelten wir unser eigenes Set an heuristischen Filtern. Wir sammelten Metriken aus hochwertigen und minderwertigen Datensätzen, um zu definieren, was Inhalte wertvoll machte. Dies beinhaltete die Betrachtung von Dokumenteigenschaften wie Wortlänge und Wiederholung.
Wir experimentierten mit verschiedenen Schwellenwerten, um den besten Cutoff für das Herausfiltern minderwertiger Inhalte zu bestimmen. Durch die Anwendung dieser neuen Filter konnten wir FineWeb noch besser machen und mehr auf die Bedürfnisse des Trainings von Sprachmodellen abstimmen.
Abschluss von FineWeb
Nach mehreren Verbesserungen und Strategien wurde der endgültige FineWeb-Datensatz gebildet. Jeder Schritt des Datenverarbeitungsprozesses, von der Extraktion über die Filterung bis zur Duplikatentfernung, trug zur Gesamtqualität bei.
Der Datensatz wurde auch sorgfältig vorbereitet, um persönlich identifizierbare Informationen zu entfernen, wodurch seine Nutzbarkeit erhöht und gleichzeitig die Privatsphäre der Einzelnen geschützt wurde. Am Ende stellte FineWeb einen beeindruckenden Datensatz zum Trainieren von Sprachmodellen dar.
Einführung in FineWeb-Edu
In Anbetracht des wachsenden Interesses an Bildungsinhalten haben wir auch FineWeb-Edu erstellt. Dieser Datensatz umfasst 1,3 Billionen Tokens, die speziell auf qualitativ hochwertige Bildungstexte gefiltert wurden. Ziel war es, nicht nur bessere Inhalte zu bieten, sondern auch die Leistung von Modellen bei Aufgaben zu verbessern, die Wissen und Anwendung erfordern.
FineWeb-Edu übertrifft in mehreren Bewertungen andere öffentliche Datensätze, insbesondere in Bildungsbenchmarks. Wir verwendeten einen Klassifizierer, um die Bildungsqualität des Textes zu bestimmen und filterten ihn basierend auf dieser Bewertung.
Training des Klassifizierers
Um FineWeb-Edu zu erstellen, generierten wir synthetische Annotationen, indem wir Proben von FineWeb bewerteten. Dies geschah mithilfe eines fortschrittlichen Sprachmodells, das auf einer riesigen Menge an Bildungsinhalten trainiert wurde. Durch die Anwendung dieser Bewertungen konnten wir FineWeb effektiv auf Inhalte filtern, die wirklich nützlich für Bildungszwecke waren.
Der resulting Datensatz verbessert die Leistung in Benchmarks, die kritisches Denken und Wissensanwendung erfordern, erheblich.
Umgang mit Vorurteilen in Datensätzen
Ein bedeutendes Problem bei Sprachmodellen ist Vorurteil. Da die Modelle aus den Daten lernen, die ihnen zugeführt werden, ist es wahrscheinlich, dass sie, wenn diese Daten voreingenommene Sprache enthalten, diese Vorurteile widerspiegeln. Wir untersuchten FineWeb auf Vorurteile in Bezug auf sensible oder geschützte Untergruppen in der Gesellschaft.
Unsere Analyse ergab, dass bestimmte Gruppen in bestimmten Kontexten überrepräsentiert waren. FineWeb-Edu zeigte jedoch eine Reduktion von Vorurteilen, was darauf hindeutet, dass die Bildungsfilterung half, einen ausgewogeneren Datensatz zu erstellen.
Fazit
Zusammenfassend haben wir FineWeb und FineWeb-Edu als bedeutende Ressourcen zur Ausbildung grosser Sprachmodelle entwickelt. FineWeb, mit seinen 15 Billionen Tokens, wurde entwickelt, um die Modellleistung und das Verständnis der Sprache zu verbessern, während FineWeb-Edu sich darauf konzentriert, qualitativ hochwertige Bildungsinhalte bereitzustellen.
Beide Datensätze haben umfangreiche Tests und Verfeinerungen durchlaufen, um sicherzustellen, dass sie hohe Qualitätsstandards erfüllen. Wir hoffen, dass wir durch die Bereitstellung dieser Datensätze sowie unserer Methoden und Ergebnisse positiv zum Bereich der Sprachmodellierung beitragen und den Weg für zukünftige Forschung und Fortschritte ebnen können.
Titel: The FineWeb Datasets: Decanting the Web for the Finest Text Data at Scale
Zusammenfassung: The performance of a large language model (LLM) depends heavily on the quality and size of its pretraining dataset. However, the pretraining datasets for state-of-the-art open LLMs like Llama 3 and Mixtral are not publicly available and very little is known about how they were created. In this work, we introduce FineWeb, a 15-trillion token dataset derived from 96 Common Crawl snapshots that produces better-performing LLMs than other open pretraining datasets. To advance the understanding of how best to curate high-quality pretraining datasets, we carefully document and ablate all of the design choices used in FineWeb, including in-depth investigations of deduplication and filtering strategies. In addition, we introduce FineWeb-Edu, a 1.3-trillion token collection of educational text filtered from FineWeb. LLMs pretrained on FineWeb-Edu exhibit dramatically better performance on knowledge- and reasoning-intensive benchmarks like MMLU and ARC. Along with our datasets, we publicly release our data curation codebase and all of the models trained during our ablation experiments.
Autoren: Guilherme Penedo, Hynek Kydlíček, Loubna Ben allal, Anton Lozhkov, Margaret Mitchell, Colin Raffel, Leandro Von Werra, Thomas Wolf
Letzte Aktualisierung: 2024-10-31 00:00:00
Sprache: English
Quell-URL: https://arxiv.org/abs/2406.17557
Quell-PDF: https://arxiv.org/pdf/2406.17557
Lizenz: https://creativecommons.org/licenses/by/4.0/
Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.
Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.
Referenz Links
- https://huggingface.co/datasets/HuggingFaceFW/fineweb
- https://huggingface.co/datasets/HuggingFaceFW/fineweb-edu
- https://opendatacommons.org/licenses/by/1-0/
- https://github.com/huggingface/datatrove/blob/main/examples/fineweb.py
- https://github.com/huggingface/nanotron
- https://github.com/huggingface/lighteval/
- https://huggingface.co/datasets/HuggingFaceFW/fineweb/blob/main/lighteval_tasks.py
- https://huggingface.co/collections/HuggingFaceFW/ds-662457b0d213e8c14fe47f32
- https://allrecipes.co.uk
- https://commoncrawl.org/terms-of-use
- https://huggingface.co/
- https://hf.co/datasets/HuggingFaceFW/fineweb
- https://hf.co/api/datasets/HuggingFaceFW/fineweb/croissant
- https://hf.co/datasets/HuggingFaceFW/fineweb-edu
- https://hf.co/api/datasets/HuggingFaceFW/fineweb-edu/croissant
- https://hf.co/collections/HuggingFaceFW/comparison-models-662457b0d213e8c14fe47f32
- https://hf.co/collections/HuggingFaceFW/data-experiments-665ed849020d8b66a5d9896f
- https://hf.co/datasets/HuggingFaceFW/fineweb/blob/main/lighteval_tasks.py