微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 StructEval: 全面评测大型语言模型生成结构化输出的能力

StructEval: 全面评测大型语言模型生成结构化输出的能力

2025-05-30 09:45
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2025-05-30 09:45 科技行者

StructEval:大语言模型结构化输出能力的全面基准测试

这项由加拿大滑铁卢大学、多伦多大学、香港科技大学等多家机构的研究团队联合开展的研究发表于2025年5月26日的arXiv预印本平台,论文标题为"StructEval: Benchmarking LLMs' Capabilities to Generate Structural Outputs",由Jialin Yang、Dongfu Jiang等研究者共同完成。有兴趣深入了解的读者可以通过https://tiger-ai-lab.github.io/StructEval/访问该研究的完整内容。

一、为什么我们需要研究大语言模型的结构化输出能力?

想象一下,你正在使用一个AI助手帮你搭建一个简单的网站。你描述了你想要的设计,包括标题、导航栏和联系表单等细节。然而,当AI助手生成代码时,你发现网页完全无法正常显示——要么是因为HTML标签没有正确闭合,要么是因为CSS样式结构混乱。这不仅令人沮丧,还会严重影响你的工作效率。

随着大型语言模型(LLMs)如GPT-4o、OpenAI o1/o3和Google的Gemini等在软件开发工作流程中的深度整合,它们生成结构化输出的能力变得至关重要。所谓结构化输出,就像是为信息提供一个规范的"容器",要求内容不仅意思正确,还必须遵循特定的格式规则。就像烹饪中的食谱必须清晰标注配料、步骤和时间一样,结构化输出也有其严格的"语法"要求。

现实中,结构化输出在多种场景中至关重要:软件开发中的代码生成、数据管道中的JSON/YAML格式转换、用户界面设计中的HTML/React代码生成,以及科学出版中的LaTeX文档编写等。如果这些格式出错,就像食谱中步骤顺序混乱一样,可能导致整个系统无法运行。

然而,现有的评测基准主要关注模型的语义质量或推理能力,很少专门评估模型在生成结构化输出方面的表现。虽然已有一些尝试评估结构化输出的基准测试,但它们往往只针对特定类型的输出(如代码生成)或仅限于文本结构(如JSON、YAML),缺乏全面性。

研究团队指出,构建一个全面的结构化输出评测基准面临三大挑战:

首先是数据收集的挑战。收集多样化的结构化任务和相应的示例需要跨多种格式的专业知识,而高质量的标注需要大量的努力和专业知识。

其次是评估指标的复杂性。为文本结构(如JSON、YAML)和可视化输出(如HTML、SVG)设计统一的评估标准非常困难,因为它们需要不同的方法来评估结构正确性和视觉保真度。

最后是技术实现的障碍。建立一个能够支持多种渲染环境的执行和评估框架,需要整合多种语言解释器和可视化工具。

针对这些挑战,研究团队推出了STRUCTEVAL,一个全面的基准测试,系统评估大语言模型生成高度结构化输出的能力。

二、STRUCTEVAL:结构化输出评估的全景图

STRUCTEVAL基准测试就像是一个综合性的驾驶考试,它不仅测试车辆的基本性能,还会评估在各种道路条件和天气环境下的表现。这个基准涵盖了18种不同的结构化格式,共44种任务类型,总计2,035个测试样例。

这个基准测试分为两大类:StructEval-T和StructEval-V。

StructEval-T专注于评估模型生成不需要渲染的纯文本结构化输出的能力,包括JSON、XML、YAML、Markdown、CSV和TOML等格式。这些格式就像是各种不同的数据"容器",必须按照各自的语法规则正确组织信息。

而StructEval-V则评估模型生成可视化渲染代码的能力,包括HTML、React、Matplotlib、Canvas、LaTeX、SVG和Mermaid等格式。这些输出不仅要求代码结构正确,还需要能够正确渲染出符合要求的视觉效果,就像建筑师不仅需要画出正确的设计图纸,还要确保按图施工后的建筑物外观和功能都符合要求。

每个样例又可以分为两种任务类型:生成任务和转换任务。

生成任务要求模型基于自然语言描述生成结构化输出。这就像是根据客户的口头需求,设计出详细的建筑图纸。

转换任务则要求模型在不同的结构化格式之间进行转换,例如将JSON转换为YAML,或者将HTML转换为React。这类似于将一种建筑设计图转换为另一种表示方式,同时保持原设计的所有细节和特征。

为了确保评估的全面性和准确性,每个样例平均包含14.7个关键词和8.5个视觉问答对。关键词用于检验输出中是否包含必要的结构元素,而视觉问答对则用于验证渲染后的视觉输出是否符合预期。

