写点什么

企业落地 NL2SQL,需要的是「AI-ready Data」和「小模型」

  • 2025-08-29
    北京
  • 本文字数:3389 字

    阅读完需:约 11 分钟

大小:1.66M时长:09:39
企业落地 NL2SQL,需要的是「AI-ready Data」和「小模型」

当 NL2SQL 从 Demo 走向生产,关键不在“更大的模型”,而是“更干净的数据底座 + 更小的专用模型 + 更可控的工程化流程”。


摘要:

  • 先数据、后模型:把元数据、业务语义、权限、样例 SQL 做成“AI-ready Data”,是 NL2SQL 能否可靠落地的第一性问题。

  • 小模型足够用:以 3B–7B 级别的代码 /SQL 友好模型,配合 LoRA 微调 + 语法约束解码 + 执行校验,就能获得很好的效果

  • 落地成本低:相比动辄 100B 参数量以上的全量大模型,小模型的实际落地可能性更大,需要的算力支撑对于企业来说更加容易投入。

  • 评估要换维度Execution Accuracy(执行一致性) 比 Exact Match 更接近真实可用性,应与回放 / 灰度一起形成闭环。

  • 工程化路径:建立“Schema 服务 → 计划器(小模型)→ 安全执行沙箱 → 观测与纠错回路”的最小可行系统(MVP),再逐步引入 AST 约束、检索增强、对齐训练。


1. “大模型 + 开箱即用”常常失灵


  • 业务语义缺席amtdtno 在不同库含义不同;缺少 别名词典、指标口径、实体映射,模型只能基于已有训练资料进行推理。

  • 治理与合规割裂:多租户 / 跨源 JOIN、限流、行列权限、审计等使“能生成 ≠ 能执行”。在真实生产环境业务流程背景来支撑查询,而模型往往无法直接获得这部分含义。

  • 评估口径失真:只看字符串级 Exact Match,忽略“结果等价”与“能否在你的库上跑通”。

  • 成本 / 延迟不可控:把大而全上下文塞给通用大模型,需要对于 prompt 做深度优化,同时过长的上下文还可能导致 Context-Rot 以及 Lost in the middle 的问题出现。


我们实际场景落地过程中发现,没有 AI-ready data,就没有可落地的 NL2SQL。


2. 任务属性决定解法:NL2SQL 更像“受限代码生成 / 语义解析”


  • 输出是形式语言(SQL):语法强约束、词表相对小、可执行、可验证。

  • 输入可结构化:数据库 Schema、主外键、候选列 / 表、样例值都可作为外部信号。

  • 所需推理是“结构性推理”:列 / 表选择、聚合、条件组合、时间窗,而非开放域常识。


这类问题适合通过 结构化约束 + 外部知识接口 来“降维”,而不是单靠更大的通用常识模型“硬顶”。


3. 为什么选小模型:理论支持 + 工程证据


3.1 语法 /AST 约束降低搜索熵


对形式语言施加 语法 /AST 约束解码(如 PICARD/CFG/JSON-Schema/XGrammar 一类),在解码每一步 屏蔽不合法 token,把“自由生成”变为“受限搜索”,显著降低无效 SQL、提升可执行率。


含义:当输出空间可被约束时,小模型 + 约束 = 大增益


3.2 外部结构信息替代“内生常识”


引入 schema linking(表 / 列同义词、主外键、示例值) 与 候选集剪枝,把“隐式知识”外显为“可调用的结构化接口”。


含义:当外部信号充足时,模型无需承载过多通用知识,合适的容量即可。


3.3 规模 - 性能 - 成本的最优点


根据 scaling laws:质量与参数 / 数据 / 算力相关,但在企业场景必须把 推理成本与延迟 纳入目标函数。 这里我们参考了 DeepMind 的理论【Training Compute-Optimal Large Language Models】 ,在更高质量,更加密集的数据集上,参数较小的模型也能够在固定任务上超越大参数量模型。



在 Closed-book question answering 场景上,70B 的 Chinchilla 甚至能够超越 128B 的 GPT-3。



微软的 phi 系列模型也从侧面证实了这一点


含义:在可强约束、可外接结构信息的 NL2SQL 上,最优点通常落在 3B–7B 代码向模型,而不是一味做大。


