Crawl4LLM: LLM 사전 학습 전용 웹 크롤러
Crawl4LLM이란 무엇인가요?
Crawl4LLM은 칭화대학교와 카네기 멜런 대학교가 공동으로 개발한, 대규모 언어 모델(LLM) 사전 학습 전용으로 만들어진 웹 크롤러도구입니다. 웹페이지가 LLM 사전 학습에 얼마나 유용한지 스마트하게 판단하여, 가치가 있는 페이지를 먼저 수집하고 가치가 낮은 페이지는 덜 수집합니다. 전체 웹 데이터의 21%만 수집했는데도 이전에 전체를 수집했을 때와 동일한 성능을 달성하여, 데이터 품질이 향상되고 크롤링 속도도 크게 빨라졌습니다.

프로젝트 개요:
출처: 칭화대학교와 카네기 멜런 대학교가 협력하여 오픈소스로 공개했습니다.
목표: 기존 크롤러의 낮은 수집 효율과 낮은 데이터 품질 문제를 해결하여, LLM 사전 학습을 보다 효율적으로 만드는 것입니다.
Crawl4LLM의 주요 기능:
웹페이지 스마트 선택
스마트 평가: LLM 사전 학습에 웹페이지가 유용한지 자동으로 판단하여, 유용한 페이지를 먼저 수집합니다.
높은 효율: 기존 크롤러보다 훨씬 적은 수의 웹페이지를 수집하면서도 비슷하거나 더 나은 결과를 얻어, 효율이 약 5배 정도 향상됩니다.
다양한 크롤링 방식
스마트 모드: 주요 모드로, 가치가 있는 웹페이지를 자동으로 골라 수집합니다.
랜덤 크롤링 모드: 웹페이지 내용을 엄밀하게 선택할 필요가 없을 때 사용할 수 있습니다.
링크 개수 기반 크롤링 모드: 대량의 데이터를 수집할 때 사용할 수 있습니다.
상태 관리 및 복구
정기 저장: 크롤러 상태를 정기적으로 저장할 수 있어, 중간에 중단되더라도 이전 위치에서 이어서 수집할 수 있어 데이터 손실이 없습니다.
데이터 시각화 도구
직관적 확인: 데이터 브라우징 도구가 있어 수집한 데이터를 확인할 수 있고, 진행 상황과 결과를 언제든지 파악할 수 있습니다.
호환성 및 통합
DCLM 프레임워크 연동: 문서 ID 추출 및 문서 내용 가져오기가 가능하며, 딥러닝 모델(DCLM) 사전 학습 프레임워크와 원활하게 연결되어 모델 학습에 바로 활용할 수 있습니다.
Crawl4LLM의 기술 세부 사항:
모듈 아키텍처: 크롤러 스케줄러, 웹페이지 파서, 데이터 저장소 등의 모듈로 구성됩니다.
오류 처리: 강력한 오류 정정 및 자동 재시도 기능을 갖추고 있어, 데이터 수집의 안정성을 보장합니다.
데이터 품질 관리: 데이터 중복 제거 및 정제 기능을 통해 데이터의 품질과 일관성을 높입니다.
Crawl4LLM의 활용 사례:
LLM 사전 학습: 대규모 LLM 사전 학습에 양질의 데이터를 제공합니다.
데이터셋 구축: 자체적으로 데이터셋을 만들 수 있습니다.
검색 엔진 최적화: SEO 전략을 분석하고 개선합니다.
웹 모니터링 및 분석: 네트워크 상황을 실시간으로 모니터링합니다.
기타 분석: 감성 분석 및 기타데이터 분석을 수행합니다.
Crawl4LLM 사용 방법:
1. 사전 준비:
ClueWeb22 데이터셋을 준비합니다.
Python 가상 환경을 생성하고 필요한 라이브러리(numpy, tqdm, fasttext, pyyaml, wandb)를 설치합니다.
DCLM FastText 분류기를 다운로드하여 지정된 디렉터리에 배치합니다.
2. 설정 파일 생성:configs/ 디렉터리에 YAML 설정 파일을 생성하여, 데이터셋 경로, 시드 문서 목록, 출력 디렉터리, 각 반복에서 선택할 문서 수, 작업 스레드 수, 크롤링 상태 저장 주기, 최대 크롤링 문서 수, 문서 선택 방법, 정렬 방식, wandb 로깅 사용 여부 등의 매개변수를 지정합니다.
3. 크롤러 시작:명령줄에서 python crawl.py crawl --config를 실행합니다.
Crawl4LLM은 매우 전문적인 크롤러 시스템으로, 대규모 언어 모델 사전 학습에 적합합니다. 그 진보된 알고리즘과 기술적 특징 덕분에 데이터 수집의 효율과 품질이 크게 향상되어, 대규모 언어 모델의 발전을 보다 빠르게 촉진할 수 있습니다.
GitHub 저장소:https://github.com/cxcscmu/crawl4llm
논문 주소:https://arxiv.org/pdf/2502.13347
대본 기획 도우미▸
AI 앱
AI 뉴스 