Crawl4LLM:你的模型还在吃垃圾数据?CMU博士开源AI爬虫,自动筛选高价值网页,数据抓取质量飙升300%

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


🧠 「数据采集进入智能时代:首个为LLM定制的爬虫系统开源了!」

大家好,我是蚝油菜花。如果说传统爬虫是「蝗虫过境」,那Crawl4LLM就是「米其林摘星」——

这个由清华&CMU打造的智能系统,实现了三大突破:

  • ✅ 价值预判:用fastText模型给网页打分,优先抓取高营养内容
  • ✅ 动态策略:智能/随机/链接量三种模式适配不同训练阶段
  • ✅ 无缝衔接:直接对接DCLM框架,数据采集到训练一键完成

这个会「挑食」的智能爬虫,能像营养师一样筛选高价值内容,让模型训练效率提升5倍。已有团队用它构建出更「健壮」的行业大模型——准备好给你的AI模型来顿营养大餐了吗?

🚀 快速阅读

Crawl4LLM 是一个智能化爬虫系统,专为 LLM 数据预训练优化设计。

  1. 智能化爬取:基于网页价值评分,优先抓取高价值内容,减少无效数据采集。
  2. 多种模式支持:支持智能、随机和基于链接数量的爬取模式,适应不同场景需求。

Crawl4LLM 是什么

Crawl4LLM-cover

Crawl4LLM 是清华大学和卡内基梅隆大学联合开源的智能爬虫系统,旨在提升大语言模型(LLM)预训练数据采集的效率和质量。相比传统爬虫,Crawl4LLM 引入了智能化的网页价值评估机制,能够优先抓取对模型训练更有价值的数据,使数据采集效率提升了近 5 倍。

Crawl4LLM 不仅适用于 LLM 预训练数据的获取,还具备良好的扩展性,可以无缝对接 DCLM 框架,直接用于模型训练流程。此外,系统提供了数据可视化功能,方便用户实时监控爬取进度和效果。

Crawl4LLM 的主要功能

  • 智能化网页选择:基于预训练影响力评分器评估网页内容的价值,优先抓取高价值网页,减少无效数据的采集。
  • 多种爬取模式
    • 智能模式:根据网页价值评分动态调整爬取策略。
    • 随机模式:适用于非精准需求场景,随机抓取网页。
    • 基于链接数量模式:根据网页链接数量进行抓取,适合大规模数据采集。
  • 爬虫状态定期保存:支持中断后从中断点继续抓取,避免数据丢失。
  • 数据浏览与可视化:提供直观的数据浏览工具和可视化界面,便于监控爬取进度。
  • 与 DCLM 框架无缝对接:直接将爬取的数据应用于 LLM 预训练,提高数据流效率。

Crawl4LLM 的技术原理

  • 预训练影响力评分:使用 DCLM fastText 模型对网页内容进行评分,综合考虑内容质量、相关性等指标。
  • 优先级队列调度:基于评分结果动态调整爬取优先级,确保高价值网页优先被处理。
  • 多维度数据评估:结合网页内容长度、链接数量等多个维度进行综合评分,全面评估网页价值。
  • 模拟与优化:通过大规模模拟实验验证算法的有效性,并优化参数以实现最佳爬取效果。
  • 减少网站负担:智能筛选目标网页,降低对网站服务器的压力,提升爬取行为的合规性。

如何运行 Crawl4LLM

1. 准备环境

首先需要满足以下条件:

  • Python >= 3.10

  • 安装必要的依赖库:

pip install numpy tqdm fasttext pyyaml wandb
  • 下载 ClueWeb22 数据集并将其放置在 SSD 上以确保高效读取。
  • 下载 DCLM fastText 分类器模型到 fasttext_scorers/ 目录下。

2. 创建配置文件

configs/ 目录下创建 YAML 格式的配置文件,示例如下:

cw22_root_path: <path_to_clueweb22_a>
seed_docs_file: seed.txt
output_dir: crawl_results/seed_10k_crawl_20m_dclm_fasttext
num_selected_docs_per_iter: 10000
num_workers: 16
save_state_every: -1
max_num_docs: 20000000
selection_method: dclm_fasttext_score
order: desc
wandb: true
wandb_project: crawler
wandb_run_name: seed_10k_crawl_20m_dclm_fasttext
rating_methods:
    - type: length
    - type: fasttext_score
      rater_name: dclm_fasttext_score
      model_path: fasttext_scorers/openhermes_reddit_eli5_vs_rw_v2_bigram_200k_train.bin

3. 启动爬虫

运行以下命令启动爬虫:

python crawl.py crawl --config <path_to_your_config_file>

4. 获取文档文本

完成爬取后,使用以下命令提取文档文本:

python fetch_docs.py --input_dir <document_ids_dir> --output_dir <document_texts_dir> --num_workers <num_workers>

5. 预训练与评估

最后,可以利用 DCLM 框架进行 LLM 预训练和性能评估。

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值