Veröffentlichung eines umfassenden Datensatzes zur englischen Sprache
Ein neuer Datensatz soll die Forschung zu Sprachmodellen verbessern und Transparenz fördern.
― 7 min Lesedauer
Inhaltsverzeichnis
Sprachmodelle sind jetzt essentielle Werkzeuge für verschiedene Aufgaben im Bereich der natürlichen Sprachverarbeitung. Doch die genauen Details, wie die leistungsstärksten Sprachmodelle erstellt wurden, werden oft nicht geteilt. Ein wichtiger Aspekt, der selten diskutiert wird, ist die Datenbasis für das Pretraining. Die meisten kommerziellen Sprachmodelle geben diese Infos nicht preis, und selbst die, die Open Source sind, liefern selten ihre Trainingsdaten oder einen klaren Weg, um sie zu reproduzieren. Diese fehlende Transparenz schafft Herausforderungen für Forscher, die versuchen zu verstehen, wie die Trainingsdaten die Fähigkeiten und Grenzen des Modells beeinflussen.
Um die offene Forschung im Pretraining von Sprachmodellen zu unterstützen, veröffentlichen wir einen bedeutenden Datensatz, der aus drei Billionen Tokens englischen Text besteht. Dieser Datensatz ist aus einer breiten Palette von Quellen erstellt, darunter Webinhalte, wissenschaftliche Arbeiten, Code, Texte aus dem öffentlichen Bereich, soziale Medien und Enzyklopädien. Ausserdem stellen wir unsere Tools zur Datenkurierung für andere Forscher zur Verfügung, damit sie weitere Experimente durchführen und unsere Bemühungen reproduzieren können.
In diesem Dokument skizzieren wir den Datensatz, erläutern seine Designprinzipien, den Erstellungsprozess und den Inhalt. Wir fügen ausserdem Analysen und Ergebnisse aus dem Training von Sprachmodellen mit verschiedenen Phasen dieses Datensatzes hinzu, um wichtige Praktiken in der Datenkurierung hervorzuheben. Dazu gehören die Verwendung von Filtern für die Inhaltsqualität, das Management doppelter Einträge und das Mischen von Daten aus unterschiedlichen Quellen. Der Datensatz wurde verwendet, um OLMo zu trainieren, ein modernes Open Language Model und Framework, das darauf abzielt, unser Wissen über Sprachmodellierung voranzutreiben.
Übersicht des Korpus
Der Datensatz besteht aus drei Billionen Tokens, die aus verschiedenen Quellen gesammelt wurden und insgesamt etwa 200 Terabyte Rohtext ergeben. Er wurde sorgfältig bereinigt, um die Bedürfnisse des Sprachmodell-Trainings zu erfüllen. Heutzutage sind Sprachmodelle zentral für viele Aufgaben der natürlichen Sprachverarbeitung, von Antworten geben über Zusammenfassungen erstellen bis hin zu Few-Shot-Lernen.
Die meisten leistungsstarken Sprachmodelle werden von wenigen Organisationen entwickelt, die die meisten Aspekte ihres Entwicklungsprozesses geheim halten. Dazu gehören vage Aussagen über die Zusammensetzung ihrer Pretraining-Daten, selbst wenn Modelle zur öffentlichen Nutzung freigegeben werden. Daher ist es schwierig zu bewerten, wie die Zusammensetzung der Pretraining-Daten die Modell-Leistung und -Grenzen beeinflusst. Diese Unklarheit kann den wissenschaftlichen Fortschritt behindern und die Interaktion der Öffentlichkeit mit diesen Modellen beeinflussen. Deshalb streben wir Offenheit und Transparenz an, indem wir unseren Datensatz und die Dokumentation zu seiner Erstellung veröffentlichen, damit die breitere Forschungsgemeinschaft unsere Erkenntnisse analysieren und darauf aufbauen kann.
Unser primäres Ziel ist es, mehr Forscher und Organisationen zu ermutigen, sich mit der Forschung und Entwicklung von Sprachmodellen zu beschäftigen. Transparenz in den Daten hilft Nutzern von sprachmodellbasierten Anwendungen, bessere Entscheidungen zu treffen. Studien haben zum Beispiel einen Zusammenhang zwischen der Häufigkeit bestimmter Dokumente oder Begriffe in den Pretraining-Daten und einer verbesserten Leistung bei verwandten Aufgaben festgestellt. Daher wird der Zugang zu den Pretraining-Daten empirische Studien ermöglichen, die untersuchen können, wie sich die Datenmischung auf das Verhalten des Modells auswirkt.
Zusammensetzung des Datensatzes
Der Datensatz ist eine Mischung aus verschiedenen Inhaltsarten, um einen breiten Überblick über die Verwendung der englischen Sprache zu erfassen. Die Quellen für den Datensatz umfassen:
- Webdaten: Wir haben eine beträchtliche Menge an Text aus dem Common Crawl gesammelt, einem öffentlichen Datensatz, der Informationen aus dem gesamten Internet archiviert.
- Wissenschaftliche Arbeiten: Akademische Forschung wurde durch das Extrahieren von Arbeiten aus der Semantic Scholar-Datenbank einbezogen.
- Code: Wir haben Programmcode von GitHub gesammelt, wobei wir uns auf Repositories mit permissiven Lizenzen konzentriert haben.
- Öffentliche Domain-Bücher: Literarische Werke aus Project Gutenberg, das zahlreiche Texte aus dem öffentlichen Bereich hostet, wurden ebenfalls einbezogen.
- Beiträge aus sozialen Medien: Wir haben Inhalte von Plattformen wie Reddit gesammelt, um konversationelle Daten einzuarbeiten.
- Enzyklopädische Inhalte: Wir haben Artikel aus Wikipedia und Wikibooks bezogen, um zuverlässiges Referenzmaterial hinzuzufügen.
Der resulting Datensatz ist nicht nur gross, sondern auch vielfältig, um sicherzustellen, dass er unterschiedliche Wissensgebiete und Schreibstile widerspiegelt.
Datenverarbeitung und -bereinigung
Um den Datensatz für das Training von Sprachmodellen vorzubereiten, haben wir einen umfassenden Bereinigungsprozess implementiert. Dazu gehörten mehrere wichtige Schritte:
- Sprachfilterung: Wir haben automatisierte Tools zur Spracherkennung verwendet, um sicherzustellen, dass nur englischer Text im Datensatz bleibt. Seiten, die nicht hauptsächlich in Englisch waren, wurden entfernt.
- Qualitätsfilterung: Verschiedene Kriterien wurden angewendet, um minderwertigen Text auszuschliessen. Dokumente, die bestimmten Lesbarkeitsstandards nicht entsprachen oder zu viel doppelten Inhalt enthielten, wurden ausgeschlossen.
- Inhaltsfilterung: Inhalte, die als toxisch oder schädlich angesehen werden könnten, wurden systematisch entfernt. Dazu gehörte auch das Filtern persönlicher identifizierbarer Informationen (PII), um die Privatsphäre von Personen zu schützen.
- Deduplizierung: Wir haben Schritte unternommen, um sicherzustellen, dass doppelte Einträge minimiert werden. Das hilft, die Effizienz des Modelltrainings zu verbessern, indem redundante Daten reduziert werden.
Diese Filter- und Bereinigungstechniken sind entscheidend für die Erstellung eines Datensatzes, der sowohl von hoher Qualität als auch relevant für das Training von Sprachmodellen ist.
Daten-Kurierungstool
Neben dem Datensatz veröffentlichen wir auch ein Toolkit, das für eine effiziente Datenkurierung konzipiert ist. Dieses Toolkit soll anderen Forschern helfen, unsere Bemühungen zu reproduzieren oder ihre eigenen Datenpipelines zu entwickeln. Es kann auf verschiedenen Plattformen betrieben werden, darunter gängige Verbraucherhardware und grössere verteilte Systeme, sodass es für viele Benutzer zugänglich ist.
Das Toolkit umfasst Funktionen zur Identifizierung der Sprache, zur Anwendung von Qualitäts- und Inhaltsfiltern sowie zur Handhabung der Deduplizierung. Mit diesem Toolkit können Forscher ihre Datenverarbeitungsansätze an ihre spezifischen Bedürfnisse anpassen oder neue Wege im Training von Sprachmodellen erkunden.
Experimente und Ergebnisse
Im Rahmen dieser Initiative wurden verschiedene Experimente durchgeführt, um die Effektivität unterschiedlicher Datenkurierungstechniken zu bewerten. Wir konzentrierten uns auf mehrere Aspekte, darunter:
- Der Einfluss der Inhaltsqualität: Wir bewerteten, wie die Massnahmen zur Filterung von minderwertigem Inhalt die Modellleistung beeinflussten. Modelle, die auf hochwertigen Datensätzen trainiert wurden, zeigten eine bessere Genauigkeit in nachgelagerten Aufgaben.
- Effizienz der Deduplizierung: Durch die Analyse von Modellen, die mit und ohne Deduplizierung trainiert wurden, fanden wir signifikante Verbesserungen in der Trainingszeit und -effizienz, wenn Duplikate entfernt wurden.
- Datenmischstrategien: Wir untersuchten, wie unterschiedliche Kombinationen von Datenquellen die Gesamtleistung der Sprachmodelle beeinflussten. Es wurde deutlich, dass eine durchdachte Mischung aus Web-, akademischen und sozialen Medieninhalten die besten Ergebnisse erzielte.
Diese Experimente ermöglichten es uns, wertvolle Erkenntnisse darüber zu gewinnen, wie die Datenkurierung das Training von Sprachmodellen beeinflusst, und bieten Leitlinien für zukünftige Forschungen.
Fazit
Die Veröffentlichung dieses Datensatzes mit drei Billionen Tokens stellt einen wichtigen Schritt in Richtung Transparenz in der Forschung zu Sprachmodellen dar. Indem wir Zugang zu den Daten und den Methoden zu deren Kurierung gewähren, möchten wir ein kooperatives Umfeld fördern, in dem Forscher aufeinander aufbauen können. Dies wird nicht nur die Qualität der Sprachmodelle verbessern, sondern auch verantwortungsvolle Entwicklungspraktiken fördern.
Der Fokus auf Offenheit und Zusammenarbeit spiegelt unser Engagement wider, das Feld der natürlichen Sprachverarbeitung voranzubringen. Wir ermutigen Forscher, Entwickler und Organisationen, diesen Datensatz und das Toolkit für ihre eigenen Projekte und Studien zu nutzen und zur fortlaufenden Entwicklung der Sprachtechnologie beizutragen.
Durch sorgfältige Kurierung, umfassende Analysen und offene Zusammenarbeit hoffen wir, die Entwicklung effektiverer und vertrauenswürdigerer Sprachmodelle zu unterstützen, die eine breite Palette von Anwendungen in der Zukunft bedienen können.
Titel: Dolma: an Open Corpus of Three Trillion Tokens for Language Model Pretraining Research
Zusammenfassung: Information about pretraining corpora used to train the current best-performing language models is seldom discussed: commercial models rarely detail their data, and even open models are often released without accompanying training data or recipes to reproduce them. As a result, it is challenging to conduct and advance scientific research on language modeling, such as understanding how training data impacts model capabilities and limitations. To facilitate scientific research on language model pretraining, we curate and release Dolma, a three-trillion-token English corpus, built from a diverse mixture of web content, scientific papers, code, public-domain books, social media, and encyclopedic materials. We extensively document Dolma, including its design principles, details about its construction, and a summary of its contents. We present analyses and experimental results on intermediate states of Dolma to share what we have learned about important data curation practices. Finally, we open-source our data curation toolkit to enable reproduction of our work as well as support further research in large-scale data curation.
Autoren: Luca Soldaini, Rodney Kinney, Akshita Bhagia, Dustin Schwenk, David Atkinson, Russell Authur, Ben Bogin, Khyathi Chandu, Jennifer Dumas, Yanai Elazar, Valentin Hofmann, Ananya Harsh Jha, Sachin Kumar, Li Lucy, Xinxi Lyu, Nathan Lambert, Ian Magnusson, Jacob Morrison, Niklas Muennighoff, Aakanksha Naik, Crystal Nam, Matthew E. Peters, Abhilasha Ravichander, Kyle Richardson, Zejiang Shen, Emma Strubell, Nishant Subramani, Oyvind Tafjord, Pete Walsh, Luke Zettlemoyer, Noah A. Smith, Hannaneh Hajishirzi, Iz Beltagy, Dirk Groeneveld, Jesse Dodge, Kyle Lo
Letzte Aktualisierung: 2024-06-06 00:00:00
Sprache: English
Quell-URL: https://arxiv.org/abs/2402.00159
Quell-PDF: https://arxiv.org/pdf/2402.00159
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://twitter.com/vitaliychiley/status/1675594766799769600
- https://www.reddit.com/r/LocationReddits/wiki/index/
- https://huggingface.co/datasets/allenai/dolma
- https://huggingface.co/datasets/allenai/c4
- https://commoncrawl.org/the-data/get-started/
- https://commoncrawl.org/terms-of-use/
- https://www.reddit.com/r/pushshift/comments/d6luj5/comment/f0ugpqp
- https://www.semanticscholar.org/product/api
- https://huggingface.co/datasets/bigcode/the-stack-dedup
- https://www.gutenberg.org/
- https://dumps.wikimedia.org
- https://files.pushshift.io/reddit/submissions/
- https://files.pushshift.io/reddit/comments/
- https://huggingface.co/datasets/allenai/peS2o
- https://commoncrawl.github.io/cc-crawl-statistics/
- https://commoncrawl.org/get-started
- https://huggingface.co/allenai/gpt-neox-olmo-dolma-v1_5
- https://github.com/allenai/dolma
- https://pypi.org/project/dolma/
- https://github.com/allenai/dolma/issues
- https://huggingface.co/datasets/allenai/dolma/discussions
- https://forms.gle/q4BNUUxUxKwKkfdT6
- https://www.amd.com/en/products/server-accelerators/instinct-mi250x
- https://github.com/allenai/OLMo
- https://commoncrawl.org
- https://fasttext.cc/docs/en/language-identification.html
- https://github.com/bigscience-workshop/bigscience/blob/39ed8110482e9eb87d0e094ede05e4d02c40e298/train/tr8-104B-wide/chronicles.md
- https://huggingface.co/allenai/dolma-jigsaw-fasttext-bigrams-nsfw
- https://huggingface.co/allenai/dolma-jigsaw-fasttext-bigrams-hatespeech
- https://cloud.google.com/dataflow
- https://github.com/allenai/dolma/blob/main/sources/reddit/atomic_content_v5/subreddit_blocklist.txt
- https://github.com/attardi/wikiextractor/tree/8f1b434a80608e1e313d38d263ed7c79c9ee75a9
- https://perspectiveapi.com/
- https://knowyourdata.withgoogle.com/
- https://cloud.google.com/natural-language/docs/classifying-text
- https://cloud.google.com/bigquery/public-data/
- https://docs.google.com/forms/d/e/1FAIpQLSfL6KzFR7xNJj6MPyV1uikIpj-VmrftC9mjty2nXzSClU2rnw/viewform