# Pulpie：用于清理网络的Pareto最优模型

- 来源：Hacker News 热门（buzzing.cc 中文翻译）
- 作者：snyy
- 发布时间：2026-07-08 09:33
- AIHOT 分数：75
- AIHOT 标记：精选
- AIHOT 链接：https://aihot.virxact.com/items/cmrbez8y903b9ihl133b5wr18
- 原文链接：https://usefeyn.com/blog/pulpie-pareto-optimal-models-for-cleaning-the-web

## 精选理由

做网页清洗的同行该更新工具了，Pulpie 以二十分之一的成本追平 SOTA 质量，而且开箱即用，是今年数据管线里最值得换的组件之一。

## AI 摘要

Pulpie是一族Pareto最优模型，用于从HTML页面提取主要内容。其最小模型pulpie-orange-small（210M参数）在WebMainBench上取得0.862的ROUGE-5 F1分数，接近600M参数的Dripper（0.864），但成本仅1/20。在NVIDIA L4 GPU上，Pulpie处理速度13.7页/秒，Dripper仅0.68页/秒。清理10亿页HTML，Pulpie成本约$7,900，Dripper需$159,000。模型采用编码器架构，单次前向传播即可标记每个HTML块为内容或模板，已在HuggingFace开源。

## 正文

研究 · 现场笔记

Pulpie：用于清洗网络的帕累托最优模型

作者

Bhavnick Minhas, Shreyash Nigam

所属机构

Feyn Labs

发布时间

2026 年 6 月 25 日

阅读时间

13 分钟

我们推出 Pulpie，这是一族帕累托最优的模型，用于从 HTML 页面中提取主要内容。Pulpie 以二十分之一的成本达到了 SOTA 级提取质量。

我们最小的模型 pulpie-orange-small 在 WebMainBench 上取得了 0.862 的 ROUGE-5 F1 分数。这与领先的提取器 Dripper 的 0.864 分数相当。Pulpie 的性能是在其规模仅为 Dripper 三分之一（2.1 亿参数对比 Dripper 的 6 亿参数）的情况下实现的。

性能提升来自架构设计。Pulpie 是一个编码器，它能在单次前向传播中将每个 HTML 块标记为内容或模板代码。这也使其速度很快。

在 NVIDIA L4 GPU 上，pulpie-orange-small 每秒可处理 13.7 个页面，而 Dripper 每秒仅处理 0.68 个页面。按 L4 实例每小时 0.39 美元计算，清洗 10 亿页面的成本为：使用 Pulpie 需要 7,900 美元，使用 Dripper 则需要 159,000 美元。

Pulpie 使得以前不可能实现的大规模高质量网页提取成为可能。我们预计这将惠及预训练和上下文管理。

我们的模型是开源的，可在 Hugging Face 上获取。请参阅相关说明。

提取是瓶颈

语言模型要两次消耗网络。第一次是在预训练阶段，它们从中学习世界知识；第二次是在推理阶段，它们拉取相关上下文。两次输入大部分都是噪声。在探索过程中，我们发现典型 HTML 页面中 70% 的块都是诸如导航、广告、侧边栏和页脚之类的模板代码。主要内容只占页面的一小部分。

然而，这一小部分内容决定了模型两端的质量。

AICC（Ma 等人，2025 年）衡量了更干净的提取对预训练的影响。该团队从同一份 Common Crawl 快照中构建了两个语料库。一个使用启发式方法提取内容，另一个使用基于模型的解析器提取内容。数据流水线中的其他所有环节保持一致。然后，他们在每个语料库上训练了相同的模型。

在 13 个基准测试中，使用模型提取语料库训练的模型平均准确率高出 1.08 个百分点。由于只有提取逻辑发生了变化，我们可以将这一提升完全归因于更干净的数据。

令人印象深刻的是，同一模型还击败了在 FineWeb 和 RefinedWeb 上训练的模型，这两个是目前经过最严格过滤的预训练语料库。这些数据集通过精细的过滤和去重建立了自己的声誉。通过改进提取器来超越它们，充分体现了干净数据的高价值。

除了设定一个低基线之外，糟糕的提取还会实质性地损害模型。启发式方法会破坏结构化内容。下表显示了 Trafilatura 和基于模型的提取器在保留代码块和公式方面的对比。低相似度分数表明数据被损坏。如果用于训练，生成的模型将继承这种损伤。

内容Trafilatura（启发式）基于模型

代码块0.130.91

公式0.610.94

