← 返回
AI技术

金融报告结构化数据抽取的最佳开源模型

✍️ zhirenhun 📅 2026/10/13 👁 236 阅读 ⏱ 22 分钟
金融报告结构化数据抽取的最佳开源模型

快速回答: 在可商用且单个团队能够部署的开放权重模型中,Qwen3.8-27B 是最强的通用抽取器,而 NuExtract3 是最佳的专用抽取器。Qwen3.5-4B 和 Qwen3-4B-Instruct-2507 以低成本覆盖稳定且高吞吐的模式,而 GLiNER2 和 NuNER_Zero 在 CPU 上完成实体标注。SIE 为您投入生产的文档模型提供服务,无论是云端还是您的集群,仅需一个 API。

分段表检查无误。共有四个经营分段,每个分段包含一个收入数字、一个期间和一个单位,且 schema 验证器通过了每一行。随后有人将这些分段相加,得到的数字大于合并后的收入。模型将“Intersegment eliminations”这一行读作了正数,导致抵消项被加回而不是减去。JSON 验证器是金融领域最宽松的审查者。它们只检查这是否是一个数字,不关心其符号、规模或来源行。

此排名涵盖允许商业使用的开放权重模型,将报告文本或页面图像转换为收入、期间、单位、规模和分段等字段。它假设文本已经可用:对于 EDGAR 申报,这意味着文档自身的 HTML;仅对仅有 PDF 的来源需要 OCR,而伴随的开放 OCR 模型列表已经覆盖了这一点。托管的前沿模型未参与排名,但会在列表后得到直接比较。

在介绍模型之前,有一点需要说明。对于美国申报人的面表报表,您可能根本不需要模型。SEC 的 XBRL API 以基本单位返回带标签的事实。这些 API 未覆盖的内容正是模型发挥作用的地方:MD&A 和 EX-99.1 收益发布中的未标表格、仅以 PDF 形式存在的非美国年度报告,以及下文讨论的分段细节。

1. Qwen3.8-27B

模型卡: Qwen/Qwen3.8-27B 在 Hugging Face 上

Qwen3.8-27B 是 Qwen 提供的一个具有原生视觉-语言输入的 27.8B 密集模型,采用 Apache-2.0 许可证,因此允许商业使用。它能直接读取页面图像,因此在布局允许的情况下,PDF 页面可以直接输入,无需额外的 OCR 步骤。

在证据和能力两方面综合考虑,它排名第一。其模型卡显示在 OmniDocBench v1.5 上得分 91.1,这是此处生成模型中最强的文档解析表现。它能在一次请求中同时处理文本和图像,在服务层支持的情况下可以根据 JSON-schema 语法生成结构化输出,且其原生上下文长度为 262,144 个 token,可扩展至一百万,足以容纳完整的 10-K 节并为 schema 预留空间。思考模式默认开启。进行抽取时,可按请求关闭它;否则每个字段都会为您未请求的推理买单。

限制在于模型大小。自托管 27B 模型需要较大的 GPU,且卡片报告没有金融特定的抽取得分。

部署形态:开放权重。在 SIE Cloud 上定价为 Qwen/Qwen3.8-27B-FP8;自托管目录保存了上一代 Qwen3.6-27B,同样采用 Apache-2.0 许可,参数量为 27.8B。它适用于需要判断的 schema:分段表格、带脚注调整,以及同时读取两行的字段。

2. NuExtract3

模型卡片: numind/NuExtract3 在 Hugging Face 上

NuExtract3 来自 NuMind,专为一项任务而设计:从文档填充 JSON 模板。它是 Qwen3.5-4B 的 4B 参数微调版,采用 Apache-2.0 许可发布,因此允许商业使用。它能读取文本和图像,处理多语言文档,并在其卡片给出的 vLLM 配置下运行,上下文长度为 131,072 个 token。NuMind 还发布了量化版本,包括 FP8 和 GGUF。

模板语言是它的优势。你描述字段,当值缺失时,模型返回 null 或空数组。在金融领域这一点尤为重要:对缺失分段数字保持 abstention 的模型比编造看似合理数字的模型更值得信赖。它还提供推理和非推理两种模式,并且能够把页面转换为带表格的 Markdown(以 HTML 形式呈现)。

这些数字来自 NuMind。在其内部基准测试中,约 600 份文档(包括发票、电影海报和平面图)中,卡片显示 NuExtract3 得分 0.651,而其基础模型 Qwen3.5-4B 得分 0.417。在 ExtractBench 上,卡片报告的平均分为 82.35。这两套数据均未说明覆盖金融文件。

部署形态:自行提供开放权重,例如使用 vLLM,正如卡片所示。它适合希望使用能够 abstention(即不给出值)进行模板抽取的团队,该模型规模适合单卡 GPU。

3. Qwen3.5-4B

