RedPajama-Daten-V2: Der Game-Changer für Open-Source Large Language Models
Published on
Einleitung
In der sich schnell entwickelnden Landschaft der künstlichen Intelligenz wurden leistungsstarke Large Language Models (LLMs) hauptsächlich von kommerziellen Unternehmen dominiert. Die Open-Source-Gemeinschaft hat jedoch erhebliche Fortschritte bei der Demokratisierung des Zugangs zu hochmoderner KI-Technologie gemacht. Unter den zahlreichen Initiativen, die diesen Wandel vorantreiben, zeichnet sich das RedPajama-Projekt als Symbol für Innovation und Zusammenarbeit aus.
RedPajama, eine gemeinsame Anstrengung von Together, Ontocord.ai, ETH DS3Lab, Stanford CRFM, Hazy Research und MILA Québec AI Institute, hat zum Ziel, führende vollständig Open-Source LLMs zu schaffen, die ihren proprietären Gegenstücken ebenbürtig sind. Der jüngste Meilenstein des Projekts, RedPajama-Daten-V2, wird das Training von Open-Source LLMs durch die Bereitstellung eines beispiellosen Datensatzes von 30 Billionen Tokens revolutionieren.
Möchten Sie die neuesten LLM-Nachrichten erfahren? Schauen Sie sich das neueste LLM-Ranking an!
RedPajama-Daten-V2: Ein Game-Changer für Open-Source LLMs
RedPajama-Daten-V2 ist ein massiver Web-Datensatz, der speziell für das Training von LLMs entwickelt wurde. Er umfasst über 100 Milliarden Textdokumente, die aus 84 CommonCrawl-Snapshots stammen und mit der CCNet-Pipeline verarbeitet wurden. Von diesen Dokumenten sind 30 Milliarden mit vorberechneten Qualitätsignalen versehen, und 20 Milliarden sind dedupliziert.
Der Datensatz umfasst fünf Sprachen: Englisch, Französisch, Spanisch, Deutsch und Italienisch. Die Anzahl der Dokumente und Tokens für den annotierten und deduplizierten Bereich des Datensatzes "head_middle" ist wie folgt:
Sprache | Anzahl Dokumente | Geschätzte Token-Anzahl (dedupliziert) |
---|---|---|
Englisch | 14,5 Mrd. | 20,5T |
Deutsch | 1,9 Mrd. | 3,0T |
Französisch | 1,6 Mrd. | 2,7T |
Spanisch | 1,8 Mrd. | 2,8T |
Italienisch | 0,9 Mrd. | 1,5T |
Gesamt | 20,8 Mrd. | 30,4T |
Die Einbeziehung von mehr als 40 vorberechneten Qualitätsbewertungen unterscheidet RedPajama-Daten-V2 von anderen Datensätzen. Diese Bewertungen ermöglichen es den Benutzern, die Daten entsprechend ihren spezifischen Anforderungen weiter zu filtern und zu gewichten und bieten beispiellose Flexibilität und Anpassungsmöglichkeiten.
RedPajama-Daten-V2 ist derzeit der größte öffentliche Datensatz, der speziell für das Training von LLMs entwickelt wurde, mit über 100 Milliarden rohen Dokumenten und 30 Billionen Tokens nach Deduplizierung und Filterung. Er umfasst fünf Sprachen: Englisch (20,5T Tokens), Deutsch (3,0T), Französisch (2,7T), Spanisch (2,8T) und Italienisch (1,5T).
Im Vergleich dazu enthalten andere herausragende Datensätze wie The Pile (zur Schulung von EleutherAI-Modellen) etwa 1,2 Billionen Tokens, während der Datensatz, der zur Schulung von Llama 2 verwendet wurde, zwei Billionen Tokens hatte. Die Dimensionen von RedPajama-Daten-V2 sind unübertroffen und bieten eine Fülle hochwertiger Schulungsdaten.
Warum RedPajama-Daten-V2 so gut ist
Was RedPajama-Daten-V2 wirklich auszeichnet, ist die Einbeziehung von mehr als 40 vorberechneten Qualitätsbewertungen für jedes Dokument. Diese Bewertungen umfassen verschiedene Kategorien wie Perplexitätswerte, Klassifikatorvorhersagen, natürliche Sprachmetriken, Inhalts-Toxizitätsindikatoren und mehr.
-
Hohe Qualität: Das Vorhandensein dieser Qualitätsignale ermöglicht es Forschern, den Datensatz leicht nach ihren spezifischen Anforderungen zu filtern und zu gewichten. Andere Datensätze wenden in der Regel festgelegte Heuristiken an, was die nachgelagerte Anpassung einschränkt. RedPajama-Daten-V2 bietet beispiellose Flexibilität, um maßgeschneiderte Teilmengen zu erstellen, die für verschiedene LLM-Anwendungen optimiert sind.
-
Vollständig Open Source: Das RedPajama-Projekt ist vollständig Open Source, mit allen Datenverarbeitungsskripten, die auf GitHub verfügbar sind, und dem Datensatz, der auf HuggingFace gehostet wird. Diese Transparenz ermöglicht es der Gemeinschaft, den Datensatz zu verstehen, zu reproduzieren und auf ihm aufzubauen.
-
Reduzierung der Kosten für LLM-Trainings: Die Dimensionen und Qualität von RedPajama-Daten-V2 haben das Potenzial, die Berechnungskosten für das Training leistungsstarker LLMs erheblich zu reduzieren. Durch die Bereitstellung einer großen Menge an informativen Daten können Modelle starke Leistungen mit weniger Parametern und geringerem Rechenaufwand erzielen.
Einrichten von RedPajama-Daten-V2
Um mit RedPajama-Daten-V2 zu beginnen, können Sie den Beispiel-Datensatz mit folgendem Python-Code laden:
from datasets import load_dataset
ds = load_dataset("togethercomputer/RedPajama-Data-V2", name="sample")
Um eine bestimmte Kombination von partition
x snapshot_id
x language
herunterzuladen, verwenden Sie den folgenden Befehl:
wget "https://data.together.xyz/redpajama-data-v2/v1.0.0/urls/minhash-urls.txt" -O "minhash-urls.txt"
Ausführen der RedPajama-Daten-V2-Pipeline
Die RedPajama-Daten-V2-Pipeline besteht aus drei Hauptschritten:
- Vorbereiten der Artefakte
- Berechnen der Qualitätsignale
- Deduplizierung
Schritt 1: Vorbereiten der Artefakte
Dieser Schritt erstellt die in den folgenden Schritten verwendeten Artefakte, einschließlich des Aufbaus von Qualitätsklassifikatoren, des Trainings generativer Modelle mit N-Gramm zur Berechnung von Gewichtungen, des Abrufs der Liste der unerwünschten Wörter aus dem LDNOOBW-Repo und der Abrufs der aktuellsten Liste der gesperrten URLs aus der UT1-Sperrliste.
Um die Artefakte zu erstellen, setzen Sie die Umgebungsvariablen in der Konfigurationsdatei und führen Sie Folgendes aus:
bash scripts/run_prep_artifacts.sh \
--config configs/rp_v2.0.conf \
--listings /Pfad/zu/listings/file.txt \
--max_workers 32
Schritt 2: Berechnung von Qualitätsindikatoren
Im zweiten Schritt werden die Qualitätsindikatoren berechnet, einschließlich der Minhash-Signaturen zur unscharfen Deduplizierung. Legen Sie die Umgebungsvariablen in der Konfigurationsdatei fest und führen Sie Folgendes aus:
bash scripts/apptainer_run_quality_signals.sh \
--config configs/rp_v2.0.conf \
--dump_id "2022-49" \
--input_base_uri "file:///path/to/data/root" \
--output_base_uri "file:///path/to/outout/data/root" \
--max_docs -1
Schritt 3: Deduplizierung
Der dritte Schritt umfasst die genaue und unscharfe Deduplizierung. Führen Sie für die genaue Deduplizierung mit einem Bloom-Filter Folgendes aus:
python3 app/src/bloomfilter.py \
--listings /path/to/listings/file.txt \
--input_base_uri "s3://path/to/ccnet/data" \
--output_dir "/path/to/output" \
--s3_profile "..." \
--endpoint_url "..." \
--parallel_readers 32 \
--batch_size 10 \
--capacity "..." \
--error_rate "..."
Führen Sie für die unscharfe Deduplizierung mit locality sensitive hashing Folgendes aus:
bash scripts/apptainer_run_lsh.sh \
--config configs/rp_v2.0.conf \
--dump_id "2022-49" \
--input_base_uri "file:///path/to/data/root" \
--output_dir "/path/to/output" \
--similarity "<similarity_threshold>" \
--listings "/minhash/listings/file.txt" \
--max_docs -1
RedPajama-Data-V2 Qualitätsindikatoren
RedPajama-Data-V2 enthält eine umfassende Reihe von Qualitätsindikatoren, die in folgende Gruppen unterteilt werden können:
- CCNet: Indikatoren, die aus der CCNet-Pipeline abgeleitet sind, wie z. B. Perplexitätspunktzahl, Sprachidentifikation und Dokumentenlänge.
- ML-Heuristiken: Indikatoren basierend auf maschinellen Lernmodellen, wie Klassifikatoren für Wikipedia-ähnliche Seiten und Importance Resampling.
- Natürliche Sprache: Indikatoren, die mit den sprachlichen Eigenschaften des Inhalts zusammenhängen, wie Wortanzahl, Satzanzahl und Anteil eindeutiger Wörter.
- Wiederholungen: Indikatoren, die die Wiederholung des Inhalts messen, wie der Anteil der Zeichen in duplizierten n-Grammen.
- Toxizität: Indikatoren, die möglicherweise toxischen Inhalt anzeigen, wie das Vorhandensein von Wörtern aus der LDNOOBW-Blockliste und Kategorien aus der UT1-Blockliste.
- Deduplizierung: Minhash-Signaturen für unscharfe Deduplizierung bei verschiedenen Jaccard-Ähnlichkeitsgrenzwerten.
Eine detaillierte Liste aller Qualitätsindikatoren finden Sie in der Dokumentation zu RedPajama-Data-V2.
Die Zukunft von RedPajama und Open-Source LLMs
RedPajama-Data-V2 markiert einen bedeutenden Meilenstein in der Entwicklung von Open-Source LLMs. Durch Bereitstellung eines umfangreichen, hochwertigen Datensatzes mit umfassenden Annotationen zielt das Projekt darauf ab, die Einstiegshürden für Forscherinnen und Forscher sowie Organisationen zu senken, die leistungsstarke Sprachmodelle entwickeln möchten.
Das RedPajama-Team plant, den Datensatz um zusätzliche Qualitätsannotationen zu erweitern, wie z. B. Kontaminationsannotationen, Topic Modeling und Dokumentenkategorisierung. Sie ermutigen die Community aktiv, neue Annotationen vorzuschlagen und zu entwickeln, um die Nützlichkeit des Datensatzes weiter zu verbessern.
Parallel zur Datensatzentwicklung entwickelt Together offene Modelle auf Basis von RedPajama-Data-V2. Diese Modelle werden vollständig Open Source sein und kommerziell nutzbar sein und bieten eine dramafreie Alternative zu bestehenden LLMs. Das Projekt bietet auch Unterstützung für Unternehmen und Organisationen, die maßgeschneiderte Modelle unter Verwendung einer Kombination von offenen und proprietären Daten erstellen möchten.
Fazit
RedPajama-Data-V2 stellt einen bedeutenden Fortschritt bei der Demokratisierung der KI-Technologie dar. Durch Bereitstellung eines vollständig Open-Source, hochwertigen Datensatzes zur Schulung von LLMs ermöglicht das Projekt Forscherinnen, Entwicklerinnen und Organisationen, leistungsstarke Sprachmodelle ohne die Einschränkungen proprietärer APIs zu erstellen.
Wenn das RedPajama-Projekt weiter wächst und sich entwickelt, hat es das Potenzial, die Landschaft der KI neu zu gestalten und Innovation, Zusammenarbeit und Zugänglichkeit zu fördern. Mit der Unterstützung und Beteiligung der KI-Community ist RedPajama gut positioniert, um ein Katalysator für die nächste Generation von LLMs und darüber hinaus zu werden.
Möchten Sie die neuesten LLM-News erfahren? Schauen Sie auf der neuesten LLM-Leaderboard vorbei!