00:00:00

Share Your Feedback 🏝️

Corpus Curation Using LLM

Corpus Curation Using LLM

MinWoo(Daniel) Park | Tech Blog

Read more
Previous: OlympiadBench Next: Model | Genie

Corpus Curation Using LLM

  • Related Project: Private
  • Category: Paper Review
  • Date: 2024-02-23

Cleaner Pretraining Corpus Curation with Neural Web Scraping

  • url: https://arxiv.org/abs/2402.14652
  • pdf: https://arxiv.org/pdf/2402.14652
  • abstract: The web contains large-scale, diverse, and abundant information to satisfy the information-seeking needs of humans. Through meticulous data collection, preprocessing, and curation, webpages can be used as a fundamental data resource for language model pretraining. However, when confronted with the progressively revolutionized and intricate nature of webpages, rule-based/feature-based web scrapers are becoming increasingly inadequate. This paper presents a simple, fast, and effective Neural web Scraper (NeuScraper) to help extract primary and clean text contents from webpages. Experimental results show that NeuScraper surpasses the baseline scrapers by achieving more than a 20% improvement, demonstrating its potential in extracting higher-quality data to facilitate the language model pretraining. All of the code is available at this https URL.

TL;DR


  1. 대규모 언어모델 학습을 위한 웹 데이터 추출 방법 제안
  2. 신경망 기반 웹 스크래퍼 NeuScraper 개발 및 성능 평가
  3. 추출된 고품질 데이터를 활용한 언어 모델 pre-training 효과 입증

[서론]

대규모 언어모델(Large Language Models, LLMs)의 성능 향상을 위해서는 모델 크기와 training dataset의 균형 있는 확장이 필요합니다. 그러나 양질의 대규모 pre-training 데이터셋 확보가 주요 과제로 대두되고 있습니다. 이에 따라 웹에서 수집한 데이터를 활용하는 방안이 주목받고 있으나, 기존의 웹 크롤링 데이터셋은 품질 문제가 있어 개선이 필요한 상황입니다.

본 논문에서는 이런 문제를 해결하기 위해 신경망 기반의 웹 스크래퍼인 NeuScraper를 제안합니다. NeuScraper는 간단하면서도 효과적인 구조를 통해 웹페이지에서 주요 콘텐츠를 추출하는 방법을 학습합니다. 본 연구의 주요 목적은 고품질의 웹 데이터를 효율적으로 추출하여 언어 모델 pre-training에 활용하는 것입니다.


[방법]

  • 웹페이지의 텍스트 시퀀스 모델링

    NeuScraper의 핵심은 웹페이지의 HTML 구조를 텍스트 시퀀스로 변환하는 것입니다. 이를 위해 Document Object Model (DOM) 트리 구조를 활용합니다. 구체적인 과정은 다음과 같습니다.

    1. BeautifulSoup4 툴킷을 사용하여 웹페이지의 DOM 트리를 구성합니다.
    2. 깊이 우선 탐색(Depth-First Search)을 수행하여 노드 방문 순서를 결정합니다.
    3. 순수 텍스트, 테이블(<table>), 리스트(<ol>, <ul>, <dl>) 노드만을 선별하여 최종 텍스트 시퀀스 $X = {x_1, x_2, …, x_n}$를 생성합니다. 수식에서 $n$은 선별된 DOM 노드의 수입니다.
  • 신경망 기반 웹 스크래핑

    텍스트 시퀀스 $X$를 처리하기 위해 NeuScraper는 다음과 같은 계층적 구조를 사용합니다.

    • XLM-Roberta 모델의 첫 번째 레이어를 사용하여 각 DOM 노드 $x_i$의 텍스트 표현을 768차원 노드 표현 $h_i$로 인코딩합니다.

      $h_i = \text{XLMRoberta-Layer1}(x_i)$

    • 노드 표현 $H = {h_1, h_2, …, h_n}$을 3층 트랜스포머 모델(8개의 어텐션 헤드)에 입력하여 인코딩된 노드 표현 $\hat{h}_i$를 얻습니다.

      $\hat{h}_i = \text{Transformer}(\text{Linear}(h_i))$

      수식에서 Linear 레이어는 $h_i$를 256차원 임베딩으로 투영합니다.

    • 각 노드를 6개 카테고리(주요 콘텐츠, 제목, 타이틀, 단락, 테이블, 리스트) 중 하나로 분류합니다. $k$번째 카테고리 레이블 $y^k_i$에 대한 예측 확률은 다음과 같이 계산됩니다.

      $P(y^k_i = 1\|x_i) = \text{Sigmoid}(\text{MLP}(\hat{h}_i))$

    • NeuScraper는 다음과 같은 손실 함수 $L$을 최소화하도록 학습됩니다.

      $L = \sum_{k=1}^6 \sum_{i=1}^n \text{CrossEntropy}(P(y^k_i\|x_i), Y^k_i)$

      수식에서 $Y^k_i$는 실제 레이블을 나타냅니다.


