HeadlinesBriefing favicon HeadlinesBriefing.com

4B模型以44.7%击败Postgres查询计划

Hacker News •
×

查询优化器到底有多好?Leis等人于2015年提出了这个问题,10年后又再次提出。尽管经过了十年的研究,他们发现查询优化器仍然有很多不足之处。一个Postgres数据库应该对其表了如指掌,不是吗?这能有多难?事实证明:极其困难。连接排序是一项关键任务,属于NP难问题。但验证查询计划的质量则更容易:好的优化器产生快速的计划,差的优化器产生缓慢的计划。

语言模型擅长输出易于验证的任务。凭借单一维度——执行时间——问题就简化为强化那些能产生更快查询计划的行为。我进行了一项实验:一个小型开放权重模型能否通过监督微调(SFT)和智能体强化学习(RL)进行后训练,从而生成击败Postgres默认计划的Postgres查询计划?

答案是响亮的肯定。亮点:在一个最初无法为其中99个查询生成查询计划的4B模型上,跨113个重连接查询实现了44.7%的延迟降低。构建了一个Postgres测量装置,以最小化Linux页面缓存争用噪声。设计了一种自定义GRPO变体,用于在噪声环境中对RL rollout进行评分。将RL拆分到两台机器上:vLLM和训练器在一台租用的2x H100节点上,四个Postgres容器在我的桌子上。跨五百个GPT-6 Astra智能体轨迹运行离策略蒸馏。

让我们从头开始。在查询优化器内部,考虑IMDb数据集。一个查询问:“哪些日本公司在2000年代发行了最多的作品?”Postgres的路径取决于选择性谓词。如果没有过滤器,连接排序就变得至关重要。

关键实体:公司:Postgres、Hacker News | 人物:Leis | 地点:Japan

FAQ:一个小型语言模型能否超越Postgres的默认查询优化器?

是的,一个经过SFT和RL后训练的4B模型在113个重连接查询上实现了44.7%的延迟降低,击败了Postgres的默认计划。