模型卡片: Qwen/Qwen3.5-4B 在 Hugging Face 上

Qwen3.5-4B 是一个小型生成模型,其权重包含 4.66B 参数,采用 Apache-2.0 许可,因此允许商业使用。它共享该家族的 262,144-token 上下文,并且和 Qwen3.8 一样,默认情况下会进行思考,除非你将其关闭。

它在此的定位在于成本。每期从同一报告节中抽取大约十二个字段时,小 GPU 上的 4B 模型往往足够;规模效应下,节省成本成为测试它的理由。卡片还报告了 OmniDocBench v1.5 的结果;排名在此取决于规模和成本。它是否准确足够仅由你的评估集决定,因此应在你覆盖的最难处理文件上测试,而不是整洁文件。

部署形态:开放权重,位于 SIE 自托管目录中,可在本地运行。在 SIE Cloud 上,付费抽取运行在 Qwen3.8-27B (FP8)。4B 版本可自托管或本地运行。它适用于高吞吐量、稳定的模式。

4. Qwen3-4B-Instruct-2507

模型卡: Qwen/Qwen3-4B-Instruct-2507 在 Hugging Face

Qwen3-4B-Instruct-2507 是一款较早的 4B 版本,采用 Apache-2.0 许可证,因此允许商业使用。其模型卡清楚地说明了关键区别:它仅支持非思考模式。原生上下文长度为 262,144 个 token。

这使其成为可预期的选择。由于没有思考 token,每个字段的延迟保持稳定,这很适合对响应时间有预算的抽取服务,且输出长度更易控制。它比 Qwen3.5-4B 更旧,因此可以预期更新的模型在更难的页面上会略胜一筹。在同一评估集上同时运行两者成本低,能够告诉你这种差异对你的模式是否重要。

部署形态:开放权重,位于 SIE 自托管目录中,可在本地运行。它适合那些更看重延迟一致性而非最后一点准确率的团队。

5. GLiNER2 Large

模型卡: fastino/gliner2-large-v1 在 Hugging Face

GLiNER2 来自 Fastino,是一个编码器模型,其大权重包含 486M 参数,采用 Apache-2.0 许可证,因此允许商业使用。其模型卡描述了在一次前向传递中完成实体识别、分类、结构化抽取和关系抽取,并将其定位为 CPU 首选。

速度是其优势。对于那些属于命名实体而非计算值的字段,如公司名称、审计师、段落标签或财政年度结束,基于模式的编码器既快速又廉价。它不会生成文本,也不会在表格之间进行推理,因此无法处理需要与两行数据核对的小计。

部署形态:可在 CPU 上运行的开放权重;位于 SIE 自托管目录中;在 SIE Cloud 上按每百万输入 token 0.186 美元计费(据 2026-09-30 列出)。它适合作为流水线的第一步,在生成模型处理数字之前,对实体进行标注并进行页面路由。

6. NuNER_Zero

模型卡: numind/NuNER_Zero 在 Hugging Face

NuNER_Zero 来自 NuMind,是一个 449M 零射击实体标注器,采用 MIT 许可证,因此允许商业使用。你将标签作为输入传递,它会找出对应的跨度。

它排名最后,因为工作量最小。它仅给 span 打标签,除此之外什么也不做:没有 schema,也不懂数字的意思。对公司、审计师或日期这类最简单的字段,这就够了。如此小的模型在每份文档上运行成本很低。它的卡片自 2025 年 2 月以来未更新。

部署形态:开放权重;在 SIE 目录中用于自托管或本地使用,以及在 SIE Cloud 上。它适合在进行更重的抽取之前进行轻量实体遍历。

这些与托管 API 的比较

托管前沿模型是与上述开放权重分开的服务路径。OpenAI Structured Outputs 能够保证响应符合提供的 JSON schema,Gemini 和 Claude 也提供受 schema 约束的输出。提示词缓存和批量定价大约是标价的一半,降低了稳定提示词的成本。

OpenAI gpt-6.1-sol 的价格是每百万输入 token 2 美元,每百万输出 token 10 美元;gpt-6-astra 为每百万输入 token 10 美元,每百万输出 token 50 美元。OpenAI 还根据 Apache-2.0 许可证提供开放权重的 gpt-oss 模型,但前沿 GPT 系列仅提供托管版。Google Gemini 原生读取 PDF,将页面视为图像,包括表格和图表,适用于最多 1,000 页的文档。Gemini 3.8 Flash 在促销价格下为每百万输入 token 0.75 美元,每百万输出 token 3.75 美元,有效期至 2026-12-31;Gemini 3.1 Pro Preview 为每百万输入 token 2 美元,每百万输出 token 12 美元。Anthropic Claude Sonnet 5.5 的价格是每百万输入 token 2 美元,每百万输出 token 10 美元,标准价格下提供一百万 token 的上下文窗口。