3.4 工程证据:窄域任务上,代码向小模型常优于通用大模型


  • 预训练偏置:代码 /SQL 语料带来强语法与组合性偏置,天生适配 SQL 生成。

  • 确定性更强:配合保守解码(低温度 / 不采样 /beam 可选)与固定输出前缀,小模型更容易“按模板出活”。

  • 延迟与成本优势:可本地 / 私有化部署,甚至可以做本地化的 A/B 测试 与小模型灰度上线。降低运维难度和部署成本


4. 实践过程


我们在 CSpider/CSpider 衍生数据上,围绕 M-Schema 数据表示约束池数据增强BM25→SIC 两级 Schema Linking 与 小模型 LoRA 微调,打通“从训练到推理”的一致性链路,并在内部集上显著降低结构 / 语义幻觉、提升执行一致性。


4.1 技术架构总览


  • 两步式推理:先做 Schema Linking(筛表 / 列 / 外键),再做 SQL 生成(在精简 schema 上生成)。这样可在大库上显著降维并提升准确率。

  • 小模型路线:以 Qwen2.5-Coder-3B/7B 为基座,LoRA 轻量精调;用 DeepSpeed 做显存 / 吞吐优化。

  • 数据侧增强:以 M-Schema 提供字段类型 / 中文描述 / 主外键 / 真实值样例;引入 约束池 自动注入排序 / 去重 /Top-K/ 窗口等口径。

  • 统一数据底座:整个流程建议构建于 MatrixOne 这类 HTAP 数据库之上。其架构能避免“元数据在交易库、数据在分析库”的割裂状态,从源头整合 Schema、业务数据与日志,为 AI-ready data 提供单一可信源。更进一步,Matrix Intelligence 平台在此基础上,将 Schema、元数据、业务词典与权限等进行统一纳管,形成面向 AI 的数据资产目录,从基础设施层面解决语义缺席问题。


4.2 数据与 Prompt:M-Schema + 约束池


M-Schema 在传统“表 / 列清单”之上,补充 类型、主键、中文释义、真实值示例,显著提升字段语义可读性与模型可对齐性(示例略)。


在训练数据构造上,我们进一步将 字段示例值 抽取注入训练样本;在推理时对不可读字段名做 临时可读映射→后处理映回,实际提高了“表 / 列命中”。


约束池 自动识别查询语义类型(计数 / 聚合 / 多行)并注入 去重、精度、排序、限制 等约束,增强数据多样性与鲁棒性。


这一系列“AI-ready data”的准备工作,从多源异构数据到高质量的 M-Schema,恰好是 MatrixOne Intelligence 这类平台的价值所在。它通过以下能力,将数据准备流程从手工作坊式的脚本开发,升级为可治理、可复用的工程化体系:


统一接入与纳管:通过内置连接器,自动化地从业务库、数据湖、SaaS 应用等数据源同步数据与元数据,形成统一的数据资产视图。


SQL 驱动的数据流:所有清洗、转换、特征构建(如拼接字段、构造 Flag)等步骤,都可以通过标准的 SQL 编排成可调度、可监控的数据工作流(Workflow),保证了过程的透明与可维护性。


向量化辅助质检:平台内建的向量引擎不仅用于下游的语义检索,更能在数据准备阶段发挥关键作用。例如,可以对业务术语、字段注释进行向量化,通过相似度计算辅助发现同义词、识别命名不规范的“影子字段”,或对历史查询日志进行聚类分析,挖掘数据质量的薄弱环节。


训练 / 推理输入统一采用 ChatML 指令格式,并只在 assistant 段计算损失以稳定输出。


4.3 Schema Linking:BM25 粗排 → SIC 精排(两级)


  • BM25 粗排:把“表 + 列 + 注释”拼成文档,对问句做 BM25 打分,取 Top-k 表;毫秒级延迟可支持在线。

  • SIC 精排:加载在域内数据微调过的 Schema Item Classifier(Encoder+ 交互层),对表 / 列逐项相关性打分,产出精简 schema。

  • 结果封装:把精简 schema 序列化回 M-Schema,与问句拼装成 RESDSQL 风格样本;同一流程用于训练与推理,保证 Train-Infer 一致


工程要点:BM25 <5 ms;SIC 批量推理单批可处理数百问句,显存 <2 GB;Prompt 中重复注入问句降低 schema 噪声干扰。


4.4 幻觉抑制与效果


问题刻画:结构 / 语义 / 事实三类幻觉导致执行失败与答案错误,是落地核心风险;其根因包括 先验缺失、数据稀疏、Prompt 不足、采样过随机、训练数值不稳


