← 返回信息流
技术博客arXiv cs.CL·3 小时前

策略条件约束解码实现Text-to-SQL列级访问控制

原标题:Policy-Conditioned Constrained Decoding for Column-Level Access Control in Text-to-SQL

速览

Text-to-SQL在跨信任边界部署时需平衡策略合规、答案覆盖和成本。现有方法仅基于提及列随机拒绝,忽视使用方式。本文形式化列使用策略(输出、过滤、聚合),通过语法生成对齐各角色。PCC-SQL系统在单次解码中用每token logits掩码确定性消除违规。在三个基准上实现0%泄露率,覆盖率最高88.7%,仅增加10% token。

AI 深度解读

背景

Text-to-SQL 系统正越来越多地部署在数据提供方与用户之间的信任边界上。这类部署必须平衡三个相互冲突的要求:策略合规(policy compliance)、答案覆盖(answer coverage)和成本约束(bounded cost)。现有的方法通常根据查询提及的列来决定是否拒绝回答,并以随机方式执行这种拒绝。然而,一个查询是否合规,不仅取决于它使用了哪些列,还取决于这些列如何被使用;并且随机执行无法确定性排除违规行为。

核心内容

作者将列级访问控制的需求形式化为一种基于语义使用方式的列使用策略(column-use policy),具体包含三种语义角色:输出(output)、过滤条件(filter condition)和聚合参数(aggregation argument)。通过将每个语义角色与解码器跟踪的语法产生式(grammar productions)对齐,将策略集成到解码过程中。

由此构建的系统称为 PCC-SQL。它在每个 token 上应用一个 logits 掩码(logits mask),在一个解码过程中确定性消除支持 SQL 片段上的单查询列使用违规。在三个基准测试和三个开源模型上,PCC-SQL 在 Spider-CU 基准上实现了 0% 的泄漏率(Leakage Rate)和最高 88.7% 的覆盖率(Coverage),同时 token 开销控制在直接提示(direct prompting)的 +10% 以内。此外,还通过执行准确率(execution accuracy)评估了语义对齐效果。

关键要点

  • 列级访问控制应基于列的语义使用方式(输出、过滤条件、聚合参数),而非仅仅关注列名的出现与否。
  • PCC-SQL 通过将每个语义角色与解码器跟踪的语法产生式对齐,形式化了列使用策略。
  • 采用逐 token 的 logits 掩码实现确定性策略合规,而非随机拒绝。
  • 在 Spider-CU 基准上,泄漏率为 0%,覆盖率最高达 88.7%。
  • 额外 token 开销不超过直接提示的 +10%。
  • 在三个基准测试和三个开源模型上进行了评估,并额外通过执行准确率验证语义对齐。

意义与影响

PCC-SQL 提供了一种在单次解码过程中确定性、低成本地强制执行列级访问控制的方法,同时保持了较高的答案覆盖率。它在合规性、覆盖率和成本之间取得了实际可部署的平衡,为 Text-to-SQL 系统在跨信任边界的安全应用中提供了坚实的理论支持和实验验证。该方法无需多次推理或后处理修复,具有较好的实用性和可扩展性。

查看原文 →arxiv.org