메뉴
HN
Hacker News 22일 전

Pulpie: 웹 데이터 정화를 위한 효율적 오픈소스 AI 모델

IMP
8/10
핵심 요약

Feyn Labs가 HTML 페이지에서 핵심 내용만 빠르고 저렴하게 추출하는 파레토 최적의 AI 모델군인 'Pulpie'를 오픈소스로 공개했습니다. 기존 최고 수준(SOTA) 모델인 Dripper와 비슷한 성능을 내면서도 크기는 1/3, 추론 비용은 1/20 수준으로, 10억 페이지 처리 비용을 약 2,890만 원에서 58억 원으로 대폭 절감할 수 있습니다. 깨끗한 데이터는 언어 모델의 사전 학습 및 추론 성능 향상에 핵심적인 역할을 하므로, 이 모델은 대규모 웹 데이터 처리에 있어 매우 중요한 돌파구가 될 것입니다.

번역된 본문

연구 · 현장 노트 Pulpie: 웹을 정화하기 위한 파레토 최적 모델 저자: Bhavnick Minhas, Shreyash Nigam 소속: Feyn Labs 발행일: 2026년 6월 25일 읽는 데 걸리는 시간: 13분

우리는 HTML 페이지에서 핵심 내용을 추출하는 파레토 최적(Pareto-Optimal)의 모델군인 Pulpie를 소개합니다. Pulpie는 기존 최고 수준(SOTA)의 추출 품질을 단 20분의 1의 비용으로 달성합니다.

우리의 가장 작은 모델인 pulpie-orange-small은 WebMainBench 벤치마크에서 0.862의 ROUGE-5 F1 점수를 기록했습니다. 이는 0.864를 기록한 최고의 추출기인 Dripper와 맞먹는 수치입니다. 게다가 파라미터 크기가 2억 1천만 개(210M)로 Dripper의 6억 개(600M)의 3분의 1에 불과함에도 불구하고 이러한 훌륭한 성능을 달성했습니다.

이러한 성능 향상은 아키텍처에서 비롯됩니다. Pulpie는 인코더 기반으로, 단 한 번의 순방향 패스(forward pass)만으로 모든 HTML 블록이 본문 콘텐츠인지 불필요한 요소(boilerplate)인지 라벨링합니다. 이 덕분에 처리 속도도 매우 빠릅니다. NVIDIA L4 GPU 환경에서 pulpie-orange-small은 초당 13.7페이지를 처리하여 Dripper(초당 0.68페이지)를 크게 압도합니다. L4 인스턴스의 시간당 비용이 0.39달러일 때, 10억 개의 웹 페이지를 정제하는 데 드는 비용이 Pulpie는 7,900달러인 반면, Dripper는 159,000달러에 달합니다. Pulpie는 이전에는 불가능했던 대규모의 고품질 웹 데이터 추출을 가능하게 하며, 이는 AI 모델의 사전 학습 및 문맥 관리(context management)에 큰 도움이 될 것으로 기대됩니다. 우리의 모델은 오픈소스로 제공되며 Hugging Face에서 다운로드할 수 있습니다. 시작하기(Get started) 가이드를 참고하십시오.

추출이 병목 현상이다 언어 모델은 웹을 두 번 소비합니다. 처음은 세상을 학습하는 사전 학습 과정에서, 그다음은 관련 문맥을 가져오는 추론(inference) 과정에서입니다. 두 경우 모두 입력되는 데이터의 대부분은 노이즈입니다. 우리가 데이터를 조사하는 과정에서, 일반적인 HTML 페이지의 약 70%는 내비게이션, 광고, 사이드바, 푸터와 같은 불필요한 요소로 채워져 있다는 것을 발견했습니다. 실제 핵심 내용은 페이지의 극히 일부에 불과합니다. 하지만 모델 품질을 양쪽 모두에서 결정하는 것은 바로 그 일부분입니다.

Ma 등(2025)의 AICC 연구는 더 깨끗한 데이터 추출이 사전 학습에 미치는 영향을 측정했습니다. 연구팀은 동일한 Common Crawl 스냅샷으로 두 개의 말뭉치(corpus)를 구축했습니다. 하나는 휴리스틱(경험적 규칙) 방식으로 콘텐츠를 추출했고, 다른 하나는 모델 기반 파서를 사용해 추출했습니다. 데이터 파이프라인의 다른 모든 조건은 동일하게 유지했습니다. 그런 다음 각 말뭉치로 동일한 모델을 학습시켰습니다. 모델 기반으로 추출된 말뭉치로 학습된 모델은 13개 벤치마크에서 평균 정확도가 1.08% 포인트 더 높게 나타났습니다. 추출 로직만 변경되었기 때문에, 이 성능 향상은 전적으로 더 깨끗한 데이터 덕분이라고 볼 수 있습니다.

