Meta「轻量级」KernelLLM颠覆GPU内核生成,8B参数碾压GPT-4o
新智元报道
编辑:英智
【新智元导读】Meta推出KernelLLM,这个基于Llama 3.1微调的8B模型,竟能将PyTorch代码自动转换为高效Triton GPU内核。实测数据显示,它的单次推理性能超越GPT-4o和DeepSeek V3,多次生成时得分飙升。
在AI领域,参数规模曾被视为「性能天花板」。
Meta最新发布的KernelLLM,却用8B参数的「小身板」,在GPU内核生成任务中把200B的GPT-4o按在地上摩擦。
这是一个基于Llama 3.1 Instruct进行微调的8B参数模型,旨在将PyTorch模块自动转换为高效的Triton GPU内核。
KernelLLM简直是GPU内核开发神器,用更少的参数实现了更强的性能,且简单易用。
它只有8B参数,但是在KernelBench-Triton Level 1,单次推理性能超过了GPT-4o和DeepSeek V3。
通过多次推理,KernelLLM性能优于DeepSeek R1。
这一切都来自一个参数规模比竞争对手小两个数量级的模型。
@Denis Kanonik吐槽「这又是用测试集训练的吗?」
KernelLLM让内核开发更易上手
KernelLLM是一款基于Llama 3.1 Instruct的8B模型,专门针对用Triton编写GPU内核的任务进行了训练。
它能让GPU编程变得更简单,实现高性能GPU内核生成的自动化。
KernelLLM通过自动化生成高效的Triton实现,满足对高性能GPU内核日益增长的需求。
随着工作负载的增大和加速器架构的多样化,对定制化内核解决方案的需求显著增加。
现在市面上很多相关工具,要么只能在测试的时候优化,要么就只盯着KernelBench的问题调优,很难应对更广泛的场景。
KernelLLM是首个在外部(PyTorch,Triton)代码对数据上进行微调的LLM。
Triton内核生成工作流程
把PyTorch代码输进去,KernelLLM就会生成Triton内核候选代码。
然后用单元测试来验证这些代码,用随机输入跑一跑,看看输出对不对。要是生成好几个候选代码,还能比比哪个最好,挑出最优的。
KernelLLM的Triton内核生成流程:用KernelLLM把PyTorch代码翻译成Triton内核的候选代码。生成的代码会通过单元测试验证,测试用已知形状的随机输入数据运行内核。这个流程支持生成多个候选代码(通过 pass@k评估),增加候选数量来提高质量,最后选出最好的Triton内核实现作为输出(绿色部分)
为了训练这个模型,团队可是下了大功夫,用了25000多对(PyTorch,Triton)代码示例,还有合成的样本。
这些数据一部分来自TheStack的过滤代码,一部分是通过torch.compile () 和提示技术生成的。
数据集KernelBook,参考链接:https://huggingface.co/datasets/GPUMODE/KernelBook。
训练时用的是Llama3.1-8B-Instruct模型,在自定义数据集上做了监督微调(SFT),测试它在KernelBench-Triton上生成正确Triton内核及调用代码的能力。
KernelBench-Triton是基于KernelBench[Ouyang et al. 2025]开发的变体,专注Triton内核生成。
训练和评估时,PyTorch代码会配置一个包含格式示例的提示模板作为指令。
模型训练了10个epoch,批大小为32,采用标准SFT方法,超参数根据验证集的困惑度(perplexity)来选择。
训练用了16个GPU,共耗时12小时(192 GPU小时),报告了最佳检查点的验证结果。
性能评估
尽管模型规模较小,但其性能可与最先进的LLM相媲美。
KernelBench-Triton测试中,8B参数的KernelLLM,单次推理得分20.2,比671B参数的DeepSeek V3(16分)和200B参数的GPT-4o(15分)都高。
要是多生成几个候选代码,得分还能蹭蹭往上涨,生成10个的时候能到51.8分,20个的时候能到57.1分。
KernelLLM推理用temperature=1.0和top_p=0.97运行。
在KernelBench上测试了模型,这是一个开源基准测试,用于评估LLM编写的高效GPU内核的能力。
它包含250个精心挑选的PyTorch模块,按负载调整,从简单的单操作(如Conv2D或Swish,Level 1)到完整的模型架构(Level 3)。
它在不同难度的任务里表现都很稳,不管是简单的单个操作符,还是复杂的模型架构,都能应对。
测试会同时降低代码的正确性(通过与参考PyTorch输出对比)和性能(通过与基准实现的加速比)。
团队开发了一个新的KernelBench-Triton变体,专门评估LLM生成Triton内核的能力,非常适合测试KernelLLM。
所有测试都在NVIDIA H100 GPU上完成。
KernelLLM在pass@k中表现出近似对数线性的扩展行为
KernelLLM怎么用?
先装几个依赖包:
用的时候,先导入库,调用generate_triton函数,就能生成优化后的Triton代码啦。
KernelLLM提供了一个简单的接口,用于从PyTorch代码生成Triton核。
要是不想写脚本,还能直接运行python kernelllm.py,使用内置的REPL接口,打开交互式界面,实时看结果。
kernelllm.py提供了多种与模型交互的方法。
KernelLLM提供了几种自定义生成过程的方法:
有时它会犯点小错误,比如API引用不对、语法出错,有时候还不太能按指令生成理想的内核。
生成的代码结构有点像编译器自动吐出来的,有时在变量命名、张量形状、类型处理和数值精度这些细节上也容易出问题。
参考资料:
https://x.com/reach_vb/status/1924478755898085552
https://huggingface.co/facebook/KernelLLM
白珊珊日B裸体视频
绿帽社网站免费进入入口
美女撒尿隐私㊙️羞羞视频网站
女用吸乳情趣
喜欢白胖胖的老太太
ive官网网站
猛男互摸🐔巴
极品少萝裸18禁🈲自慰
扒开芙宁娜❌狂揉❌难受小说
男女做爱免费视频
捷克街头无删减版在线播放免费
成人免费A片❌❌❌电视
亚洲AV㊙️无码一区妃月
美女露出🐻让男生揉社区
公交车上一级AB片
茶茶红润脚底lvk
斗罗之斗婬大陆h污文小舞白丝
成人国产精品秘免费观看
成人扒开🍑伸出🍌❌动漫
盖尔加朵爱被❌视频无码
调教故事
特级西西WWw44高清大胆图片
爽⋯躁多水⋯快⋯深点高能对白
欧美另类俄罗斯另类
宁荣荣被❌到喷水18禁漫画
老师叫我脱她的小内内
16美女裸体㊙️偷拍卫生
裴擒虎吃凯的白色液体
FerrPorno馃拫馃憴96
玛奇玛被爆❌
战恋雪 全文 笔趣阁
🔞男生🍆❌男生🍑里外网
高清🈚码🔞❌♋免费网站
动漫男男被❌黄动漫韩国
男子露Gay撒尿全过程
黄金仓库huck9视频
国产精品天美传媒
学长边洗澡边把我处破了h视频
深夜码成人好看电视
少妇被狂C下部羞羞视频
调教姜罚戒尺奶头乳夹
胡列娜❌乳喷自慰3D
蕾丝视频app免费下载
0.001折手游
jk白丝美女裸体视频
蛋仔裸体❌开腿本子小绿
别c我⋯啊⋯嗯上课呢文章
黄瓜视频成人♥在线下载
竹菊影视一二三四www
再深点灬舒服灬太大了学
pokemonHentai🔞
动漫被❌到爽🔞巨乳游戏
果冻传媒AV精品国产网站
老公第一次含我奶头A片视频
新疆富婆按摩SPA养生全套内容
cekc女♀️人иД
两根茎一起弄进去好爽
mofos12👙欧美
巨乳大洋女体内射精片
三月七被狂c躁到高潮失禁
裸体❌开腿网
永久免费🔞🔞🔞成人代码
嗯灬啊灬老师别揉我奶了漫画视频
两男生互摸jiji㊙️网站vk
吧最新网页
人与禽一级婬片A片老牛
校花转过去脱裤子趴下撅屁股
♠️媚黑人妻爽文
翁公在客厅添我荫蒂
好大好长好紧爽男无码av
2B同人18❌AV黄漫
精品国产㊙️国产3D动漫
纲手强❌乳喷自慰爽漫画
《希露薇の繁殖计划》
鸣人和小樱拔萝卜无码
免费无遮挡🔞漫画游戏
唐三的坤坤放在宁荣荣哪里
小🐤🐤戳进去里面小黄文动漫
日本中学生❌❌❌❌69熟
偷拍体育生裸体Gay洗澡Video
沙奈朵扒开腿做❌同人小说
网友评论 查看所有评论>>