数据质量在推理时也很重要。Shi 等人（ICML 2023）表明，仅一段无关的段落就足以使模型的回答偏离正轨。当模型的上下文没有噪声时，其准确性和效率都会更高。

低成本清洗

清洗网络数据在训练和推理中都会带来回报。悬而未决的问题是：我们如何才能在大规模上做好清洗工作？

首先，要了解整体情况，我们可以根据以下问题将当前提取器分为两类：该方法是在读取页面内容，还是在检查页面结构？

基于结构的提取器通过表面信号判断 HTML 块。它们对标签、DOM 和文本密度应用规则，将主要内容与模板代码分离。Trafilatura、Readability 和 magic-html 就是以此方式工作的。Boilerpipe 更进一步，在这些相同信号上训练分类器。这些提取器易于运行，但会将结构相似的组件混淆。导航表格和数据表格对于按单元格计数的算法而言看起来一模一样。

读取型提取器将页面输入 Transformer 架构，并根据每个块的内容对其进行标注。Dripper 是一个基于此思想构建的解码器。解码器每次生成一个 token 的标签。每个标签都迫使完整模型从内存中读取一次以完成一个步骤。这导致速度受限于内存带宽，并使运行成本高昂。

Pulpie 保留了读取方式，但将瓶颈转移至计算。我们采用一种编码器架构，只需一次前向传播即可为每个块打上标签。这使得 Pulpie 在体积更小、速度更快、成本更低的同时，能够达到 Dripper 相同的质量。

网页内容提取：质量与成本

ROUGE-5 F1

每 10 亿页成本

17.5 万美元

14 万美元

10.5 万美元

7 万美元

3.5 万美元

0 美元

0.90

0.80

0.70

0.60

0.50

成本降低 20 倍，质量不变

Pulpie Small Dripper

选定 Pulpie Small，质量 0.862

每 10 亿页成本 7,900 美元

去除原始 HTML 中的非内容部分

完整流水线分四个阶段运行：

简化 HTML。移除脚本、样式及其他格式噪音。为每个块打上唯一 ID 标签。

对块进行分块。将块切分、分词，并打包成最多 8192 个 token 的片段，使每个片段在一次前向传播中适配模型。约 80% 的页面只需单个片段即可容纳。

分类。执行一次前向传播。Pulpie 将每个块标记为内容或样板文件。

返回。将保留的块以 HTML 形式返回，或转换为 Markdown。

训练

训练 Pulpie 需要一个包含大量 HTML 页面及其块级标签的数据集。由于没有此类公开数据集，我们自己构建了一个。

我们从 Common Crawl 中采样了 16,670 个英文页面，每个域名限制一个页面。然后使用 MinerU-HTML 将每个页面拆分成块，并用 DeepSeek V3.2 将每个块标记为内容或样板文件。进一步过滤去除了空页面、损坏页面以及其他不合适的页面，最终保留 15,880 个页面。

随后，我们使用 Dripper 0.6B 作为第二个标注器，对所有 15,880 个页面进行标注，以标记不一致的标签。块级标签与 DeepSeek 的一致率为 93.3%。我们保留了 14,959 页——即两个标注器在至少 70% 的块上达成一致的页面——以此用部分数据换取更干净的训练集。

训练教师模型

为了创建教师模型，我们在前述 14,959 个页面上对 EuroBERT-2.1B 进行了微调。

设置项取值

学习率2e-5

有效批量大小8

损失函数类别加权交叉熵

硬件4 块 A100

类别权重根据 28.6% 的内容占比反向设置，以抵消类别不平衡。

教师模型在 WebMainBench 英文集上得分为 0.873 ROUGE-5 F1。该模型拥有 2.1B 参数，准确但运行成本高昂，因此我们将其蒸馏到更小的模型中。

知识传授

为了更好地适配生产环境，我们将 2.1B 的教师模型蒸馏为两个更小的模型：

Pulpie Orange Base，一个 610M 参数量的编码器。

Pulpie Orange Small，一个 210M 参数量的编码器。

两个学生模型都按照 Hinton 等人（2015）的方法向教师模型学习。教师模型经过软化的输出分布通过加权系数为 0.7 的 KL 散度损失传递大部分信号，剩余 0.3 由硬标签交叉熵损失构成，温度参数设为 2.0。两个学生模型使用与教师模型相同的数据进行训练。

蒸馏后的模型几乎保留了教师模型的全部质量。

模型参数量ROUGE-5 F1与教师模型对比