我们的方案


  • 两级 Linking 从源头压缩搜索空间;

  • 低随机性推理(低温度 / 束搜索);

  • 结合 Executor-Guided 与语法约束(训练时语法惩罚 / 对比学习可选)。


实测收益:结构幻觉率 7.9%→1.3%,语义误配约 -18%;在 Spider-S4 内部集 Execution Accuracy +6.4%


5. Key Results



流程概览:



通过 M-Schema(结构与示例值)约束池(口径与规则)BM25→SIC 两级 Linking 与 小模型 LoRA 精调 + 训练 - 推理一致性,我们在不依赖超大通用模型的前提下,显著压降结构 / 语义幻觉并提升 EX 指标;在企业库与业务小样本上也获得了稳定收益。


引用链接:

Spider:https://arxiv.org/abs/1809.08887

wikiSQL:A Comprehensive Exploration on WikiSQL with Table-Aware Word Contextualization(https://arxiv.org/pdf/1902.01069)

Training Compute-Optimal Large Language Models(https://arxiv.org/pdf/2203.15556)

Textbooks is all you need(https://arxiv.org/pdf/2306.11644)

Qwen2.5-Coder Technical Report(https://arxiv.org/pdf/2409.12186)


2025-08-29 14:567947

评论

发布
暂无评论

以TiDB热点问题来谈Region的调度流程

TiDB 社区干货传送门

实践案例

隐藏esc坑之jbd2进程io占用奇高 系统长期io占用100%

TiDB 社区干货传送门

故障排查/诊断

TiDB-4.0.0-rc-性能测试

TiDB 社区干货传送门

TiUP升级TiFlash重启失败解决方案

TiDB 社区干货传送门

TiDB 与 Flink 联合发布实时数仓最佳实践白皮书

TiDB 社区干货传送门

Flink 最佳实践之使用 Canal 同步 MySQL 数据至 TiDB

TiDB 社区干货传送门

TiDB v5.1 体验: 我用 TiDB 训练了一个机器学习模型

TiDB 社区干货传送门

如何分析和解决 TiDB 4.0 的写热点问题

TiDB 社区干货传送门

TiDB 在小米的落地及云原生探索

TiDB 社区干货传送门

TiDB 多Socket 服务器性能扩展问题分析-续

TiDB 社区干货传送门

性能调优 性能测评

TiDB 在茄子科技的应用实践及演进

TiDB 社区干货传送门

实践案例

TIDB--不容易发现的 lightning tidb-backend 模式导入优化

TiDB 社区干货传送门

迁移 性能调优 TiDB 底层架构 管理与运维 性能测评

记一次使用TiUP半自动升级TiDB集群经验

TiDB 社区干货传送门

版本升级

内容主数据 TiDB 集群写入热点优化实践

TiDB 社区干货传送门

TiDB 在实时分析应用场景下的探索

TiDB 社区干货传送门

记一场DM同步引发的Auto_Increment主键冲突漫谈

TiDB 社区干货传送门

故障排查/诊断

解决方案之:DM relay 处理单元报错

TiDB 社区干货传送门

体验升级至4.0

TiDB 社区干货传送门

TiDB SQL 优化案例几则

TiDB 社区干货传送门

TiDB in Action 开源电子书

TiDB 社区干货传送门

TiDB升级、TiFlash测试及对比ClickHouse

TiDB 社区干货传送门

【理财实践】 开科唯识-互联网理财为什么会选TiDB

TiDB 社区干货传送门

TiDB 在金融场景里面那些不得不说的事

TiDB 社区干货传送门

猜一猜 TiDB 4.0 GA 第一个上线用户花落谁家?有惊喜!

TiDB 社区干货传送门

TiDB 升级到5.1.1 的性能表现

TiDB 社区干货传送门

Tikv节点磁盘耗尽恢复经验

TiDB 社区干货传送门

TiFlash5.0.1与4.0.10 对比测试

TiDB 社区干货传送门

版本测评

insert引发的TiDB hang死血案(案情一)

TiDB 社区干货传送门

故障排查/诊断

【优质技术文章推荐】TiDB for PostgreSQL—牛刀小试

TiDB 社区干货传送门

实践案例

HTAP 会成为数据库的未来吗?

TiDB 社区干货传送门

一栈式 X 规模化 X 多元化:PingCAP 马晓宇谈 TiDB HTAP 演进之路

TiDB 社区干货传送门

企业落地 NL2SQL,需要的是「AI-ready Data」和「小模型」_大数据_矩阵起源_InfoQ精选文章