Crawl4LLM: LLM 사전 학습 전용 웹 크롤러 192

小编 ·

Crawl4LLM: LLM 사전 학습 전용 웹 크롤러

Crawl4LLM은 칭화대와 카네기멜런대학교가 공동 개발한 LLM 사전 학습 전용 웹 크롤러입니다. 각 웹페이지가 LLM 사전 학습에 얼마나 기여하는지 지능적으로 판단해 가치 있는 페이지를 우선 수집하고, 웹 전체의 21% 데이터만으로 전체 수집과 동일한 성능을 달성해 데이터 품질과 크롤링 속도를 모두 높였습니다.

Crawl4LLM: LLM 사전 학습 전용 웹 크롤러

Crawl4LLM이란 무엇인가요?

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

Crawl4LLM이란 무엇인가.webp

프로젝트 개요:

  • 출처: 칭화대학교와 카네기 멜런 대학교가 협력하여 오픈소스로 공개했습니다.

  • 목표: 기존 크롤러의 낮은 수집 효율과 낮은 데이터 품질 문제를 해결하여, 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