Skip to main content
공개 노트

FineWeb: 웹 데이터를 '학습 데이터'로 바꾸는 법

Views 14약 4분생성형 AI 활용
Summary

FineWeb: 웹 데이터를 '학습 데이터'로 바꾸는 법

LLM 데이터셋을 볼 때 핵심 질문은 단순히 "얼마나 큰가"가 아닙니다. 더 중요한 질문은 "어떤 웹 문서를 어떤 기준으로 걸러 학습 가능한 텍스트로 만들었는가"입니다. FineWeb은 이 질문을 이해하기 좋은 대표 사례입니다.

최근 MarkTechPost에 소개된 튜토리얼도 이 지점에 초점을 맞춥니다. 멀티테라바이트 규모의 전체 코퍼스를 내려받는 대신 샘플을 스트리밍하고, 스키마와 메타데이터를 살펴보며 URL, 언어, 언어 점수, 토큰 수 같은 필드를 분석합니다. FineWeb을 제대로 이해하려면 바로 이 접근이 실용적입니다. 먼저 작게 관찰하고, 데이터의 성격을 판단한 뒤, 필요한 처리 전략을 세우는 것입니다.

FineWeb은 무엇인가

FineWeb은 Common Crawl에서 파생된 영어 웹 텍스트 데이터셋입니다. 논문 기준으로 2013년 이후 공개된 96개 Common Crawl 스냅샷을 바탕으로 구축됐고, 최종적으로 15조 토큰 규모의 데이터셋으로 정리됐습니다.1

Common Crawl은 1~2개월마다 웹 스냅샷을 공개하는 비영리 조직입니다. 한 스냅샷에는 수백 TB 규모의 원시 HTML과 메타데이터가 담긴 WARC 파일이 포함될 수 있으며, 페이지에서 미리 추출한 텍스트 파일도 함께 제공합니다.2

FineWeb의 중요한 선택은 여기서 갈립니다. Common Crawl이 제공하는 사전 추출 텍스트만 사용하지 않고, 원시 HTML을 직접 처리해 본문을 추출했습니다. 이 과정에서 Trafilatura를 사용했습니다.2

이 선택은 단순한 구현 차이가 아닙니다. 웹페이지에는 본문 외에도 메뉴, 광고, 쿠키 안내, 반복 문구, 스팸, 중복 페이지가 섞여 있습니다. 따라서 FineWeb은 "웹을 많이 모은 데이터셋"이라기보다 "웹에서 LLM 학습에 쓸 만한 텍스트를 선별한 데이터셋"에 가깝습니다.

왜 전체 다운로드보다 스트리밍이 먼저인가

FineWeb 같은 대규모 데이터셋은 통째로 내려받아 분석하기 어렵습니다. 그래서 실습에서는 Hugging Face Hub에서 샘플을 스트리밍하며 필요한 만큼만 읽는 방식이 유용합니다. NVIDIA의 예시도 FineWeb sample-10BT에서 일부 토큰을 추출해 전처리하는 흐름을 설명합니다.3

스트리밍의 장점은 단순히 저장 공간을 아끼는 데 그치지 않습니다. 전체 데이터를 다 받기 전에 다음과 같은 질문을 먼저 확인할 수 있습니다.

  • 어떤 URL 패턴이 많이 등장하는가

  • 언어 필드와 언어 점수는 얼마나 안정적인가

  • 문서별 토큰 수 분포는 어떤가

  • 너무 짧거나 긴 문서가 얼마나 많은가

  • 특정 크롤 스냅샷에 데이터가 치우쳐 있지는 않은가

FineWeb 레코드에는 본문뿐 아니라 URL, 크롤 스냅샷, 언어, 언어 점수, 토큰 수 같은 메타데이터가 포함됩니다.4 따라서 샘플만으로도 데이터의 성격을 빠르게 파악할 수 있습니다.