놀랍게도 이 모델은 가장 정교하게 필터링된 사전 학습 말뭉치인 FineWeb과 RefinedWeb으로 학습된 모델들을 능가했습니다. 이 두 데이터셋은 정교한 필터링과 중복 제거 과정을 거쳐 명성을 얻은 곳들입니다. 추출기를 개선하는 것만으로 이들을 이겼다는 사실은 '깨끗한 데이터'가 얼마나 중요한 가치를 지니는지 보여줍니다. 단순히 성능의 하한선을 낮출 뿐만 아니라, 저질스러운 추출은 모델에 실질적인 악영향을 미칩니다. 단순 규칙 기반 휴리스틱은 구조화된 콘텐츠를 훼손합니다. 아래 표는 코드 블록과 수식을 보존하는 데 있어 휴리스틱 기반인 Trafilatura와 모델 기반 추출기가 어떻게 다른지를 보여줍니다. 유사도 점수가 낮다는 것은 데이터가 손상되었음을 의미합니다. 훼손된 데이터가 학습에 사용되면, 결과물인 모델 역시 이 손상을 그대로 물려받게 됩니다.

콘텐츠 | Trafilatura (휴리스틱) | 모델 기반 추출기 코드 블록 | 0.13 | 0.91 수식 | 0.61 | 0.94

데이터 품질은 추론 시에도 중요합니다. Shi 등(ICML 2023)의 연구에 따르면, 단 하나의 무관한 텍스트 단락만으로도 모델의 답변을 완전히 그릇되게 만들기 충분하다는 것이 밝혀졌습니다. 모델은 문맥에 노이즈가 없을 때 더 정확하고 효율적으로 작동합니다.

예산 내에서 웹 정화하기 웹을 정화하는 것은 학습과 추론 양쪽 모두에서 보상을 받습니다. 그렇다면 남은 문제는 '어떻게 대규모로 이를 잘 수행할 수 있는가?'입니다. 우선 현재 추출기들의 구조를 이해하기 위해, 우리는 해당 방식이 '페이지를 글자 그대로 읽는가, 아니면 구조를 검사하는가?'라는 질문을 기준으로 두 가지 계열로 나눌 수 있습니다.

구조 기반 추출기(structure-based extractors)는 HTML 블록을 겉으로 드러나는 신호로 판단합니다. 콘텐츠와 불필요한 요소를 구분하기 위해 태그, DOM, 텍스트 밀도 등에 규칙을 적용합니다. Trafilatura, Readability, magic-html이 이 방식으로 작동합니다. Boilerpipe는 한 걸음 더 나아가 이와 동일한 신호들에 분류기를 학습시킵니다. 이러한 추출기들은 실행하기 쉽지만 구조가 비슷한 요소들을 혼동합니다. 예를 들어, 내비게이션 테이블과 실제 데이터 표가 셀을 세는 알고리즘 입장에서는 똑같아 보일 수 있습니다. 반면, 읽기 기반 추출기(reading extractors)는 페이지를 트랜스포머(Transformer) 모델에 입력하여 각 블록이 무엇인지 텍스트를 기반으로 판단합니다.