成本是结构性的。文档会发送到提供方的服务。存在地区数据驻留和零保留条款;Azure OpenAI、Vertex AI 和 Bedrock 运行在您的云租户内,但模型不会在您自己的集群中运行。按 token 计费的成本也会随使用量增长。开放模型可以在 SIE、Cloud 或您自己的集群上运行,使用您固定的权重。

无论来自哪个提供方,schema 遵守仅能保证形状。在开头的示例中,消除行本来会通过严格的 JSON-schema 输出,因为错误是一个符号,而不是类型。

如何运行这些模型

Superlinked SIE 是任务特定模型的推理层。它既服务于你投入生产的文档模型,也满足报告流水线对 OCR 模型和嵌入模型的需求。它有三种运行模式:在 SIE Cloud 上托管,按使用量付费,无需自行运行 GPU;在您自己的 VPC 或 Kubernetes 集群中自托管,使用相同的 Apache 2.0 引擎;以及本地开发模式。

在 SIE Cloud 上,按 2026-09-30 定价,Qwen3.8-27B (FP8) 支持文档字段抽取和结构化输出,输入、输出均为每百万 token 0.72 美元;GLiNER2 Large 为每百万输入 token 0.186 美元;NuNER_Zero 亦可用。Qwen3.6-27B、Qwen3.5-4B 和 Qwen3-4B-Instruct-2507 位于 模型目录 中,供自托管和本地使用。SDK 的 extract 调用接受模型 ID 和标签列表,文档还涵盖 Qwen 模型的 generate 方法,因而在同一评估集上比较两个候选模型无需额外服务堆栈。

诚实观点:SIE 在 SIE Cloud 或您自己的集群中,通过单一 API 服务您投入生产的文档模型。OCR、抽取、嵌入和重排共享该客户端。在 SIE Cloud 上,Qwen3.8-27B (FP8) 支持字段抽取和结构化输出,GLiNER2 和 NuNER_Zero 亦在其旁,而 Superlinked 负责运行 GPU。在您自己的 GPU 上自托管相同的 Apache 2.0 引擎,目录中的开放权重(包括 Qwen 抽取器)在相同模型 ID 下运行。您只需将一个 SDK 指向金标数据集,切换模型 ID,即可保持 schema、标签和服务路径不变。

我们是如何对它们进行排名的

没有基准测试决定此顺序,因为所列模型均未公布财报抽取评分。排名依据四个标准:模型能处理的字段范围,从实体标签到计算得到的数字;是否适合 schema 绑定的输出(包括弃预);出版方的证据,如 OmniDocBench v1.5 或模板抽取得分,视为有据可依的声明;以及运行的规模和成本。许可证是门槛而非评分:每个条目均允许商业使用。模型的运行位置在每个条目的部署行中有说明,但未参与排名。

常见问题

当 companyfacts 缺少分部收入时,我们如何获取?

companyfacts、companyconcept 和 frames 只包含使用非自定义分类法且适用于整个申报实体的事实,因而排除了段落及其他维度事实,也排除了公司扩展标签。应从申报文件自身的内联 XBRL 中读取:每个 ix:nonFraction 指向一个 contextRef,该 context 携带轴和成员,例如 StatementBusinessSegmentsAxis 以及段落成员。按轴和成员提取,将消除成员单独保留并带上其符号,验证段落加上消除等于合并事实。

我们如何避免千与百万的尺度误差?

将 scale 作为一个字段。提取单位和尺度说明(如 "in thousands"、"in millions"),作为每个数字旁边的值,然后在代码中归一化,永不在提示词中进行。在内联 XBRL 中,尺度是标记:显示为 "78,678" 的数字在其 ix:nonFraction 元素上带有 scale="6",表示 78,678 百万;decimals(例如 -6)给出舍入精度,匹配时这就是合适的容差。JSON API 返回不带 scale 属性的基本单位,因此应与之比较。

我们应该微调还是使用提示词?

首先使用提示词。在具有类型化 schema、少量示例且思考关闭的情况下,上述模型在稳定部分经常能够通过标准。你也能发现它们失效的地方。只有在评估显示出无法通过提示词消除的持续错误时才进行微调。例如模型反复误读的申报布局。

从哪里开始

先从 schema 开始,而不是模型。需要判断的字段,测试 Qwen3.8-27B;需要严格模板并带有弃用的字段,使用 NuExtract3;稳定的高容量部分,使用 Qwen3.5-4B;实体字段,使用 GLiNER2。SIE 在 Cloud 或您的集群后面通过单一 API 提供您投入生产的文档模型。SIE Cloud 页面 列出了付费模型以及您可以指向自身报告的首次请求。

——

广告 广告
🧑‍💻

zhirenhun

一个热爱技术的程序员,喜欢分享前沿AI知识和开发经验。

opensource machinelearning ai llm