
2026/07/07 1:04
Show HN: Pulpie – Web クリーンアップ用のモデル
RSS: https://news.ycombinator.com/rss
要約▶
日本語翻訳:
Pulpie は、Dripper などの最先端ソリューションと比較して 1/20 のコストで HTML ページから主要コンテンツを抽出するためのパレート最適化モデルファミリーの飛躍です。その最小モデルである
pulpie-orange-small(210M パラメータ)は、WebMainBench で 0.862 の ROUGE-5 F1 スコアを達成しており、サイズが 1/3 と小さいにもかかわらず Dripper の 0.864 に匹敵します。Pulpie はエンコーダ型アーキテクチャを採用し、すべての HTML ブロックを単一のフォワードパスでラベル付けするため、デコーダーベースの競合他社のような遅く、メモリ集約的なトークンごとの読み出しを回避しています。これにより、NVIDIA L4 GPU 上でページ処理速度が Dripper の 0.68 ページ/秒に対して Pulpie は 13.7 ページ/秒(20 倍高速)となります。フルスケールのクリーニングコストは、Pulpie Small を L4 で使用すると 10 億ページのケースで 159,000 ドルから 7,900 ドルに、A100 で使用すると約 210,000 ドルから約 29,000 ドルへと低下します。Trafilatura などのヒューリスティックツールがコードや数式を破損させる(類似度スコアはそれぞれ 0.13 および 0.61)のに対し、Pulpie Orange Small は高信頼性を維持し、類似度スコアはそれぞれ 0.91 および 0.94 です。モデルベースのパースャーを採用することで、ヒューリスティックアプローチと比較して 13 のベンチマークで平均精度が 1.08 パーセントポイント向上し、推論中に単一の無関係な文脈が大規模言語モデルを翻弄してしまうという問題を解決します。フルスケールの Pulpie パイプラインは HTML を簡略化(スクリプトやスタイルの削除)、ブロックをチャンク化(最大 8,192 トークン)、Pulpie を介してブロックを分類し、クリーンな HTML または Markdown を返します。DeepSeek V3.2 のラベルと Dripper 0.6B の合致度をクロス検証によって作成された 14,959 のラベル付きページデータセットで学習した Pulpie は、EuroBERT-2.1B という教師モデルから distilled され、Small(210M)、Base(610M)、Large(2.1B)の 3 つの学生モデルに分割されました。推奨デフォルトとなる pulpie-orange-small は pip または Hugging Face(feyninc/pulpie-orange-small-v1)から即座に利用可能であり、開発者が Web データセットのクリーニングを前例のない速度と安価さでスケーリングできるようにノイズフリーな文脈を提供します。本文
Pulpie: ウェブをクリーンにするためのパラエト最適モデル
概要
「Pulpie」は、HTML ページからメインコンテンツを抽出するための一連のパラエト最適モデルです。
- コスト効率: 最上位(SOTA)の抽出品質に迫りながら、コストはリーダー級モデルの二十分の一を実現しています。
- 性能: 軽量なモデルである
は、WebMainBench で ROUGE-5 F1 スコアを 0.862 に達しました(抽出リーダー Dripper の 0.864 とほぼ同レベル)。pulpie-orange-small - アーキテクチャ: HTML の各ブロックを単一のフォワードパスで「コンテンツ」か「ボイラープレート」かにラベル付けするエンコーダー構造を採用しています。これにより、Dripper(60 億パラメータ)の約三分の一規模(2 億 1,000 万パラメータ)でも同等の性能を発揮します。
- 処理速度: NVIDIA L4 GPU では 13.7 ページ/秒を達成し、Dripper(0.68 ページ/秒)を大幅に上回ります。
- 経済性: 10 億ページのクリーニングコストは Pulpie で $7,900 に対し、Dripper では $159,000 に達します。
モデルはオープンソースで Hugging Face 上で利用可能です。
背景:ウェブを二回消費する問題
言語モデルは通常、以下の 2 つの段階でウェブデータを消費します。
- 事前学習: 世界の知識を学ぶ。
- 推論時: 関連するコンテキストを参照する。
どちらの場合も、入力データの多くがノイズ(ボイラープレート)に満ちています。通常の HTML ページの約 70% は、ナビゲーションや広告などの不要な構造部分です。メインコンテンツはごく一部しか占めていませんが、この純粋さがモデル品質を決定づけます。
事前学習への影響
- 研究(AICC): クリーンな抽出が事前学習に与える効果を測定した結果、モデルベースのパーサーで抽出されたコーパスで訓練したモデルは、平均精度が1.08 パーセントポイント高くなりました。
- 比較: この改善はデータ cleanliness によるものであり、厳格にフィルタリングされた市販のコーパス(FineWeb, RefinedWeb)でも訓練したモデルを上回る性能を発揮しました。
データ品質への影響
- 損傷のリスク: ヒューリスティクスベースの抽出器(例:Trafilatura)はコードブロックや数式を損傷させる傾向があります。
- コードブロックの類似度: ヒューリスティック 0.13 vs モデルベース 0.91
- 数式の類似度: ヒューリスティック 0.61 vs モデルベース 0.94
- 推論時の重要性: ノイズに満ちたコンテキストはモデルの回答を翻弄します。ノイズから解放されたコンテキストを持つほど、モデルは精度が高くかつ効率的になります。
アーキテクチャ:予算内でのウェブクリーン化
現在の抽出手法と Pulpie の違いを以下の点で比較できます。
| 特徴 | 構造ベース抽出器 (Trafilatura, Readability) | リーディング抽出器 (Dripper) | Pulpie |
|---|---|---|---|
| 方式 | タグや DOM の規則に基づき分類 | デコーダーでトークン単位にラベル付け | エンコーダーによる単一フォワードパス |
| 課題 | 同様の構造の要素を混同しやすい | メモリ帯域幅依存で高速化困難 | 計算リソースのみで制限される |
| コスト | 低いが精度に限界あり | 高コスト | 極めて低コスト |
パフォーマンス比較
- Pulpie Small: ROUGE-5 F1 0.86+ / コスト約 $7,900 (L4 10 億ページ)
- Dripper: ROUGE-5 F1 0.864 / コスト約 $159,000 (L4 10 億ページ)
注: Pulpie は品質を維持しながら、コストが 20 倍安価です。
パイプライン処理:生 HTML の「デピルピング」
フルパイプラインは以下の 4 つの段階で構成されます。
- HTML の簡素化: スクリプトやスタイルを削除し、各ブロックに一意の ID を付与します。
- ブロックの分割: ブロックを分割・トークナイゼーションし、最大 8,192 トークンのチャンクにパックします(約 80% のページはこれで完結)。
- 分類: フォワードパスを実行し、各ブロックを「コンテンツ」か「ボイラープレート」かにラベル付けします。
- 出力: コンテンツとして保持されたブロックを HTML または Markdown 形式で返します。
学習戦略
データ準備
- Common Crawl から英語ページ 16,670 ページをサンプリングし、MinerU-HTML を使用してブロックに分割しました。
- DeepSeek V3.2 でブロックごとにラベル付けを実施し、不適切なページを除外後、15,880 ページのトレーニングセットを作成しました。
クロスバリデーションとデータ精製
- Dripper 0.6B をセカンドラベラーとして使用し、不整合なラベルをフィルタリングしました(双方が同意するブロックは 93.3%)。
- データの一部を犠牲にして質を高めるため、14,959 ページのクリーンデータセットに絞り込みました。
テイチャーモデルと蒸留
品質とコストのバランスを実現するために、以下のステップでモデルを作成しました。
- テイチャーモデル: EuroBERT-2.1B をファインチューニングし、WebMainBench で ROUGE-5 F1 0.873 を記録しました。
- 蒸留 (Distillation): テイチャーモデルの知識を小規模モデルへ転移させました。
- Pulpie Orange Small: 210M パラメータ、F1 スコア 0.862(テイチャーとの差わずか 1 ポイント)。
- Pulpie Orange Base: 610M パラメータ、F1 スコア 0.863。
推奨モデル:
pulpie-orange-small はサイズを約 1/30 に削減したにもかかわらず、テイチャーと同等の品質を維持しており、速度とコストに優れています。
結果:ベンチマーク比較
品質(WebMainBench 英語サブセット)
空抽出はゼロスコア扱いとなります。
| メソッド | ROUGE-5 F1 | 空ページ数 (全 6,647 ページ) |
|---|---|---|
| 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)とモデルベース(Dripper)は安定した性能を発揮します。また、Dripper はコンテキスト長が短い場合に失敗しますが、Pulpie のブロック単位処理によりページ長さによる制限はありません。
速度比較
NVIDIA L4 GPU で: Pulpie Orange Small は Dripper よりも約 20 倍高速です。 NVIDIA A100 で: Pulpie Orange Small は Dripper よりも約 7 倍高速です。
| モデル | ハードウェア | ページ/秒 |
|---|---|---|
| Pulpie Orange Small | L4 | 13.7 |
| Dripper | L4 | 0.68 |
| Pulpie Orange Small | A100 | 25.7 |
| Dripper | A100 | 3.6 |
コスト比較(10 億ページあたりの GPU 時間)
Pulpie は帯域幅依存型ではないため、計算能力が低い L4 GPU でも A100 に迫る効率を発揮します。
| セッティング | ハードウェア | Throughput (pg/s) | コスト (米ドル) |
|---|---|---|---|
| Pulpie Small | L4 | 13.7 | $7,900 |
| Dripper | L4 | 0.68 | $159,000 |
| Pulpie Small | A100 | 25.7 | $29,000 |
| Dripper | A100 | 3.6 | $210,000 |
エンコーダーと帯域幅の利点
- デコーダー(Dripper)はステップごとにモデル読み込みが必要で、メモリ帯域幅に制限されます。
- エンコーダー(Pulpie)は入力全体を一度に処理するため、計算能力(TFLOPS)のみで速度が決まります。
- L4 と A100 の帯域幅比率は約 6.8 倍ですが、計算能力比率は約 2.6 倍です。そのため、帯域幅に依存しない Pulpie は、帯域幅の少ない GPU でも Dripper に匹敵する性能を発揮できます。
使い始める
Pulpie モデルは Hugging Face で入手可能です。まずはパッケージをインストールしてください。
pip install pulpie
Python クイックスタート
生 HTML からクリーンなコンテンツ(マークダウン)を抽出します。
from pulpie import Extractor # デフォルトは Pulpie Orange Small extractor = Extractor() result = extractor.extract(html) print(result.markdown) # クリーンなマークダウン出力 print(result.n_main, result.n_other) # メインブロック数 vs ボイラープレート数
モデルの切り替え
より高い品質を優先する場合、大きなモデルを選択できます。
# "small" (デフォルト), "base", "large" のいずれか選択 extractor = Extractor(model="large")
大量処理(パイプライン)
CPU の前処理と GPU の推論を並列化し、複数のページをバッチ処理できます。
from pulpie import Pipeline, PageInput pipeline = Pipeline(model="small") # パージンを指定して各ページの HTML と ID を渡す results = pipeline.extract_batch( [PageInput(html=h, page_id=i) for i, h in enumerate(pages)] )
モデル一覧
すべてのモデルは EuroBERT を基盤とし、共通のトークナイザーと
<|sep|> ブロックマーカーアーキテクチャを使用しています。
| 名前 | リポジトリ | パラメータ数 | ROUGE-5 F1 | 推奨度 |
|---|---|---|---|---|
| Orange Small | | 210M | 0.862 | ★推奨 |
| Orange Base | | 610M | 0.863 | High Quality |
| Orange Large | | 2.1B | 0.873 | Max Quality |
推奨: Pulpie Orange Small は、最上位品質に近づくと同時にコストを二十分の一にしつつ、最も高速で動作します。
謝辞とクレジット
- Pulpie は、MinerU-HTML と Dripper チーム(Ma et al., 2025)の成果を基盤としています。
- データ準備およびラベル付けプロセスに多大な貢献があった方々へ感謝申し上げます。
引用文献
- AICC: Ma et al., "Parse HTML Finer, Make Models Better", arXiv:2511.16397 (2025).
- EuroBERT: Boizard et al., "Scaling Multilingual Encoders for European Languages", arXiv:2503.05500 (2025).
- Distillation: Hinton et al., "Distilling the Knowledge in a Neural Network", arXiv:1503.02531 (2015).
- Raffel et al., "Exploring the Limits of Transfer Learning...", JMLR 2020.
- Penedo et al., "The RefinedWeb Dataset...", NeurIPS 2023.
- Penedo et al., "The FineWeb Datasets...", arXiv:2406.17557 (2024).
- Li et al., "DataComp-LM...", NeurIPS 2024.
- Soldaini et al., "Dolma: An Open Corpus...", ACL 2024.
- Barbaresi, "Trafilatura: A Web Scraping Library...", ACL/IJCNLP 2021.
- Kohlschütter et al., "Boilerplate Detection using Shallow Text Features", WSDM 2010.
- Pomikálek, "Removing Boilerplate and Duplicate Content from Web Corpora", PhD Thesis (2011).
- Bevendorff et al., "An Empirical Comparison of Web Content Extraction Algorithms", SIGIR 2023.
- Shi et al., "Large Language Models Can Be Easily Distracted...", ICML 2023.
引用(BibTeX)
@note{pulpie2026, title = {Pulpie: Pareto-Optimal Models for Cleaning the Web}, author = {Minhas, Bhavnick and Nigam, Shreyash and Feyn Research}, year = {2026}, venue = {Feyn Field Notes} }