论文

K-Search:借助协同演化内在世界模型的LLM内核生成

K-Search: LLM Kernel Generation via Co-Evolving Intrinsic World Model

摘要

优化GPU内核对现代机器学习系统的高效运行至关重要,但设计因素复杂交织与硬件快速演进使其依然困难。现有自动化方法通常仅把大语言模型(LLM)当作启发式引导进化回路中的随机代码生成器。这些方法常难以处理需要协调多步结构变换的复杂内核,因为它们缺乏显式规划能力,且常因中间实现低效或错误而丢弃有前景的策略。为此,我们提出经协同演化世界模型的搜索方法,并据此构建K-Search。通过用协同演化世界模型替代静态搜索启发式,我们的框架利用LLM的先验领域知识引导搜索,主动探索优化空间。该方法显式解耦高层算法规划与底层程序实例化,使系统能在非单调优化路径上前行,并对暂时性实现缺陷保持韧性。我们在FlashInfer中多样复杂内核(包括GQA、MLA与MoE内核)上评估K-Search。结果显示,K-Search显著优于最先进进化搜索方法,平均改进2.10倍,复杂MoE内核上最高达14.3倍。在GPUMode TriMul任务上,K-Search在H100上达到最先进性能,耗时1030微秒,超越既往进化方法与人工设计方案。

K-Search:借助协同演化内在世界模型的LLM内核生成
图1:K-Search概览。该框架作用于结构化为搜索树的搜索状态S_t。该树由Closed节点(蓝色,已访问状态,附带如x_12的程序)和Open节点组成的Frontier(橙色,待定假设,如u_13)构成。工作流循环经历三个阶段:(1)动作选择(Action Selection),基于世界模型估计的优先级分数V,从Frontier中取出最有希望的动作节点;(2)局部细化(Local Refinement),随机策略π_code采样具体实现直至停滞;(3)世界模型更新(World Model Update),LLM对轨迹进行推理,通过Insert(添加新动作)、Update(调整V,例如u_11从0.9降至0.6)和Prune(移除较无希望的节点,如u_10)来更新搜索树。