Crawl4LLM : un crawler web conçu pour le pré-entraînement des LLM 193

小编 ·

Crawl4LLM : un crawler web conçu pour le pré-entraînement des LLM

Crawl4LLM est un crawler web développé conjointement par l'Université Tsinghua et l'Université Carnegie Mellon, conçu pour le pré-entraînement des LLM. Il évalue intelligemment la valeur de chaque page, en privilégiant celles qui sont utiles et en ignorant celles qui ne le sont pas, atteignant les mêmes performances qu'un crawl complet avec seulement 21 % des données — améliorant ainsi qualité et vitesse.

Crawl4LLM : un crawler web conçu pour le pré-entraînement des LLM

Qu'est-ce que Crawl4LLM ?

Crawl4LLM est un outil de crawling web développé conjointement par l'Université Tsinghua et l'Université Carnegie Mellon, spécifiquement conçu pour le pré-entraînement de grands modèles de langage (LLM). Il est capable d'évaluer intelligemment l'utilité des pages web pour le pré-entraînement des LLM, en donnant la priorité à celles qui ont de la valeur et en réduisant celles qui sont inutiles. En ne récupérant que 21% des données du web, il obtient les mêmes performances qu'en récupérant toutes les données, ce qui améliore la qualité des données et accélère considérablement la vitesse de crawling.

Qu'est-ce que Crawl4LLM.webp

État du projet :

  • Source : projet open source issu d'une collaboration entre Tsinghua et l'Université Carnegie Mellon.

  • Objectif : résoudre les problèmes de faible efficacité de crawling et de mauvaise qualité des données des crawlers traditionnels, afin de rendre le pré-entraînement des LLM plus efficace.

Principales fonctionnalités de Crawl4LLM :

Sélection intelligente des pages

  • Évaluation intelligente : capable de déterminer automatiquement si une page web est utile pour le pré-entraînement des LLM, et de crawler en priorité les pages utiles.

  • Haute efficacité : crawle beaucoup moins de pages que les crawlers traditionnels, avec des résultats similaires voire meilleurs, permettant une efficacité environ 5 fois supérieure.

Plusieurs méthodes de crawling

  • Mode intelligent : le mode principal, sélectionnant automatiquement les pages de valeur à crawler.

  • Mode de crawling aléatoire : utilisable lorsqu'une sélection très précise du contenu des pages n'est pas nécessaire.

  • Mode de crawling par nombre de liens : utilisable lorsqu'il faut récupérer de grandes quantités de données.

Gestion d'état et reprise

  • Sauvegarde périodique : permet de sauvegarder périodiquement l'état du crawler. En cas d'interruption, le crawling peut reprendre là où il s'était arrêté, sans perte de données.

Outils de visualisation des données

  • Consultation intuitive : dispose d'outils de navigation des données permettant de consulter les données récupérées et de suivre à tout moment la progression et les résultats.

Compatibilité et intégration

  • Intégration avec le framework DCLM : permet d'extraire les identifiants de documents, de récupérer leur contenu, et s'intègre de manière transparente avec le framework de pré-entraînement de modèles d'apprentissage profond (DCLM), pour être directement utilisé dans l'entraînement des modèles.

Détails techniques de Crawl4LLM :

  • Architecture modulaire : comprend un ordonnanceur de crawler, un analyseur de pages web, un stockage de données, etc.

  • Gestion des erreurs : dispose de solides capacités de correction d'erreurs et de relance automatique, garantissant la stabilité de la collecte des données.

  • Gestion de la qualité des données : permet la déduplication et le nettoyage des données, pour garantir une qualité élevée et cohérente.

Cas d'utilisation de Crawl4LLM :

  • Pré-entraînement de LLM : fournit des données de qualité pour le pré-entraînement de LLM à grande échelle.

  • Construction de jeux de données : pour créer ses propres jeux de données.

  • Optimisation pour les moteurs de recherche : analyse et amélioration des stratégies SEO.

  • Surveillance et analyse du web : suivi en temps réel de l'état du web.

  • Analyse du web : réalisation d'analyses de sentiments et d'autres analyses de données.

Comment utiliser Crawl4LLM :

1. Préparation :

  • Obtenir le jeu de données ClueWeb22.

  • Créer un environnement virtuel Python et installer les bibliothèques nécessaires (numpy, tqdm, fasttext, pyyaml, wandb).

  • Télécharger le classifieur DCLM FastText et le placer dans le répertoire spécifié.

2. Création du fichier de configuration : créer un fichier de configuration YAML dans le répertoire configs/, en spécifiant le chemin du jeu de données, la liste des documents de graines, le répertoire de sortie, le nombre de documents sélectionnés à chaque itération, le nombre de workers, la fréquence de sauvegarde de l'état du crawler, le nombre maximal de documents à crawler, la méthode de sélection des documents, le mode de tri, et l'activation ou non de la journalisation wandb.

3. Lancement du crawler : exécutez python crawl.py crawl --config en ligne de commande

Crawl4LLM, en tant que système de crawler hautement spécialisé, est parfaitement adapté au pré-entraînement de grands modèles de langage. Ses algorithmes avancés et ses caractéristiques techniques permettent d'améliorer significativement l'efficacité et la qualité de la collecte de données, contribuant ainsi à accélérer le développement des grands modèles de langage.

Dépôt GitHub :https://github.com/cxcscmu/crawl4llm

Adresse du papier :https://arxiv.org/pdf/2502.13347