研究团队精心设计了一个多阶段的标注流程,确保基准测试的质量和多样性:

首先是任务设计阶段,研究人员确定了覆盖文本和可视化格式的广泛结构生成和转换任务。

然后是查询和指标生成阶段,研究团队利用大型语言模型合成初始样例池,每个样例包括任务查询和相关评估指标。

最后是专家审查阶段,人类标注者进行两轮审查,验证和优化生成的内容,以确保任务的清晰度、完整性和可评估性。

整个标注过程使用LabelStudio进行,这是一个开源的协作标注工具。

三、如何评估结构化输出的质量?

想象一下你在评价一道复杂的甜点。你不仅要检查它是否按照食谱正确完成(语法正确性),还要确保包含了所有必要的成分(关键词匹配),最终得到的甜点看起来和尝起来都符合预期(视觉效果)。STRUCTEVAL的评估方法也遵循类似的多维度评价框架。

评估过程首先要求大语言模型根据给定的问题生成结构化输出,这些输出必须在"<|BEGIN_CODE|>"和"<|END_CODE|>"标记之间,以便系统正确解析。对于StructEval-V中的任务,解析后的输出还会被送入相应的渲染引擎,生成视觉输出。然后,系统通过三个核心指标来评估输出的质量:

语法得分(Syntax Score)用于验证生成输出的结构正确性。对于文本格式如JSON、YAML和CSV,系统使用特定的Python解析器进行解析。对于可执行的视觉格式如HTML、LaTeX或SVG,代码会通过无头渲染器进行渲染,以确定是否能成功执行。如果输出在语法上有效或成功渲染,得分为1,否则为0。

关键词匹配得分(Keyword Matching Score)评估生成的输出是否包含所需的结构元素。系统会检查预期关键词集K={k1,...,k|K|}是否在模型输出中出现。

对于StructEval-T的任务(如JSON或XML),关键词匹配是通过点路径引用对字段名和值进行的,以考虑嵌套层次。例如,对于JSON,"planet.moons[0].name"这样的路径会检查planet对象下的moons数组的第一个元素是否有name字段。系统支持多种路径格式,包括文字键访问、带索引的嵌套列表、列表中的通配符、反引号引用等。

对于StructEval-V的任务(如HTML和Matplotlib),系统会简单检测标注的关键词是否出现在结构化输出中。

视觉问答得分(VQA Score)专门用于StructEval-V子集中的任务,评估输出在视觉上是否符合预期。在渲染输出后,研究团队使用GPT-4.1-mini作为视觉语言模型,回答一系列视觉问题Qv={(qv1,av1),...,(qv|Qv|,av|Qv|)}。系统会给模型提供问题和答案,要求判断这个问答对是否与渲染图像匹配。VQA得分计算为正确回答问题的比例。

最终的任务得分是这些指标的加权组合,权重根据任务是否可渲染而调整。对于StructEval-T任务,最终得分计算公式为:s = 0.2 · ss + 0.8 · sk,其中ss是语法得分,sk是关键词匹配得分。

对于StructEval-V任务,最终得分计算公式为:s = 0.2 · ss + 0.1 · sk + 0.7 · sv,其中sv是VQA得分。

这种评估框架提供了对模型在结构化数据生成和视觉代码合成任务中性能的统一、细粒度视图,支持跨模态的深入洞察。

四、大语言模型在结构化输出任务上表现如何?

研究团队对多种主流的开源和商业大语言模型进行了全面评测,包括开源模型Meta-Llama-3-8B-Instruct、Phi-3-mini-128k-instruct、Phi-4-mini-instruct、Qwen2.5-7B-Instruct和Qwen3-4B,以及商业模型Gemini-1.5-pro、Gemini-2.0-flash、GPT-4.1-mini、GPT-4o、GPT-4o-mini和o1-mini。所有评测都在零样本设置下进行,使用一致的提示和参数。

整体结果显示,即使是最先进的模型在生成结构化输出方面也存在显著差距。GPT-4o在所有12个模型中取得了最高的平均得分76.02%。而最佳的开源模型Qwen3-4B的得分为67.04%,落后GPT-4o约10个百分点。

最低性能的模型是phi-3-mini-128k-instruct,平均得分仅为40.79%。虽然人们可能认为这与其相对较小的参数规模(38亿参数)有关,但模型大小并不能完全解释其表现不佳的原因。例如,phi-3-mini的表现甚至不如参数规模相似的phi-4-mini-instruct。