Pulpie Orange Small210M0.862-1.1 F1 分

Dripper0.6B0.864-0.9 F1 分

Pulpie Orange Base610M0.863-1.0 F1 分

Pulpie Orange Large（教师模型）2.1B0.873-

尽管参数量缩减了十倍，210M 的模型与教师模型的差距仍在一个 F1 分以内。结合其速度和成本优势，pulpie-orange-small 是整个模型族中尺寸与质量比最佳的版本，也是我们推荐用于生产环境的模型。

结果

质量

我们在 WebMainBench 的英文子集（涵盖所有难度级别的 6,647 个页面）上测量 ROUGE-5 F1 分数。空提取计为零分。

方法ROUGE-5 F1空页面数

magic-html0.700384

Trafilatura0.61916

Pulpie Orange Small0.86245

Dripper0.864135

Pulpie Orange Base0.86336

Pulpie Orange Large0.87321

Pulpie Orange Large 是最强的单一模型，得分为 0.873，领先 Dripper 0.9 个 F1 分。210M 的模型在仅为 Dripper 三分之一尺寸的情况下与其持平。前沿大语言模型在该基准测试上得分更高，接近 0.90，这也是 Pulpie 所接近的质量水平。

Dripper 在 135 个页面上返回空结果，其中 130 个是由于页面超出了其 32k 个 token 的上下文窗口。Pulpie 将页面分块打包成 8,192 个 token 的片段，因此页面长度不会导致提取失败。

按难度划分的结果：

方法全部简单中等困难

magic-html0.7000.7730.6970.637

Trafilatura0.6190.7210.6190.526

Pulpie Orange Small0.8620.9060.8680.813

Dripper0.8640.9130.8650.817

Pulpie Orange Base0.8630.9060.8680.818

Pulpie Orange Large0.8730.9140.8790.827

所有方法在页面难度增加时表现都会下降。启发式方法下降最快，从简单到困难页面 F1 分数下降了 14 到 20 分，而编码器则下降了约 9 个 F1 分。Dripper 的性能范围与编码器相当，在简单和困难页面之间差距为 10 个 F1 分。

速度

各模型吞吐量

在 L4 上比 Dripper 快 20 倍，对比相同页面下的 Pulpie Small。

NVIDIA L4 页面/秒

已选 13.7 页/秒 Pulpie Small

成本 $7.9K 每 10 亿页

L4 吞吐量，基于 500 个真实 Common Crawl 页面：

方法吞吐量（页/秒）硬件

Pulpie Orange Small13.7L4

Dripper0.68L4

Pulpie Orange Base3.9L4

Pulpie Orange Large1.3L4

Pulpie Orange Small 在相同 L4 上运行速度比 Dripper 快 20 倍。

A100 吞吐量，相同页面，仅 GPU 推理，每个模型均采用批处理：

方法吞吐量（页/秒）硬件

Pulpie Orange Small25.7A100

Dripper3.6A100

Pulpie Orange Base7.7A100

Pulpie Orange Large3.5A100

在 A100 上，Pulpie Orange Small 的运行速度是 Dripper 的 7.1 倍。2.1B 教师模型在速度上与 Dripper 持平，但在质量上超越它。

成本

每 10 亿页成本

在 L4 上比 Dripper 便宜 20 倍，对比相同页面下的 Pulpie Small。

NVIDIA L4 成本 / 10 亿页

已选 $8K Pulpie Small

GPU 小时数 20,276 每 10 亿页

L4 上处理 10 亿页的成本，按 $0.39/小时计算。基于上述测得的吞吐量计算：

配置页/秒GPU 小时数 / 10 亿页成本 / 10 亿页

L4 上的 Pulpie Small13.720,300~$7,900

L4 上的 Dripper0.68408,000~$159,000

L4 上的 Pulpie Base3.971,200~$28,000

L4 上的 Pulpie Large1.3214,000~$83,000

A100 上处理 10 亿页的成本，按 $2.72/小时计算。基于上述测得的吞吐量计算：

配置页/秒GPU 小时数 / 10 亿页成本 / 10 亿页

A100 上的 Pulpie Small25.710,800~$29,000

A100 上的 Dripper3.677,200~$210,000

A100 上的 Pulpie Base7.736,100~$98,000

A100 上的 Pulpie Large3.579,400~$216,000

像编码器一样廉价的 GPU

Pulpie 与 Dripper 之间的吞吐量差距远大于模型大小 3 倍的差异所能解释的。在 A100 上，我们测得这个差距为 7.1 倍，而在 L4 上则扩大到 20 倍。原因在于架构差异。

