[서론]
대규모 언어모델(Large Language Models, LLMs)의 성능 향상을 위해서는 모델 크기와 training dataset의 균형 있는 확장이 필요합니다. 그러나 양질의 대규모 pre-training 데이터셋 확보가 주요 과제로 대두되고 있습니다. 이에 따라 웹에서 수집한 데이터를 활용하는 방안이 주목받고 있으나, 기존의 웹 크롤링 데이터셋은 품질 문제가 있어 개선이 필요한 상황입니다.
본 논문에서는 이런 문제를 해결하기 위해 신경망 기반의 웹 스크래퍼인 NeuScraper를 제안합니다. NeuScraper는 간단하면서도 효과적인 구조를 통해 웹페이지에서 주요 콘텐츠를 추출하는 방법을 학습합니다. 본 연구의 주요 목적은 고품질의 웹 데이터를 효율적으로 추출하여 언어 모델 pre-training에 활용하는 것입니다.
[방법]
웹페이지의 텍스트 시퀀스 모델링
NeuScraper의 핵심은 웹페이지의 HTML 구조를 텍스트 시퀀스로 변환하는 것입니다. 이를 위해 Document Object Model (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. 전체 성능 비교
실험 결과, 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의 일반화 능력을 더욱 개선하고, 실시간 웹 스크래핑 시나리오에서의 적용 가능성을 탐구할 계획이라네요.