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

Hacker News 热门(buzzing.cc 中文翻译)·2026-07-08 09:33·46天前·snyy
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开源。

Hacker News 热门(buzzing.cc 中文翻译)
精选
75AI 编辑部评分,满分 100

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

2026-07-08 09:33· 46天前· snyy
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 以二十分之一的成本追平 SOTA 质量,而且开箱即用,是今年数据管线里最值得换的组件之一。

正文 · AI 翻译
Pulpie: Pareto-Optimal Models for Cleaning the Web

研究 · 实地笔记

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
选定 0.862 Pulpie Small
成本 每 10 亿页面 7900 美元

剥离原始 HTML

完整流程分四个阶段运行:

  1. 简化 HTML。移除脚本、样式表及其他格式噪声。为每个块标记唯一 ID。
  2. 对块进行分块。将块拆分、进行 token 化,并打包成最多 8192 个 token 的块,以便每个块都能在单次模型处理中适配。约 80% 的页面可放入单个块中。
  3. 分类。运行一次前向传播。Pulpie 将每个块标记为内容或样板文件。
  4. 返回。将保留的块以 HTML 形式返回,或将其转换为 Markdown。

训练

训练 Pulpie 需要一个包含大量 HTML 页面及其块级标签的数据集。由于不存在这样的公开数据集,我们自行构建了一个。

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

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

训练教师模型

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

设置数值
学习率2e-5
有效批量大小8
损失函数类别加权交叉熵
硬件4 块 A100

类别权重根据 28.6% 的内容比例进行反向设置,以应对不平衡问题。

该教师模型在 WebMainBench 英文测试集上取得了 0.873 的 ROUGE-5 F1 分数。拥有 21 亿参数,它虽然准确但运行成本高昂,因此我们将其蒸馏为更小的模型。

知识传授

为了更适配生产环境,我们将这个 21 亿参数的教师模型蒸馏为两个更小的模型:

  • Pulpie Orange Base,一个 610M 参数的编码器。
  • Pulpie Orange Small,一个 210M 参数的编码器。

两个学生模型都按照 Hinton 等人(2015)的方法向教师模型学习。教师模型经过软化的输出分布通过 KL 散度损失(权重为 0.7)提供了大部分信号,硬标签交叉熵损失(权重为 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 参数的模型与教师模型的差距仍在 1 个 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
成本 每 10 亿页 $7.9K

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 小时数 每 10 亿页 20,276

10 亿页的 L4 成本,按 $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

10 亿页的 A100 成本,按 $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|> 块标记架构,并共享同一个 tokenizer:

名称Hugging Face参数量ROUGE-5 F1备注
Orange Smallfeyninc/pulpie-orange-small-v12.1 亿0.862推荐
Orange Basefeyninc/pulpie-orange-base-v16.1 亿0.863从 Large 蒸馏而来
Orange Largefeyninc/pulpie-orange-large-v121 亿0.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).

[7]

Li 等人。"DataComp-LM: In Search of the Next Generation of Training Sets for Language Models."

NeurIPS

2024.

[8]

Soldaini 等人著《Dolma:一个用于语言模型预训练研究的三万亿 token 开放语料库》。

ACL

2024 年。

[9]

Barbaresi 著《Trafilatura:用于文本发现与提取的网络爬取库及命令行工具》。

ACL/IJCNLP

2021 年。

[10]

Kohlschütter 等人著《基于浅层文本特征的模板检测》。

WSDM

2010 年。

[11]

Pomikálek 著《从网络语料库中去除模板与重复内容》。

博士论文,马萨里克大学

,2011 年。

[12]

Bevendorff 等人著《网络内容提取算法的实证比较》。

SIGIR

2023 年。

[13]

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

来源:Hacker News 热门(buzzing.cc 中文翻译)· usefeyn.com