Crawl4LLM: ein Web-Crawler für das LLM-Pretraining
Was ist Crawl4LLM?
Crawl4LLM ist ein Tool, das speziell für das Pre-Training großer Sprachmodelle (LLM) entwickelt wurde und gemeinsam von der Tsinghua-Universität und der Carnegie Mellon University stammt. Es kann intelligent beurteilen, wie nützlich eine Webseite für das LLM-Pre-Training ist, zuerst wertvolle Webseiten crawlen und weniger nutzlose crawlen. Mit nur 21 % der gesamten Webdaten erreicht es die gleiche Leistung wie zuvor mit dem vollständigen Crawling. Dadurch wird die Datenqualität verbessert und die Crawling-Geschwindigkeit deutlich erhöht.

Projektinformationen:
Herkunft: Open-Source-Kooperation zwischen Tsinghua und Carnegie Mellon University.
Ziel: Die Probleme ineffizienten Crawlings und schlechter Datenqualität herkömmlicher Crawler lösen und das LLM-Pre-Training effizienter gestalten.
Hauptfunktionen von Crawl4LLM:
Intelligente Webseitenauswahl
Intelligente Bewertung: Kann automatisch erkennen, ob eine Webseite für das LLM-Pre-Training nützlich ist, und zuerst nützliche Seiten crawlen.
Hohe Effizienz: Crawlt deutlich weniger Webseiten als herkömmliche Crawler, erreicht aber eine vergleichbare oder sogar bessere Wirkung – die Effizienz kann etwa um das Fünffache gesteigert werden.
Mehrere Crawling-Methoden
Intelligenter Modus: Der Hauptmodus, der automatisch wertvolle Webseiten auswählt und crawlt.
Zufälliger Crawling-Modus: Kann verwendet werden, wenn die Auswahl der Webseiteninhalte nicht allzu präzise sein muss.
Crawling-Modus nach Linkanzahl: Kann eingesetzt werden, wenn große Datenmengen erfasst werden sollen.
Zustandsverwaltung und Wiederherstellung
Regelmäßiges Speichern: Kann den Zustand des Crawlers regelmäßig speichern. Wenn er zwischendurch stoppt, kann er an der letzten Stelle weitermachen, ohne dass Daten verloren gehen.
Datenvisualisierungstools
Intuitive Anzeige: Verfügt über ein Datenbrowsing-Tool, mit dem man die erfassten Daten einsehen und Fortschritt sowie Ergebnisse jederzeit überwachen kann.
Kompatibilität und Integration
Anbindung an das DCLM-Framework: Kann Dokument-IDs extrahieren, Dokumentinhalte abrufen und sich nahtlos mit dem Pre-Training-Framework für Deep-Learning-Modelle (DCLM) verbinden, um direkt für das Modelltraining verwendet zu werden.
Technische Details von Crawl4LLM:
Modulare Architektur: Verfügt über Module wie Crawler-Dispatcher, Webseiten-Parser und Datenspeicher.
Fehlerbehandlung: Verfügt über starke Fehlerkorrektur- und automatische Wiederholungsfunktionen, um eine stabile Datenerfassung zu gewährleisten.
Datenqualitätsmanagement: Kann Daten deduplizieren und bereinigen, sodass die Datenqualität gut und konsistent ist.
Anwendungsbereiche von Crawl4LLM:
LLM-Pre-Training: Liefert hochwertige Daten für das Pre-Training großer LLMs.
Datensatzkonstruktion: Eigene Datensätze erstellen.
Suchmaschinenoptimierung: SEO-Strategien analysieren und verbessern.
Netzwerküberwachung und -analyse: Netzwerkzustände in Echtzeit beobachten.
Anwendungen in Netzwerküberwachung und -analyse: Durchführung von Sentimentanalysen und anderer Datenanalyse.
Verwendung von Crawl4LLM:
1. Vorbereitende Arbeiten:
ClueWeb22-Datensatz beziehen.
Eine Python-Virtual-Environment erstellen und die erforderlichen Bibliotheken (numpy, tqdm, fasttext, pyyaml, wandb) installieren.
Den DCLM-FastText-Klassifikator herunterladen und im angegebenen Verzeichnis ablegen.
2. Konfigurationsdatei erstellen: Im Verzeichnis configs/ eine YAML-Konfigurationsdatei erstellen und Parameter wie den Datensatzpfad, die Liste der Seed-Dokumente, das Ausgabeverzeichnis, die Anzahl der pro Iteration ausgewählten Dokumente, die Anzahl der Worker-Threads, die Speicherhäufigkeit des Crawling-Zustands, die maximale Anzahl der zu crawlenden Dokumente, die Dokumentauswahlmethode, die Sortierreihenfolge und die Aktivierung des wandb-Loggings angeben.
3. Crawler starten: In der Kommandozeile python crawl.py crawl --config ausführen.
Als hochprofessionelles Crawler-System eignet sich Crawl4LLM sehr gut für das Pre-Training großer Sprachmodelle. Seine fortschrittlichen Algorithmen und technologischen Eigenschaften können sowohl die Effizienz als auch die Qualität der erfassten Daten deutlich verbessern und so den Fortschritt großer Sprachmodelle beschleunigen.
GitHub-Repository: https://github.com/cxcscmu/crawl4llm
Paper-Adresse: https://arxiv.org/pdf/2502.13347
Drehbuch-Assistent▸
AI Apps
AI Nachrichten 