错误分析揭示了phi-3-mini-128k-instruct的两个关键失败模式。首先,在TOML到YAML的转换任务中,该模型经常产生格式错误的闭合标签,输出"|<|END_CODE|>"而非正确的"<|END_CODE|>",这显著降低了其得分。其次,在CSV到JSON的转换任务中,模型未能捕捉CSV头部中指定的层次关系(如父子关系),导致结构不正确的JSON输出。这些在StructEval-T转换任务中反复出现的结构错误大大影响了该模型的总体表现。

对比开源模型和商业模型,研究结果显示商业模型的得分始终高于开源模型,这与商业模型通过规模定律所获得的远大于开源模型的参数规模是一致的。商业模型在StructEval-T生成任务上超过开源模型的幅度最大,而在StructEval-V生成任务上的性能差距最小。

在生成任务和转换任务的比较中,总体趋势表明,模型在转换任务上的表现优于生成任务。然而,在StructEval-T设置中存在一个例外:商业模型在生成任务上的表现往往优于转换任务,而开源模型则相反,在转换任务上取得更高的得分。

在温度设置为1的条件下,商业模型在StructEval-T生成任务上平均得分为75.78%。相比之下,开源模型在TOML格式的相同任务上平均得分仅为8.58%。这种TOML生成性能的显著差距部分解释了为什么商业模型在StructEval-T生成任务上整体表现更好。但是,差距并不仅限于TOML——商业模型在StructEval-T内的其他四种生成格式上也领先。

在StructEval-V设置中,商业模型在涉及复杂视觉格式(如Mermaid和TikZ)的生成任务上明显优于开源对手。这些任务需要高级的视觉推理能力,这在多模态商业LLMs如GPT-4o和GPT-4o-mini中更为普遍。

同时,研究发现几项任务在生成和转换类型中都已接近饱和,大多数模型的得分超过90%。这包括常见格式的生成任务,如JSON、HTML、CSV、Markdown和YAML,以及转换任务,如YAML到JSON、React到HTML、TOML到JSON和Markdown到HTML。这些结果表明,LLMs已经掌握了许多结构上直接的格式转换。

然而,仍有几个具有挑战性的任务是所有模型都明显struggle的地方,包括生成任务如Text→TOML、Text→SVG、Text→Mermaid和Text→Vega,以及转换任务如YAML→XML、CSV→YAML、Matplotlib→TikZ和Markdown→Angular。闭源和开源模型在这些具有挑战性的子任务上的表现差距甚至更大,表明专有模型在处理更复杂的结构表示和转换逻辑方面可能具有优势。

五、研究结论与未来展望

STRUCTEVAL基准测试揭示了当前大语言模型在生成结构化输出方面的能力和局限性。即使是最先进的模型如GPT-4o,其平均得分也仅为76.02%,这表明在结构化输出生成方面还有很大的提升空间。

研究发现,生成任务通常比转换任务更具挑战性,而生成能够渲染正确视觉内容的代码比生成纯文本结构更困难。任务难度在不同格式之间差异很大:某些任务已被所有LLMs有效解决,得分超过0.95(如Text→Markdown和Text→HTML),而其他任务仍然特别具有挑战性,所有模型得分都低于0.5(包括Text→Mermaid和Matplotlib→TikZ)。

此外,开源模型与商业模型之间存在明显的性能差距,最好的开源模型(如Qwen3-4B)落后于顶级商业模型约10个百分点。这表明,尽管开源社区取得了显著进展,但在处理结构化输出的精确控制方面仍有提升空间。

这项研究为未来的模型开发提供了有价值的指导。研究者建议,未来的语言模型应该更加注重对不同结构化格式的理解和生成能力,特别是对于那些目前表现较弱的格式,如TOML、Mermaid和TikZ。具体来说,可以考虑通过以下方式改进模型:

1. 增强模型在特定格式上的训练数据,尤其是那些相对不常见但在实践中非常有用的格式。

2. 开发针对结构化输出的专门评估方法,帮助更精确地理解模型的局限性。

3. 设计能够同时处理文本内容和结构格式的训练技术,提高模型在维持结构完整性的同时生成语义正确内容的能力。

4. 探索混合架构,结合语言模型的灵活性和特定领域解析器的精确性,为生成高质量结构化输出提供新解决方案。

通过这项系统分析,研究团队旨在推动结构化输出生成能力的进步,这对于语言模型在现实世界应用中越来越关键。随着大语言模型继续融入各种软件开发和数据处理工作流程,提高它们在结构化输出方面的能力将对提升用户体验和工作效率产生重大影响。

总的来说,STRUCTEVAL基准测试不仅提供了当前模型能力的快照,还为未来的研究和开发指明了方向,有助于构建能够更精确地生成各种结构化输出的下一代语言模型。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-