Craw4LLM: Efficient Web Crawling for LLM Pretraining

📄 arXiv: 2502.13347v3 📥 PDF

作者: Shi Yu, Zhiyuan Liu, Chenyan Xiong

分类: cs.CL

发布日期: 2025-02-19 (更新: 2025-06-23)

🔗 代码/项目: GITHUB


💡 一句话要点

Craw4LLM:面向LLM预训练的高效网页爬取方法,显著降低爬取浪费。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 网页爬取 大规模语言模型 预训练 数据质量 网络图

📋 核心要点

  1. 大规模语言模型(LLM)的预训练数据主要来源于网页爬取,但由于数据质量低,大部分爬取的网页在预训练中被丢弃。
  2. Craw4LLM的核心思想是利用网页在LLM预训练中的影响作为爬虫调度器的优先级评分,从而优先爬取对LLM预训练更有价值的网页。
  3. 实验结果表明,Craw4LLM仅需爬取21%的URL,即可使LLM达到与先前爬取数据相同的下游性能,显著降低了爬取浪费。

📝 摘要(中文)

本文提出了一种名为Craw4LLM的高效网页爬取方法,该方法基于LLM预训练的偏好来探索网络图。具体来说,它利用网页在LLM预训练中的影响作为网页爬虫调度器的优先级评分,取代了标准的基于图连通性的优先级。在包含来自商业搜索引擎索引的9亿个网页的网络图上进行的实验表明,Craw4LLM在获取高质量预训练数据方面非常有效。仅爬取了21%的URL,基于Craw4LLM数据预训练的LLM就达到了先前爬取数据的相同的下游性能,从而显著减少了爬取浪费并减轻了网站的负担。代码已公开。

🔬 方法详解

问题定义:现有网页爬取方法通常基于图连通性来确定爬取优先级,导致大量低质量网页被爬取,造成资源浪费,并给网站带来不必要的负担。论文旨在解决如何高效地爬取对LLM预训练更有价值的网页的问题。

核心思路:Craw4LLM的核心思路是利用网页在LLM预训练中的影响作为爬虫调度器的优先级评分。这意味着,如果一个网页对LLM的预训练更有帮助,那么它将被赋予更高的优先级,从而优先被爬取。这样设计的目的是为了更有效地获取高质量的预训练数据,减少爬取浪费。

技术框架:Craw4LLM的整体框架包括以下几个主要步骤:1) 构建网络图,其中节点代表网页,边代表网页之间的链接关系;2) 评估每个网页对LLM预训练的影响力,并将其作为优先级评分;3) 使用优先级队列作为爬虫调度器,优先爬取优先级较高的网页;4) 将爬取到的网页数据用于LLM的预训练。

关键创新:Craw4LLM的关键创新在于使用网页在LLM预训练中的影响作为爬虫调度器的优先级评分。与传统的基于图连通性的优先级评分方法相比,Craw4LLM能够更准确地评估网页的价值,从而更有效地获取高质量的预训练数据。

关键设计:论文中没有明确给出关键参数设置、损失函数或网络结构的细节。评估网页对LLM预训练影响的具体方法(例如,使用预训练的LLM对网页内容进行打分)是影响Craw4LLM性能的关键设计选择,但论文摘要中没有详细说明。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

在包含9亿网页的网络图上的实验表明,Craw4LLM仅需爬取21%的URL,即可使LLM达到与先前爬取数据相同的下游性能。这表明Craw4LLM能够显著减少爬取浪费,提高数据获取效率。

🎯 应用场景

Craw4LLM可应用于大规模语言模型的预训练数据获取,能够有效降低爬取成本,提高数据质量,减轻网站负担。该方法具有广泛的应用前景,可以应用于各种需要大规模文本数据预训练的场景,例如搜索引擎、智能客服、机器翻译等。

📄 摘要(原文)

Web crawl is a main source of large language models' (LLMs) pretraining data, but the majority of crawled web pages are discarded in pretraining due to low data quality. This paper presents Craw4LLM, an efficient web crawling method that explores the web graph based on the preference of LLM pretraining. Specifically, it leverages the influence of a webpage in LLM pretraining as the priority score of the web crawler's scheduler, replacing the standard graph connectivity based priority. Our experiments on a web graph containing 900 million webpages from a commercial search engine's index demonstrate the efficiency of Craw4LLM in obtaining high-quality pretraining data. With just 21% URLs crawled, LLMs pretrained on Craw4LLM data reach the same downstream performances of previous crawls, significantly reducing the crawling waste and alleviating the burdens on websites. Our code is publicly available at https://github.com/cxcscmu/Craw4LLM.