Training a 4B model to produce 81% faster query plans than Postgres
3 hours ago
- 查询优化器众所周知难以处理,连接排序是NP难问题,即使经过数十年的研究,仍可能导致次优执行计划。
- 目标是训练一个小型语言模型(4B参数)生成pg_hint_plan提示,使其产生的PostgreSQL查询计划比默认优化器更快。
- 训练流程采用从GPT-6 Astra轨迹中进行离策略蒸馏用于监督微调(SFT),随后使用自定义奖励进行智能体强化学习(GRPO)。
- 通过将shared_buffers调整为2GB并使用三轮交错中位数比较(5%的平局区间)来减轻查询执行时间中的测量噪声。
- 最终的4B模型在113个连接密集型JOB查询上实现了1.81倍的几何平均加速和44.7%的总延迟降低,优于PostgreSQL的默认计划。
- 该项目表明,小型开放权重模型可以通过强化学习有效进行小众领域任务的后训练,总成本约为1200美元。
- 关键基础设施包括一个租用的2x H100节点用于训练/推理,以及四个通过Tailscale连接的本地PostgreSQL容器用于测量。
- 该模型学会了构建有效的连接树并使用qo-agent框架,从99/113个查询中零有效候选方案提升至101/113个查询成功生成执行计划。