解码器每次生成一个 token 的标签。每一步都需要从 GPU 内存中读取整个模型来生成单个 token。因此，解码器的速度受内存带宽制约。相反，编码器对整个输入只执行一次前向传播。这种密集矩阵乘法只受算力限制。

此外，A100 和 L4 在带宽上的差异比在算力上的差异更大：

维度NVIDIA A100NVIDIA L4比率（A100/L4）

内存带宽2,039 GB/s300 GB/s~6.8x

Tensor Core TFLOPS312120~2.6x

从A100降级到L4，对于带宽受限的解码器的限制远大于计算受限的编码器。这扩大了吞吐量差距，使得Pulpie Orange Large在L4上得以领先，尽管在A100上与Dripper表现相当。

Pulpie模型已上传至Hugging Face。安装该软件包：

pip install pulpie

从原始HTML中提取干净的内容：

from pulpie import Extractor

extractor = Extractor() # defaults to Pulpie Orange Small
result = extractor.extract(html)

print(result.markdown) # clean markdown
print(result.n_main, result.n_other) # blocks kept vs dropped

如果追求最高质量而非速度，请选择更大的模型：

extractor = Extractor(model="large") # "small" (default), "base", or "large"

对于批量处理，该流水线可在单张或多张GPU上重叠CPU预处理与GPU推理：

from pulpie import Pipeline, PageInput

pipeline = Pipeline(model="small")
results = pipeline.extract_batch(
[PageInput(html=h, page_id=i) for i, h in enumerate(pages)]
)

这三个模型均基于EuroBERT（Boizard等人，2025），使用相同的<|sep|>块标记架构，并共享同一个分词器：

名称Hugging Face参数量ROUGE-5 F1备注

Orange Smallfeyninc/pulpie-orange-small-v1210M0.862推荐

Orange Basefeyninc/pulpie-orange-base-v1610M0.863从Large蒸馏得来

Orange Largefeyninc/pulpie-orange-large-v12.1B0.873教师模型

Pulpie Orange Small 是推荐且默认的模型。它以二十分之一的成本接近SOTA提取质量，并且运行速度最快。

Pulpie 由 Feyn 构建。您可以在 GitHub、Hugging Face 或 X 上找到我们。

致谢

Pulpie 直接建立在 MinerU-HTML 和 Dripper 团队（Ma 等人，2025）的工作之上。他们的 simplify_html 预处理、块级标注方案以及 WebMainBench 基准测试构成了本工作的基础。我们还使用他们的 Dripper 0.6B 模型来交叉验证我们的训练标签。我们非常感谢他们开源了工具和数据。

参考文献

[1] Ma 等人. "AICC: Parse HTML Finer, Make Models Better — A 7.3T AI-Ready Corpus Built by a Model-Based HTML Parser." arXiv:2511.16397 (2025).

[2] Boizard 等人. "EuroBERT: Scaling Multilingual Encoders for European Languages." arXiv:2503.05500 (2025).

[3] Hinton 等人. "Distilling the Knowledge in a Neural Network." arXiv:1503.02531 (2015).

[4] Raffel 等人. "Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer." JMLR 2020.

[5] Penedo 等人. "The RefinedWeb Dataset for Falcon LLM: Outperforming Curated Corpora with Web Data Only." NeurIPS 2023.

[6] Penedo 等人. "The FineWeb Datasets: Decanting the Web for the Finest Text Data at Scale." arXiv:2406.17557 (2024).

Li 等人。“DataComp-LM：寻找语言模型下一代训练集。”NeurIPS 2024。

Soldaini 等人。“Dolma：用于语言模型预训练研究的三万亿个 token 开放语料库。”ACL 2024。

Barbaresi。“Trafilatura：一个用于文本发现与提取的网络爬取库及命令行工具。”ACL/IJCNLP 2021。

Kohlschütter 等人。“利用浅层文本特征的模板检测。”WSDM 2010。

Pomikálek。“从网络语料库中移除模板与重复内容。”博士论文，马萨里克大学，2011。

Bevendorff 等人。“网络内容提取算法的实证比较。”SIGIR 2023。

Shi 等人。“大语言模型容易受到不相关上下文的干扰。”ICML 2023。

引用本篇笔记

@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}
}

继续阅读

2026 年 2 月｜工程

Chonkie LlamaIndex 集成

Read →

2026 年 1 月｜工程

你想切分得极快吗？

Read →