원문 보기
원문 보기 (영어)
Research · field note Pulpie: Pareto-Optimal Models for Cleaning the Web Authors Bhavnick Minhas, Shreyash Nigam Affiliation Feyn Labs Published June 25, 2026 Reading time 13 min We’re introducing Pulpie, a family of Pareto-optimal models for extracting main content from HTML pages. Pulpie approaches SOTA extraction quality at one twentieth the cost. Our smallest model, pulpie-orange-small , scores 0.862 ROUGE-5 F1 on WebMainBench. This matches Dripper, the leading extractor, which scores 0.864. Pulpie’s performance is despite it being a third the size: 210M parameters versus Dripper’s 600M. The gains come from architecture. Pulpie is an encoder that labels every HTML block as content or boilerplate in a single forward pass. This also makes it fast. On an NVIDIA L4 GPU, pulpie-orange-small processes 13.7 pages/sec against Dripper’s 0.68 pages/sec. At $0.39/hr for an L4 instance, cleaning 1 billion pages costs $7,900 with Pulpie and $159,000 with Dripper. Pulpie unlocks high quality web extraction at a scale impossible before. We expect this to benefit pre-training and context management. Our models are open source and available on Hugging Face . See Get started for instructions. Extraction is the bottleneck Language models consume the web twice. First in pre-training, where they learn about the world. Then at inference, when they pull in relevant context. Both times the input is mostly noise. During discovery, we found 70% of the blocks on a typical HTML page hold boilerplate like navigation, ads, sidebars, and footers. Main content is only a small fraction of the page. However, that fraction determines model quality on both ends. AICC ( Ma et al., 2025 ) measured the effect of cleaner extraction on pre-training. The team built two corpora from the same Common Crawl snapshot. One extracted content with heuristics. The other extracted it with a model-based parser. Everything else in the data pipeline remained equal. They then trained an identical model on each corpus. The model trained on the model-extracted corpus scored 1.08 percentage points higher in average accuracy across 13 benchmarks. Since only extraction logic changed, we can attribute the gain entirely to having cleaner data. Impressively, the same model also beat models trained on FineWeb and RefinedWeb, two of the most heavily filtered pre-training corpora. These datasets have earned their reputations through elaborate filtering and deduplication. Beating them by improving the extractor illustrates the high value of clean data. Beyond setting a low baseline, poor extraction materially harms models. Heuristics break structured content. The table below shows how Trafilatura and model-based extractors compare on preserving code blocks and formulas. Low similarity scores indicate corruption. If used in training, resulting models will inherit this damage. Content Trafilatura (heuristic) Model-based Code blocks 0.13 0.91 Formulas 0.61 0.94 Data quality matters at inference too. Shi et al. (ICML 2023) showed that a single irrelevant passage is enough to derail a model’s answer. A model is more accurate and more efficient when its context is free of noise. Cleaning on a budget Cleaning the web pays off in both training and inference. The open question is how do we clean well at scale? First, to understand the landscape, we can divide current extractors into two families based on the question: Does the method read the page, or inspect its structure? Structure-based extractors judge an HTML block by surface signals. They apply rules over tags, DOM, and text density to separate content from boilerplate. Trafilatura, Readability, and magic-html work this way. Boilerpipe goes one step further and trains a classifier on those same signals. These extractors are easy to run but they confuse similarly built elements. A navigation table and a data table look identical to an algorithm counting cells. Reading extractors feed the page to a transformer and label each block based on its content. Dripper is a decoder built on this idea. The decoder emits labels one token at a time. Each label forces the full model to be read from memory for a single step of work. This ties speed to memory bandwidth and makes runs expensive. Pulpie keeps the reading approach but moves the bottleneck to compute. We do this by using an encoder architecture that labels every block in a single forward pass. This enables Pulpie to match Dripper’s quality while being smaller, faster, and cheaper. Depulping raw HTML The full pipeline runs in four stages: Simplify the HTML. Remove scripts, styles, and other formatting noise. Tag each block with a unique ID. Chunk the blocks. Split the blocks, tokenize them, and pack them into chunks of at most 8,192 tokens, so each chunk fits the model in one pass. About 80% of pages fit in a single chunk. Classify. Run a forward pass. Pulpie labels each block as content or boilerplate. Return. Return the kept blocks as HTML, or convert them to Markdown. Training Training Pulpie needed a large set of HTML pages with block-level labels. No such public set existed, so we built one. We sampled 16,670 English pages from Common Crawl, limiting to one per domain. We then used MinerU-HTML to split each page into blocks, and labeled each block as content or boilerplate with DeepSeek V3.2. Further filtering removed empty, corrupted, and otherwise unfit pages, leaving 15,880. We then ran Dripper 0.6B as a second labeler across all 15,880 pages to flag inconsistent labels. Block-level agreement with DeepSeek was 93.3%. We kept the 14,959 pages where the two labelers agreed on at least 70% of blocks, trading some data for a cleaner training set. Teaching a teacher To create our teacher model, we fine-tuned EuroBERT-2.1B on the aforementioned 14,959 pages. Setting Value Learning rate 2e-5 Effective batch size 8 Loss Class-weighted cross-entropy Hardware 4x A100 Class weights are set inversely to the 28.6% content rate to counter the imbalance. The teacher scored 0.873 ROUGE-5 F1 on the WebMainBench English set. At 2.1B parameters it is accurate but expensive to run, so we distilled it into smaller models. Imparting knowledge For a better production fit, we distilled the 2.1B teacher into two smaller models: Pulpie Orange Base, a 610M parameter encoder. Pulpie Orange Small, a 210M parameter encoder. Both students learn from the teacher following Hinton et al. (2015) . The teacher’s softened output distribution supplies most of the signal through a KL-divergence loss weighted 0.7, with hard-label cross-entropy making up the remaining 0.3, at temperature 2.0. Both train on the same data as the teacher. The distilled models keep almost all of the teacher’s quality. Model Parameters ROUGE-5 F1 vs. Teacher Pulpie Orange Small 210M 0.862 -1.1 F1 points Dripper 0.6B 0.864 -0.9 F1 points Pulpie Orange Base 610M 0.863 -1.0 F1 points Pulpie Orange Large (teacher) 2.1B 0.873 - Despite a tenfold cut in size, the 210M model is within one F1 point. Combined with its speed and cost benefits, pulpie-orange-small features the best size-to-quality ratio in the entire family. It is the model we recommend for production use. Results Quality We measure ROUGE-5 F1 on the English subset of WebMainBench (6,647 pages across all difficulty levels). Empty extractions count as zero. Method ROUGE-5 F1 Empty pages magic-html 0.700 384 Trafilatura 0.619 16 Pulpie Orange Small 0.862 45 Dripper 0.864 135 Pulpie Orange Base 0.863 36 Pulpie Orange Large 0.873 21 Pulpie Orange Large is the strongest single model at 0.873, ahead of Dripper by 0.9 F1 points. The 210M model ties Dripper at a third the size. Frontier LLMs score higher on this benchmark, near 0.90, which is the quality Pulpie approaches. Dripper returns nothing on 135 pages. 130 are due to the page overflowing its 32k-token context window. Pulpie packs blocks into 8,192-token chunks, so page length never forces a failure. Breaking results down by difficulty: Method All Simple Mid Hard magi