[실험 방법]

  1. 데이터셋: ClueWeb22 데이터셋을 사용하여 실험을 수행했습니다. 이 데이터셋의 콘텐츠 추출 레이블은 상용 검색 엔진의 프로덕션 시스템에서 생성되었습니다.
  2. 베이스라인: 9개의 오픈소스 웹 스크래퍼를 비교 대상으로 사용했습니다. 주요 베이스라인으로는 trafilatura를 선정했습니다.
  3. 평가 지표: 정확도, Precision, 재현율, F1 점수를 사용하여 주요 콘텐츠 추출 효과를 평가했습니다. 또한, 추출된 데이터로 언어 모델을 pre-training하여 downstream 태스크 성능을 비교했습니다.
  4. 구현 세부사항: NeuScraper는 30 epoch 동안 AdamW 옵티마이저를 사용하여 학습되었습니다. 배치 크기는 1024였으며, 학습률은 코사인 감소 스케줄을 따랐습니다 (초기 5% 반복에서 웜업, 최대 학습률 6e-4).


[실험 결과 및 분석]

1. 전체 성능 비교

실험 결과, NeuScraper는 모든 베이스라인 스크래퍼를 능가하며 20% 이상의 성능 향상을 달성했습니다. 이는 NeuScraper가 다양한 웹페이지 레이아웃에 대해 일반화하여 고품질 텍스트를 추출할 수 있음을 보여줍니다.

2. 언어 모델 pre-training 효과

ClueWeb22와 CommonCrawl 데이터셋에 대해 다양한 스크래퍼로 추출한 데이터를 사용하여 Pythia 모델을 pre-training했습니다. NeuScraper로 처리한 데이터를 사용한 경우, downstream 태스크에서 더 우수한 성능을 보였습니다. 이는 NeuScraper가 데이터 기반 접근 방식을 통해 복잡한 규칙이나 특성 공학 없이도 효과적으로 웹페이지를 처리할 수 있음을 시사합니다.

3. 추출 데이터 품질 평가

추출된 데이터의 품질을 평가하기 위해, pre-training된 언어 모델이 목표 코퍼스(Wikitext, Lambada)를 재현하는 능력을 측정했습니다. 퍼플렉시티(perplexity)를 사용하여 평가한 결과, NeuScraper로 추출한 데이터를 사용한 모델이 가장 낮은 퍼플렉시티를 보였습니다. 이는 NeuScraper가 pre-training에 더 적합한 고품질 데이터를 생성할 수 있음을 의미합니다.

4. 모델 양자화

리소스 제약 환경에서의 효율성을 평가하기 위해 NeuScraper 모델을 양자화했습니다. qint8과 quint8 양자화를 적용한 결과, 성능 저하 없이 25% 처리 속도 향상을 달성했습니다.


[결론]

본 연구에서 제안한 NeuScraper는 신경망 기반의 웹 스크래핑 방법으로, 기존 방식들보다 우수한 성능을 보여주었습니다. 특히 추출된 데이터의 품질이 향상되어 언어 모델 pre-training에 더 효과적임을 입증했습니다. 이는 대규모 언어모델 개발에 있어 고품질 training dataset 확보의 새로운 방향을 제시합니다. 향후 연구에서는 다양한 도메인과 언어에 대한 NeuScraper의 일반화 능력을 더욱 개선하고, 실시간 웹 스크래핑 시나리오에서의 적용 가능성을 탐구할 계획이라네요.

Previous: OlympiadBench Next: Model | Genie

post contain ""

    No matching posts found containing ""