EN
EN

Meta「轻量级」KernelLLM颠覆GPU内核生成8B参数碾压GPT-4o

发布时间 : 2025-06-03 11:59:03

  有时它会犯点小错误,比如API引用不对、语法出错,有时候还不太能按指令生成理想的内核◆■◆■。

  生成的代码结构有点像编译器自动吐出来的,有时在变量命名、张量形状★■◆★、类型处理和数值精度这些细节上也容易出问题★◆■★◆◆。

  用的时候,先导入库,调用generate_triton函数,就能生成优化后的Triton代码啦◆■◆★■。

  【新智元导读】Meta推出KernelLLM,这个基于Llama 3.1微调的8B模型,竟能将PyTorch代码自动转换为高效Triton GPU内核。实测数据显示◆◆★◆◆★,它的单次推理性能超越GPT-4o和DeepSeek V3,多次生成时得分飙升★◆◆◆。

  为了训练这个模型,团队可是下了大功夫◆◆★,用了25000多对(PyTorch★◆◆■★,Triton)代码示例★★,还有合成的样本。

  KernelLLM简直是GPU内核开发神器,用更少的参数实现了更强的性能,且简单易用◆■★◆■■。

  要是不想写脚本,还能直接运行python kernelllm◆◆.py,使用内置的REPL接口,打开交互式界面■★,实时看结果■★。

  在KernelBench上测试了模型,这是一个开源基准测试,用于评估LLM编写的高效GPU内核的能力。

  训练用了16个GPU■★,共耗时12小时(192 GPU小时),报告了最佳检查点的验证结果。

  训练和评估时,PyTorch代码会配置一个包含格式示例的提示模板作为指令。

  随着工作负载的增大和加速器架构的多样化★■★,对定制化内核解决方案的需求显著增加。

  KernelLLM的Triton内核生成流程★★◆■★:用KernelLLM把PyTorch代码翻译成Triton内核的候选代码。生成的代码会通过单元测试验证,测试用已知形状的随机输入数据运行内核■◆★■★。这个流程支持生成多个候选代码(通过 pass@k评估),增加候选数量来提高质量,最后选出最好的Triton内核实现作为输出(绿色部分)

  要是多生成几个候选代码,得分还能蹭蹭往上涨,生成10个的时候能到51.8分,20个的时候能到57.1分。

  现在市面上很多相关工具,要么只能在测试的时候优化,要么就只盯着KernelBench的问题调优,很难应对更广泛的场景。

  KernelLLM通过自动化生成高效的Triton实现★◆■◆,满足对高性能GPU内核日益增长的需求。

  Meta最新发布的KernelLLM■■,却用8B参数的「小身板」,在GPU内核生成任务中把200B的GPT-4o按在地上摩擦◆■★。

  这些数据一部分来自TheStack的过滤代码,一部分是通过ile () 和提示技术生成的◆★◆■◆。

  测试会同时降低代码的正确性(通过与参考PyTorch输出对比)和性能(通过与基准实现的加速比)。

  它包含250个精心挑选的PyTorch模块,按负载调整,从简单的单操作(如Conv2D或Swish,Level 1)到完整的模型架构(Level 3)。

  它在不同难度的任务里表现都很稳,不管是简单的单个操作符★■◆◆■■,还是复杂的模型架构,都能应对。

  模型训练了10个epoch,批大小为32,采用标准SFT方法,超参数根据验证集的困惑度(perplexity)来选择。

  然后用单元测试来验证这些代码,用随机输入跑一跑,看看输出对不对。要是生成好几个候选代码,还能比比哪个最好,挑出最优的。

相关推荐

2025-06-24

|k8凯发188体育“可持续发展与开放合作:科学共同体的责任

2025-06-03

郭华东院士:数字技术驱动可持续发展目标实现

2025-06-03

|凯发k8真人线上娱乐中国科学院院长:全球性挑战和新科技革命

了解更多