Hacker News上的一项技术演示显示,开发者仅用约25行SQL语句即可自动推导出FlashAttention内核,而这些SQL仅描述了最基础的朴素注意力计算,未包含任何底层优化细节。这一成果依托三个正在开发中的可移植SQL扩展:xarray-sql,可将云端PB级数组数据集高效表示为关系表的库;ddx,为标准SQL引入JAX风格自动微分能力的数据库扩展;einfold,面向原生SQL的模块化查询规划器,用于加速张量收缩运算。项目作者希望借助关系模型与关系代数为GPU等加速器编程提供全新视角,其核心主张是:将张量程序的逻辑层与物理执行层分离,既能提升程序正确性,也能增强可扩展性。作者还提出一个思辨性观点:既然’苦涩的教训’(Bitter Lesson)被视为机器学习的核心法则,为何不将其用关系代数加以形式化?目前该项目已在Discord社区开放,招募对数据库理论与机器学习系统交叉领域感兴趣的开发者共同参与探索。
事件分析
技术看点:FlashAttention是大模型训练与推理的关键内核,传统实现需要深厚的CUDA编程功底。该项目借鉴编译器分层思想,用SQL表达逻辑计算,再由查询规划器自动完成物理优化,与Halide、TVM等张量编译器’算法与调度分离’的理念一脉相承,但选择关系代数作为中间表示,路径新颖。产业层面,若该路线成熟,有望降低高性能内核的开发门槛,并将数据库优化器数十年的技术积累(如join顺序规划、代价模型)迁移至张量计算领域,可能催生数据库与ML系统融合的新工具链。潜在挑战在于:与PyTorch、JAX等主流框架的整合成本、自动生成内核能否在性能上匹敌手工调优版本,以及SQL语法表达张量程序的认知门槛。后续可关注其基准测试数据、开源进展及是否获得框架厂商采纳。
核心观点:用SQL取代手写CUDA内核,本质是将数据库五十年的查询优化积淀嫁接到AI编译器,或重塑加速器编程范式。
原文链接:Hacker News