실무적으로는 이 단계가 매우 중요합니다. 대규모 코퍼스를 무작정 내려받고 토큰화하기 전에, 샘플을 통해 품질 기준과 비용을 먼저 가늠할 수 있기 때문입니다.

FineWeb이 보여주는 핵심: 수집보다 큐레이션

FineWeb 구축 과정에는 성인 콘텐츠 URL 차단, 비영어 문서 제거, 반복·품질 필터가 포함됐습니다. 1차 필터링 이후에도 약 36조 토큰이 남았습니다.2 이후 추가 필터링과 중복 제거를 거쳐 최종 데이터셋이 만들어졌습니다.

여기서 중요한 점은 "많이 지우면 좋은 데이터가 된다"가 아니라는 것입니다. FineWeb 연구는 전역 중복 제거보다 각 크롤 스냅샷 내부에서 중복을 제거하는 방식이 더 나은 결과를 냈다고 설명합니다.2 전체 기간을 대상으로 과하게 중복 제거하면, 오래된 스냅샷에 남아 있는 유용한 텍스트까지 사라질 수 있기 때문입니다.

FineWeb-Edu도 같은 맥락에서 이해할 수 있습니다. 전체 FineWeb에서 교육적 가치가 높은 문서를 골라 1.3조 토큰 규모의 하위 데이터셋을 만들었고, 지식·추론 벤치마크에서 강한 성능을 보였습니다.1 이는 데이터 품질이 단일 규칙으로 결정되지 않는다는 점을 보여줍니다. 필터링 기준은 평가 결과와 함께 반복적으로 조정되어야 합니다.

FineWeb을 실습할 때 봐야 할 것

FineWeb 튜토리얼의 가치는 데이터셋을 "다운로드하는 법"보다 "대규모 웹 코퍼스를 판단하는 법"에 있습니다. 특히 다음 순서가 실용적입니다.

  1. 샘플을 스트리밍한다
    전체 코퍼스를 받기 전에 작은 범위에서 데이터 구조와 크기를 확인합니다.

  2. 스키마와 메타데이터를 확인한다
    URL, 언어, 언어 점수, 토큰 수 같은 필드를 살펴보면 데이터의 출처와 품질을 추정할 수 있습니다.

  3. 문서 길이와 언어 품질을 본다
    너무 짧은 문서, 비영어 문서, 언어 점수가 낮은 문서가 얼마나 섞여 있는지 확인합니다.

  4. 필터링 기준을 가정하고 검증한다
    어떤 문서를 제외할지 정한 뒤, 그 기준이 데이터 다양성과 품질에 어떤 영향을 주는지 살펴봅니다.

  5. 토큰화 비용과 저장 방식을 계산한다
    웹 텍스트는 규모가 커질수록 처리 비용이 빠르게 증가하므로, 샘플 단계에서 비용을 추정해야 합니다.

결론: FineWeb은 웹 데이터를 학습 데이터로 바꾸는 과정을 보여준다

FineWeb의 핵심 가치는 규모 자체가 아니라 과정에 있습니다. Common Crawl의 원시 웹 데이터를 가져와 본문을 추출하고, 언어와 품질을 걸러내고, 중복을 조정하며, 학습 가능한 텍스트 코퍼스로 정리한 사례이기 때문입니다.

LLM 시대의 데이터 작업은 단순 수집보다 큐레이션에 가깝습니다. FineWeb을 다루는 가장 좋은 방법도 마찬가지입니다. 먼저 스트리밍으로 작게 보고, 메타데이터로 판단하고, 필터링과 중복 제거의 효과를 검증한 뒤, 비용을 계산해야 합니다.

FineWeb은 대규모 웹 데이터셋을 어떻게 읽고 평가해야 하는지 보여주는 실용적인 기준점입니다.

1The FineWeb Datasets: Decanting the Web for the Finest Text Data at Scale

2FineWeb Dataset Overview: Building LLM Training Data at Scale

3LLM Pre-Training -- NeMo-AutoModel

4HuggingFaceFW/fineweb · Datasets at Hugging Face

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기