Crawl4LLM:專為LLM預(yù)訓(xùn)練準(zhǔn)備的網(wǎng)絡(luò)爬蟲工具
Crawl4LLM是什么?
Crawl4LLM是清華大學(xué)和卡內(nèi)基梅隆大學(xué)一起開發(fā)的,專門給大型語言模型(LLM)預(yù)訓(xùn)練用的網(wǎng)絡(luò)爬蟲工具。它能智能判斷網(wǎng)頁對LLM預(yù)訓(xùn)練的作用,先抓那些有價值的網(wǎng)頁,少抓沒用的,僅抓取了21%的網(wǎng)絡(luò)數(shù)據(jù),就與之前全部抓取的數(shù)據(jù)性能相同,這樣數(shù)據(jù)質(zhì)量就提高了,爬取速度也快了不少。
項(xiàng)目情況:
來源:清華和卡內(nèi)基梅隆大學(xué)合作開源的。
目標(biāo):解決傳統(tǒng)爬蟲抓取效率低、數(shù)據(jù)質(zhì)量差的問題,讓LLM預(yù)訓(xùn)練更高效。
Crawl4LLM的主要功能:
智能選網(wǎng)頁
智能評估:能自動看網(wǎng)頁對LLM預(yù)訓(xùn)練有沒有用,先抓有用的。
效率高:比傳統(tǒng)爬蟲抓的網(wǎng)頁少多了,效果卻差不多甚至更好,效率差不多能提高5倍。
多種爬取辦法
智能模式:主要的模式,自動挑有價值的網(wǎng)頁抓。
隨機(jī)爬取模式:網(wǎng)頁內(nèi)容不用太精確選的時候能用。
按鏈接數(shù)量爬取模式:要抓大量數(shù)據(jù)的時候可以用。
狀態(tài)管理和恢復(fù)
定期保存:能定期存爬蟲的狀態(tài),要是中途停了,能接著上次的地方抓,不會丟數(shù)據(jù)。
數(shù)據(jù)可視化工具
直觀查看:有數(shù)據(jù)瀏覽工具,能看抓的數(shù)據(jù),隨時了解進(jìn)度和效果。
兼容性和集成
和DCLM框架對接:能提取文檔ID、拿文檔內(nèi)容,還能和深度學(xué)習(xí)模型(DCLM)預(yù)訓(xùn)練框架無縫連接,直接給模型訓(xùn)練用。
Crawl4LLM的技術(shù)細(xì)節(jié):
模塊架構(gòu):有爬蟲調(diào)度器、網(wǎng)頁解析器、數(shù)據(jù)存儲器這些模塊。
錯誤處理:有很強(qiáng)的糾錯和自動重試能力,保證數(shù)據(jù)采集穩(wěn)定。
數(shù)據(jù)質(zhì)量管理:能去重和清洗數(shù)據(jù),讓數(shù)據(jù)質(zhì)量好又一致。
Crawl4LLM的應(yīng)用場景:
LLM預(yù)訓(xùn)練:給大規(guī)模LLM預(yù)訓(xùn)練提供好數(shù)據(jù)。
數(shù)據(jù)集構(gòu)建:自己做數(shù)據(jù)集。
搜索引擎優(yōu)化:分析改進(jìn)SEO策略。
網(wǎng)絡(luò)監(jiān)測與分析:實(shí)時看網(wǎng)絡(luò)情況。
寫在網(wǎng)絡(luò)監(jiān)測與分析:做情感分析和其他數(shù)據(jù)分析。
Crawl4LLM的使用方法:
1. 準(zhǔn)備工作:
獲取ClueWeb22數(shù)據(jù)集。
創(chuàng)建Python虛擬環(huán)境并安裝必要的庫(numpy, tqdm, fasttext, pyyaml, wandb)。
下載DCLM FastText分類器并放置在指定目錄。
2. 創(chuàng)建配置文件:在configs/目錄下創(chuàng)建一個YAML配置文件,指定數(shù)據(jù)集路徑、種子文檔列表、輸出目錄、每次迭代選擇的文檔數(shù)量、工作線程數(shù)、爬取狀態(tài)保存頻率、最大爬取文檔數(shù)量、文檔選擇方法、排序方式、是否啟用wandb日志記錄等參數(shù)。
3. 啟動爬蟲:在命令行中運(yùn)行python crawl.py crawl --config
Crawl4LLM作為一個專業(yè)性強(qiáng)的爬蟲系統(tǒng),很適合用來給大語言模型做預(yù)訓(xùn)練。它先進(jìn)的算法和技術(shù)方面的特點(diǎn),能讓抓取數(shù)據(jù)的效率和質(zhì)量都有明顯提升,這樣就能讓大語言模型的發(fā)展更快一些。
GitHub倉庫:https://github.com/cxcscmu/crawl4llm
論文地址:https://arxiv.org/pdf/2502.13347
相關(guān)文章
- 用戶登錄