KernelBench:革命性AI工具评测LLM编写GPU内核能力
KernelBench革命性AI工具评测LLM编写GPU内核能力【免费下载链接】KernelBenchKernelBench: Can LLMs Write GPU Kernels? - Benchmark Toolkit with Torch - CUDA ( more DSLs)项目地址: https://gitcode.com/gh_mirrors/ke/KernelBenchKernelBench是一个创新的基准测试工具包专为评估大型语言模型LLM生成GPU内核的能力而设计。通过将PyTorch代码转换为CUDA等领域特定语言该工具为AI开发者提供了全面的性能评估框架帮助判断LLM是否具备编写高效GPU内核的能力。 什么是KernelBenchKernelBench是由斯坦福大学研究团队开发的革命性评测工具它通过四个层级的测试任务系统评估LLM将PyTorch操作符转换为高性能GPU内核的能力。该工具不仅检查生成代码的正确性还通过与PyTorch原生实现和torch.compile优化版本的对比全面衡量生成内核的性能表现。图KernelBench工作流程展示了从任务描述到性能评估的完整流程 四大评测层级KernelBench精心设计了四个级别的评测任务从简单到复杂全面覆盖GPU内核开发场景Level 1基础内核操作100个任务包含神经网络的基础构建块如卷积、矩阵乘法和层归一化等单一内核操作。例如1_Square_matrix_multiplication_.py33_BatchNorm.py63_conv_standard_2D__square_input__square_kernel.pyLevel 2简单融合模式100个任务测试LLM对组合操作的优化能力融合内核通常比单独内核更快。例如1_Conv2D_ReLU_BiasAdd.py12_Gemm_Multiply_LeakyReLU.py37_Matmul_Swish_Sum_GroupNorm.pyLevel 3完整模型架构50个任务评估端到端优化整个模型架构的能力。例如1_MLP.py5_AlexNet.py28_VisionTransformer.py44_MiniGPTBlock.pyLevel 4Hugging Face模型针对真实世界中的大型模型进行优化测试如GPT-2、BERT等。例如7_gpt2_bs32_seq256.py18_EleutherAI-gpt-neo-2p7B_bs512_seq32.py✅ 三大核心评测指标KernelBench从三个关键维度评估LLM生成的GPU内核可编译性检查生成的PyTorch代码是否能够加载内联嵌入式CUDA内核并成功构建正确性通过随机输入在多次测试中验证生成内核的输出是否与参考实现一致性能在多次试验中比较生成内核与PyTorch原生实现及torch.compile优化版本的执行速度 快速开始使用KernelBench环境准备conda create --name kernel-bench python3.10 conda activate kernel-bench pip install -r requirements.txt pip install -e .⚠️ 注意运行和分析内核需要GPU支持。如果本地没有GPU可以使用Modal云服务通过generate_and_eval_single_sample_modal.py脚本运行。单任务评测# 示例运行Level 2的第40个问题 python3 scripts/generate_and_eval_single_sample.py dataset_srchuggingface level2 problem_id40批量任务评测# 1. 生成响应并将内核存储到本地 python3 scripts/generate_samples.py run_nametest_hf_level_1 dataset_srchuggingface level1 num_workers50 server_typedeepseek model_namedeepseek-coder temperature0 # 2. 评估生成的所有内核 python3 scripts/eval_from_generations.py level1 run_nametest_hf_level_1 dataset_srclocal level1 num_gpu_devices8 timeout300 项目结构解析KernelBench采用清晰的目录结构方便用户理解和扩展KernelBench/ ├── assets/ # 项目资源文件 ├── KernelBench/ # 基准测试数据集 ├── src/ # 核心逻辑代码 │ ├── unit_tests/ # 单元测试 │ ├── prompts/ # 提示词模板 ├── scripts/ # 运行基准测试的脚本 ├── results/ # 不同硬件上的基准时间 ├── runs/ # 存储运行结果关键脚本文件generate_and_eval_single_sample.py单样本生成与评估generate_samples.py批量生成样本eval_from_generations.py从生成结果中评估greedy_analysis.py分析评估结果 如何获取项目git clone https://gitcode.com/gh_mirrors/ke/KernelBench️ 未来发展路线图KernelBench团队计划在未来添加更多功能集成更多框架如ThunderKittens增加反向传播测试整合NCU等工具链 许可证KernelBench采用MIT许可证详情请参见LICENSE文件。 引用如果您在研究中使用KernelBench请引用以下论文misc{ouyang2024kernelbench, title{KernelBench: Can LLMs Write GPU Kernels?}, author{Anne Ouyang and Simon Guo and Azalia Mirhoseini}, year{2024}, url{https://scalingintelligence.stanford.edu/blogs/kernelbench/}, }KernelBench为AI领域提供了首个全面评估LLM编写GPU内核能力的基准测试工具无论是研究人员还是开发者都能通过它深入了解AI模型在高性能计算领域的潜力与局限。立即尝试探索AI驱动的GPU编程新纪元【免费下载链接】KernelBenchKernelBench: Can LLMs Write GPU Kernels? - Benchmark Toolkit with Torch - CUDA ( more DSLs)项目地址: https://gitcode.com/gh_mirrors/ke/KernelBench创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考