Learning to Generate Structured Output with Schema Reinforcement Learning

📄 arXiv: 2502.18878v2 📥 PDF

作者: Yaxi Lu, Haolun Li, Xin Cong, Zhong Zhang, Yesai Wu, Yankai Lin, Zhiyuan Liu, Fangming Liu, Maosong Sun

分类: cs.CL

发布日期: 2025-02-26 (更新: 2025-03-06)

备注: 8 pages, 4 figures


💡 一句话要点

提出Schema强化学习,提升大语言模型生成符合JSON Schema结构化输出的能力。

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 结构化输出生成 JSON Schema 强化学习 大语言模型 Schema验证 自然语言处理 数据生成

📋 核心要点

  1. 现有大语言模型在生成符合预定义JSON Schema的结构化输出时,面临有效性和准确性的挑战。
  2. 论文提出Schema强化学习方法,通过细粒度Schema验证器指导模型学习,提升对JSON Schema的理解。
  3. 实验结果表明,该方法显著提高了模型生成有效JSON输出的能力,并在下游任务中取得了更好的性能。

📝 摘要(中文)

本研究调查了大语言模型(LLMs)生成结构化输出的能力,重点是根据给定的schema生成有效的JSON输出。尽管JSON在将语言模型与程序集成方面得到了广泛应用,但对这些能力的全面分析和基准测试仍然缺乏。我们探讨了JSON生成的各个方面,例如结构理解、转义和自然语言描述,以确定如何评估和使LLM能够生成有效的响应。在此基础上,我们提出了包含约4万个不同JSON schema的SchemaBench,以获取和评估模型生成有效JSON的能力。我们发现,最新的LLM仍然难以生成有效的JSON字符串。此外,我们证明了结合强化学习和细粒度的Schema验证器可以进一步增强模型对JSON schema的理解,从而提高性能。我们的模型在生成JSON输出和下游任务方面都表现出显著的改进。

🔬 方法详解

问题定义:论文旨在解决大语言模型(LLMs)在生成符合特定JSON Schema的结构化输出时遇到的困难。现有的LLMs虽然在自然语言生成方面表现出色,但在生成严格符合JSON Schema的输出时,经常出现格式错误、类型不匹配等问题,导致生成的JSON无效,无法直接被程序使用。这限制了LLMs在需要结构化数据的应用场景中的应用。

核心思路:论文的核心思路是利用强化学习(Reinforcement Learning)来指导LLM学习如何生成有效的JSON输出。通过设计一个细粒度的Schema验证器作为奖励函数,模型可以根据生成的JSON与目标Schema的匹配程度获得奖励,从而不断优化生成策略。这种方法能够有效地将JSON Schema的约束信息融入到模型的学习过程中,提高模型生成有效JSON的能力。

技术框架:整体框架包括一个LLM作为生成器,一个细粒度的Schema验证器作为奖励函数,以及一个强化学习算法(例如,策略梯度算法)。LLM接收输入(例如,自然语言描述),生成JSON输出。Schema验证器根据预定义的JSON Schema,对生成的JSON进行验证,并给出奖励信号。强化学习算法根据奖励信号,调整LLM的参数,使其生成更符合Schema的JSON输出。这个过程不断迭代,直到模型能够生成高质量的JSON输出。

关键创新:最重要的技术创新点在于将细粒度的Schema验证器与强化学习相结合。传统的强化学习方法通常使用简单的奖励函数,难以有效地指导模型学习复杂的结构化输出。论文提出的细粒度Schema验证器能够提供更精确的奖励信号,从而更好地指导模型学习JSON Schema的约束信息。此外,SchemaBench数据集的构建也为评估和提升LLM的JSON生成能力提供了重要的资源。

关键设计:关键设计包括:1) 细粒度Schema验证器的设计,需要能够准确地判断生成的JSON是否符合Schema,并给出相应的奖励信号;2) 强化学习算法的选择和参数设置,需要保证模型的学习效率和稳定性;3) 输入的设计,需要能够充分地表达用户的意图,并引导模型生成正确的JSON输出。具体的损失函数和网络结构细节在论文中未明确给出,属于未知信息。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,Schema强化学习方法能够显著提高LLM生成有效JSON的能力。通过与基线模型进行对比,该方法在SchemaBench数据集上取得了显著的性能提升,具体提升幅度未知。这表明该方法能够有效地将JSON Schema的约束信息融入到模型的学习过程中,从而提高模型生成高质量结构化数据的能力。

🎯 应用场景

该研究成果可广泛应用于需要大语言模型生成结构化数据的场景,例如智能助手、API接口生成、数据清洗和转换等。通过提升LLM生成有效JSON的能力,可以简化程序开发流程,提高数据处理效率,并促进LLM在更多领域的应用。未来,该技术有望应用于更复杂的结构化数据生成任务,例如生成符合XML Schema或Protobuf定义的输出。

📄 摘要(原文)

This study investigates the structured generation capabilities of large language models (LLMs), focusing on producing valid JSON outputs against a given schema. Despite the widespread use of JSON in integrating language models with programs, there is a lack of comprehensive analysis and benchmarking of these capabilities. We explore various aspects of JSON generation, such as structure understanding, escaping, and natural language description, to determine how to assess and enable LLMs to generate valid responses. Building upon this, we propose SchemaBench features around 40K different JSON schemas to obtain and assess models' abilities in generating valid JSON. We find that the latest LLMs are still struggling to generate a valid JSON string. Moreover, we demonstrate that incorporating reinforcement learning with a Fine-grained Schema Validator can further enhance models' understanding of JSON schema, leading to improved performance. Our models demonstrate significant improvement in both generating JSON outputs and downstream tasks.