Transformer论文八位作者之一Llion Jones创立的Sakana AI发布重磅成果——全球首个「AI CUDA工程师」!它能将PyTorch代码自动转换为高度优化的CUDA内核,速度比PyTorch原生实现快10-100倍。
就在刚刚,由Transformer八大金刚之一Llion Jones创办的Sakana AI,推出了世界上首个「AI CUDA工程师」——The AI CUDA Engineer。
同时,还发布了一个由「AI CUDA工程师」生成的,包含17,000多个已验证CUDA内核的数据集。
论文地址:https://pub.sakana.ai/static/paper.pdf
项目主页:https://pub.sakana.ai/ai-cuda-engineer
自从去年提出了世界上首个「AI科学家」之后,一个疑问一直萦绕在团队心头:如果可以使用AI来进行AI研究,是不是也能用AI来研究如何让AI运行得更快?
团队认为,AI系统也应该像人脑一样高效地利用资源。而实现的最佳途径,就是利用AI来让AI更高效!
于是,「AI CUDA工程师」就这样诞生了。
这位AI工程师,能自动生成高度优化的CUDA内核,不仅比PyTorch中常见的机器学习操作快10-100倍,而且也比生产中广泛使用的CUDA内核快最高5倍。
通过LLM驱动的进化代码优化技术,「AI CUDA工程师」能将PyTorch代码转换为CUDA内核,并通过进化算法优化 CUDA内核的执行效率,实现多个运算操作的融合。
更重要的是,它能够通过学习历史创新成果,发现编写高效CUDA运算的全新方法。
最终,开启一个AI驱动加速AI的新纪元,实现自动化推理时优化。
英伟达高级研究科学家Jim Fan表示:「干得漂亮,Sakana AI!这是我最近看到的最酷的自主编程AI智能体。AutoML王者归来!」
对计算资源最有价值的使用方式,就是提高相同计算资源的未来生产力。它具备了所有超越人类表现的关键要素:
而且,「创新档案」这个概念也很有趣,跟英伟达「我的世界」Voyage智能体中使用的「技能库」非常相似。
本质上,这是一个完全由LLM在探索CUDA设计空间时编写的代码仓库,还保存了最佳代码片段。这是进化搜索过程中产生的学习成果,无需更新参数权重。
Jim Fan顺便推荐了一下,英伟达最近也在展开的一项相关研究,同样也是用强大了的LLM推理来改进CUDA内核。
CUDA是一个底层软件层,能够直接访问英伟达GPU的硬件指令集来进行并行计算。CUDA内核,则是使用CUDA语言编写的、在GPU上运行的函数。
通过在CUDA内核层面直接编写指令,我们能够显著提升AI算法的性能。
然而,使用CUDA需要扎实的GPU专业知识,而在实践中,大多数机器学习算法都是在PyTorch或JAX等更高层次的抽象层中编写的。
「AI CUDA工程师」是一个基于前沿LLM的AI智能体框架,目的是将标准PyTorch代码自动转换为高度优化的CUDA内核。
通过运用进化优化技术,并借鉴进化计算中的「交叉」操作和「创新档案」等概念来发现具有潜力的过渡性内核,研究人员提出的框架不仅能够自动将PyTorch模块转换为CUDA内核,而且他们的高度优化的CUDA内核通常能够实现显著的性能提升。
研究团队相信这项技术能够带来性能加速,从而加快LLM或其他生成式AI模型等基础大模型的训练和运行(推理)速度,最终让AI模型在英伟达GPU上运行得更快。
研究团队相信,这仅仅是人工智能伟大优化的开始!
在论文中,他们引入了一种端到端的智能体工作流,能够将PyTorch代码转换为可工作的CUDA内核,优化CUDA运行时性能,并自动融合多个内核。
此外,他们构建了各种技术来增强流程的一致性和性能,包括LLM集成、迭代分析反馈循环、本地内核代码编辑以及交叉内核优化。
AI发现的部分CUDA内核在KernelBench上实现了SOTA的性能
研究人员表示,「AI CUDA工程师」能够稳健地转换250个考虑的Torch操作中的230多个,并且对于大多数内核实现了显著的运行时性能提升。此外,该方法还能够有效地融合各种内核操作,并且可以超越几种现有的加速操作。
具体而言,在229个考虑的任务中,他们在81%的任务上优于PyTorch原生运行。此外,所有发现的CUDA内核中有20%至少比其PyTorch实现快两倍。
下图展示了PyTorch原生内核与经过优化处理后的内核在不同级别(Level 1、Level 2、Level 3)下的加速对比。
从下图展示的内核可以看出,「AI CUDA工程师」能实现各种操作,包括归一化方法、损失函数、特殊矩阵乘法,甚至是完整的神经网络架构。
研究团队随论文一同发布的「资料库」(The AI CUDA Engineer Archive)是一个包含超过3万个CUDA内核的数据集,这些内核均由「AI CUDA工程师」生成。
数据集采用CC-By-4.0许可证发布,可通过HuggingFace平台访问,并可用于LLM的进阶微调。
其中包括,PyTorch参考实现、PyTorch/NCU/Clang-tidy性能分析数据、每个任务的多个内核版本、错误信息,以及与PyTorch原生和编译运行时间的性能对比数据。
团队希望这个数据集能够促进开源模型的后续训练,从而开发更出色的CUDA功能模块。包括离线强化学习、偏好优化和标准监督微调等技术。
数据集地址:https://huggingface.co/datasets/SakanaAI/AI-CUDA-Engineer-Archive
统计数据显示,「资料库」共包含超过3万个内核,其中已验证正确的实现超过1.7万个,约有50%的内核性能优于PyTorch原生运行时间。
基于文本嵌入进一步分析发现,这些内核可根据不同的任务类型(如矩阵乘法、池化操作、卷积运算)和实现策略(包括循环展开、运算融合、向量化处理)自然地聚类。
除此之外,研究人员还开发了一个交互式网站,供用户实时查看超过1.7万个已验证内核及其配置信息,包括PyTorch、NCU和Clang-Tidy的相关数据。
在网站中,用户可以探索涵盖230个任务的各类高性能内核。并且可以动手定制一个排行榜,查看不同实验和LLM间的相关内核。
内核性能排行榜
并且,还可以直观地查看内核可视化结果、搜索相关内核、下载验证代码和性能提升数据,以及查看详细的性能分析结果。并且还可以深入了解优化实验的具体细节。
性能分析数据、评估脚本下载、相关内核信息和实验发现细节的实例归一化内核
研究人员认为,今天的LLM就像是我们这一代的「大型机」。
我们仍然处在AI发展的早期阶段,在市场竞争和全球创新的推动下(尤其是那些在资源受限条件下进行创新的团队),这项技术必将实现百万量级的效率提升。
目前,我们的AI系统消耗着海量资源,如果这项技术继续扩张而不考虑效率和能源消耗问题,其发展将难以持续。
从根本上来说,没有任何理由表明我们的AI系统不能达到甚至超越人类智能的效率水平。我们相信,要实现这种效率提升,最佳途径就是利用AI来优化AI本身。
这正是Sakana AI努力的方向,而这个项目正是朝着实现AI百万倍性能提升目标迈出的关键一步。
就像从早期庞大臃肿的大型机演变到现代计算机一样,相比当今「臃肿」低效的LLM,未来几年我们使用AI的方式将会发生翻天覆地的变化。
参考资料:
https://sakana.ai/ai-cuda-engineer/
文章来自于“新智元”,作者“编辑部 HNZ”。
【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。
项目地址:https://github.com/n8n-io/n8n
在线使用:https://n8n.io/(付费)
【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。
项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file
【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。
项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file
在线使用:https://vectorvein.ai/(付费)
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner