网易首页 > 网易号 > 正文 申请入驻

AI编程里程碑!谷歌AI自己写代码惊呆工程师,GPU内核算法反超人类21%

0
分享至

  编辑:Aeneas 好困

  【新智元导读】刚刚,AlphaEvolve又上大分了!基于它的开源实现OpenEvolve,靠自学成才、自己写代码,直接在苹果芯片上进化出了比人类还快21%的GPU核函数!这一刻,是自动化编程史上真正里程碑时刻,「AI为AI编程」的新时代正式开启,自动化奇点真要来了。

  谷歌的AlphaEvolve,还在不断创造新的奇迹。

  而就在刚刚,patched.codes的联合创始人兼CTO Asankhaya Sharma,用基于AlphaEvolve论文的开源实现OpenEvolve,成功自动发现了高性能的GPU内核算法。

  具体来说,通过自我进化代码,它自动发现了一套在Apple Silicon上远超手动优化的GPU Metal核函数。

  在真实的Transformer推理任务中,它带来了平均12.5%的性能提升,峰值甚至飙升了106%

  这种提升,直接超越了人类工程师21%!

  这个系统没有提供人类的GPU编程专业知识,就发现了以下优化——

  · 完美的SIMD优化

  · 两阶段在线Softmax

  · 针对GQA的特定内存布局优化

  这不是一次简单的性能跃迁,而是自动化编程历史上真正的里程碑时刻——一套系统无需人类干预,就能在复杂的硬件架构中,挖掘出连专家都难以察觉的优化路径。

  更重要的是,这一成就并非停留在实验室或论文中,而是在真实世界中、在苹果芯片上、在当今最主流的AI模型任务中,扎实地跑了出来。

  由此,就证明了自动化代码优化技术在真实世界系统中的实际可用性。

  它标志着一个新的时代正在开启:不再是人类为机器手写优化,而是机器开始为自己写更好的代码。

  而在之后,随着硬件架构持续高速迭代,OpenEvolve这种工具的价值还会愈加凸显——它们将发掘出那些仅凭人力极难找到的深度优化机会。

  挑战:GPU核函数优化

  为什么说,OpenEvolve攻克的这个「GPU核函数优化」,这么有挑战性呢?

  这是因为,现代Transformer模型严重依赖于高度优化的注意力核函数,但编写高性能的GPU代码却需要具备以下领域的深厚专业知识。

  ·特定硬件架构的细节(如Apple Silicon的统一内存、SIMD单元)

  ·底层编程语言(如Metal Shading Language)

  ·数值算法设计(如注意力机制、数值稳定性)

  ·内存访问模式的优化

  所以,是否有可能不用人写代码,完全交给OpenEvolve,让它自动进化,看是否能生成性能更强的GPU核函数代码?

  为此,Sharma决定以Qwen3-0.6B模型的分组查询注意力(GQA)实现为目标,来检验OpenEvolve的能力,看它是否能自动生成超越MLX生产级的「scaled_dot_product_attention」核函数的代码。

  具体来说,项目的目标配置如下。

  · 模型:Qwen3-0.6B(40个查询头 : 8个键值头)

  · 硬件:配备统一内存的苹果M系列GPU

  · 基线:MLX的高度优化的注意力实现方案

  · 挑战:全自动发现Metal核函数的优化方法

  进化方法

  Sharma将OpenEvolve配置为直接进化Metal核函数的源代码,同时保留其与MLX框架的集成方式。

  整个系统从一个基础的三阶段注意力实现方案开始,历经超过25代的进化。

  进化设置

  

  max_iterations: 25 # 最大迭代次数 population_size: 25 # 种群大小 llm: primary_model:"gemini-2.5-flash" # 主模型:用于快速探索 (60%) secondary_model:"gemini-2.5-pro" # 辅助模型:用于深度优化 (40%) database: num_islands: 5 # 岛屿数量:用于并行进化多个种群 evaluator: bulletproof_mode: true # 启用高强度GPU错误防护模式

  

  评估策略

  每一个通过进化生成的核函数都经过了以下维度的全面测试:

  正确性验证:与MLX基线进行数值精度对比,确保计算结果无误。

  性能测试:在20个多样化的推理场景(包括短/长上下文、生成任务)中进行基准测试。

  安全性检查:包含GPU错误检测和Metal内存访问验证。

  鲁棒性分析:通过多次重复运行进行统计分析,确保性能稳定。

  关键优化

  没想到,OpenEvolve在进化过程中,自主发现了以下几项体现出算法创新的优化策略!

  1. 针对Apple Silicon的SIMD优化

  

  // 进化前:逐元素标量运算 for(uintd =0; d < HEAD_DIM; d++) { score += query_vec[d] * keys[k_base + d]; } // 进化后:完美利用SIMD指令 vec 8 > query_vec_v[HEAD_DIM /8]; // 对于128维的头,使用16个8元向量 for(uintd_vec =0; d_vec < HEAD_DIM /8; d_vec++) { score += dot(query_vec_v[d_vec], ((device vec 8 >*)(keys + k_base))[d_vec]); }

  

  仔细看就会发现,OpenEvolve的一个亮点,就是自己发现了一个非常巧妙的优化——

  对于128维的注意力头,如果把数据按8个一组来处理,刚好就能完美匹配Apple Silicon硬件的SIMD宽度。

  这就相当于自动踩中了硬件的「甜点区」,完全不需要任何人工调优,就能把性能直接拉满,让硬件利用率最大化!

  2. 两阶段在线Softmax(Two-Pass Online Softmax)

  

  // Pass 1:在线计算最大值,用于数值稳定 Tmax_score=T(-INFINITY); for(uintkey_pos=0; key_pos < SEQ_LEN; key_pos++) { Tscore=compute_attention_score(query_vec, key_vec) * scale_val; max_score = max(max_score, score); } // Pass 2:融合Softmax计算与后续的值累加 Tsum_exp=T(0.0); vec 8 > output_acc_v[HEAD_DIM /8]; for(uintkey_pos=0; key_pos < SEQ_LEN; key_pos++) { Texp_score=exp(current_score - max_score); sum_exp += exp_score; // 关键创新:将权重与value向量相乘并累加的过程相融合 output_acc_v[d_vec] += exp_score * ((device vec 8 >*)(values + v_base))[d_vec]; }

  

  在这个过程中,OpenEvolve做了一个很聪明的创新:把原来分开的两个步骤——Softmax归一化和值累加,融合到了一个计算循环中。

  原本,传统算法要三个阶段才能跑完:先算注意力得分,再归一化,再加权求和。

  现在直接两步搞定,流程更简洁,还大大降低了对内存带宽的占用,自然就跑得更快、更省资源了。

  3. 针对GQA的特定内存布局优化

  

  // 针对GQA的5:1查询头/键值头比例,进行直接映射 constuintkv_head_idx = head_idx / HEADS_PER_KV; // 精巧的头映射逻辑 // 实现合并内存访问模式 constuintq_base = batch_idx * (NUM_HEADS * SEQ_LEN * HEAD_DIM) + head_idx * (SEQ_LEN * HEAD_DIM) + query_pos * HEAD_DIM;

  

  在此处,OpenEvolve的创新点在于,专门针对Qwen3模型的特殊结构做了优化。

  这个模型的查询头与键值头的比例是特有的40:8(即5:1),系统充分利用了这个特性,设计出一种独特的合并内存访问(Coalesced Memory Access)的模式。

  这种模式,特别适合Apple Silicon的统一内存架构,堪称是量身定制,效率极高,性能拉满。

  评测结果

  果然,最终进化生成的核函数在各项综合基准测试中,都展现出了显著的性能提升:

  核心性能指标增益

  解码速度(Decode Speed):平均提升+12.5%(标准差σ = 38.3%)

  预填充速度(Prefill Speed):平均提升+14.4%(标准差σ = 17.6%)

  总吞吐量(Total Throughput):平均提升+10.4%(标准差σ = 30.7%)

  内存使用量(Memory Usage):平均降低+0.99%(标准差σ = 1.7%)

  正确性(Correctness):保持100%的数值精度

  可靠性(Reliability):零GPU错误或核函数崩溃

  详细基准测试结果

  
而且其中最为瞩目的是,在处理重复性模式生成任务时,OpenEvolve进化生成的核函数直接把解码速度提升了足足106%!

  如此一来也就充分证明了,这个核函数在应对特定类型的工作负载时,真的性能爆棚。

  统计分析

  总之,从统计结果来看,OpenEvolve在某些特定类型的工作负载上,确实有很强的优化能力,能挖掘出原先的手写代码难以触及的性能潜力。

  在20个不同测试任务中,它在其中7个任务上提升非常明显,性能增长超过了25%,体现出了「质的飞跃」。

  显著增益(>25%):7/20个基准

  中等增益(5-25%):3/20个基准

  性能持平(±5%):4/20个基准

  性能回退(<-5%):6/20个基准

  背后功臣:高鲁棒性评估系统

  注意,这一项目之所以能成功,有一个关键功臣就是OpenEvolve背后的评估系统。

  它不是普通的跑分工具,而是专门为GPU核函数这种「硬核」代码而设计的,专为应对GPU核函数开发过程中的各种挑战。

  GPU安全特性

  命令缓冲区保护:自动检测Metal命令缓冲区的错误并从中恢复。

  内存访问违规处理:安全地处理GPU内存访问违规。

  重试逻辑:为瞬时GPU错误提供指数退避重试机制。

  回退机制:当核函数彻底失败时,能够优雅地降级到备用方案。

  全面的错误统计

  

  # 评估结果示例 { "metal_safety_statistics": { "metal_command_buffer_errors": 0, "metal_memory_violations": 0, "total_metal_errors": 0, "safety_score": 100.0 } }

  

正是因为这套评估系统特别稳、鲁棒性极高,OpenEvolve才敢放开手脚去尝试各种激进的优化方案,而不用担心「越改越崩」。
要知道,GPU核函数这种实验性代码本来就很容易出错,一点小问题就可能导致整个程序挂掉。
所以,有这么一套高鲁棒性的机制兜底,才让系统能放心大胆地「卷」出新花样,把性能一步步推上去。

  技术深度剖析

  面向GPU核函数的进化架构

  此外,项目的成功也离不开OpenEvolve中多个组件的协同工作:

  智能代码标记:通过特定标记,确保进化过程仅针对Metal核函数源代码,同时完整保留与MLX框架的集成代码。

  

  # EVOLVE-BLOCK-START kernel_source=""" // 仅此块内的Metal核函数代码会被进化 """ # EVOLVE-BLOCK-END

  

  富含上下文信息的提示词:为进化提供的提示词包含了性能数据、硬件规格和优化方向指南。

  多目标评分机制:在性能、正确性和安全性等多个目标之间进行权衡评分。

  特定硬件验证:所有测试和优化都针对Apple Silicon硬件进行。

  面向GPU优化的提示词工程

  与此同时,为进化过程提供的提示词,也给OpenEvolve提供了至关重要的上下文信息:

  

  ## 硬件上下文信息 -Apple Silicon M-series GPU with unified memory(GPU为Apple Silicon M系列,采用统一内存架构) -SIMD width: 8 elements optimal for vec (最佳SIMD宽度为8个元素,适用于vec 类型) -Thread group size: 32 threads for optimal occupancy(最佳线程组大小为32线程,以达到最高硬件占用率) ## 优化目标 -Minimize memory bandwidth usage(最小化内存带宽占用) -Maximize SIMD utilization(最大化SIMD指令利用率) -Exploit GQA 40:8 head structure(充分利用GQA模型的40:8头结构特性) -Maintain numerical stability(保持数值计算的稳定性) ## 性能基线 Current decode speed: 140.6 tokens/sec(当前解码速度:140.6 token/秒) Target improvement: >5% speedup required(目标:需要>5%的速度提升)

  

  更深远的影响

  总之,本次对GPU核函数的成功优化,揭示了以下几点重要原则:

  1. 专业知识的自动化探索与发现

  OpenEvolve发现的优化策略,涵盖了众多需要深厚专业知识的领域:

  Apple Silicon的架构细节

  Metal编程语言的精妙之处

  注意力算法的各种变体

  内存访问模式的优化

  这些领域知识并非由人类工程师直接提供,而是在进化探索的过程中自主涌现的。

  2. 面向特定硬件的自适应优化

  最终的优化方案是为Apple Silicon硬件量身定制的,这就表明,OpenEvolve具备自动发掘、利用特定硬件特性的能力。

  3. 算法层面的创新

  进化过程发现的「两阶段在线Softmax(two-pass online softmax)」算法,本身就是一项新颖的技术贡献,应用潜力已经远远超出了本次实验的特定场景。

  4. 具备投产应用的价值

  这些优化并非「纸上谈兵」,而是在真实的Transformer推理负载中能带来显著性能提升的实用技术,完全具备在生产环境中部署的价值。

  核心技术架构升级

  并且,自项目启动以来,Sharma已对OpenEvolve的核心能力进行了显著增强:

  可复现性(Reproducibility)

  通过完全确定性的进化过程,保证科研级别的可复现性。

  

  random_seed:42 # 确保每次运行结果完全一致

  

  可视化(Visualization)

  提供可交互的进化树视图,支持实时性能追踪。

  

  python scripts/visualizer.py

  

  岛屿进化(Island Evolution)

  通过种群迁移实现并行进化,以增强解空间的探索能力。

  

  database: num_islands:5 migration_interval:25

  

  稳健的检查点机制(Robust Checkpointing)

  支持自动保存进度,并能从中断处恢复进化会话。

  快速开始

  所以,你准备好亲自上手,挑战GPU核函数优化或其他复杂难题了吗?

  输入以下代码,就可以快速开始了:

  

  # 克隆仓库 gitclonehttps://github.com/codelion/openevolve.git cdopenevolve # 安装依赖 pip install -e . # 运行MLX核函数优化示例 cdexamples/mlx_metal_kernel_opt python openevolve-run.py initial_program.py evaluator.py --iterations 25

  

  如果想进一步了解更深入的信息,建议仔细阅读一下这几个文档。

  GPU内核优化指南:https://github.com/codelion/openevolve/tree/main/examples/mlx_metal_kernel_opt

  通用教程:https://github.com/codelion/openevolve-started

  配置参考:https://github.com/codelion/openevolve/tree/main/configs

  参考资料:

  https://huggingface.co/blog/codelion/openevolve-gpu-kernel-discovery

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
《一饭封神2》复活赛,一群美食界大佬,却被做糖拌西红柿的选手给羞辱了

《一饭封神2》复活赛,一群美食界大佬,却被做糖拌西红柿的选手给羞辱了

八卦南风
2026-08-15 08:00:05
上海13岁女儿不够独立,半夜总跑去和爷爷睡,母亲推开门当场崩溃

上海13岁女儿不够独立,半夜总跑去和爷爷睡,母亲推开门当场崩溃

温情邮局
2025-04-09 16:55:04
A股:不必等明天开盘,股市已经有变化,周一可能这样走了

A股:不必等明天开盘,股市已经有变化,周一可能这样走了

财经大拿
2026-08-16 09:55:02
乱了!日本领土危机浮现!不光是琉球,原来连北海道都不是日本的

乱了!日本领土危机浮现!不光是琉球,原来连北海道都不是日本的

老妁学科普
2026-08-10 22:33:55
暴涨100%!5类废品成香饽饽,家里有千万别随手丢掉

暴涨100%!5类废品成香饽饽,家里有千万别随手丢掉

音乐时光的娱乐
2026-08-16 05:33:47
为什么航母速度都在30节左右,30节换算成陆地交通工具,是多快?

为什么航母速度都在30节左右,30节换算成陆地交通工具,是多快?

抽象派大师
2026-07-02 03:46:27
对标劳斯莱斯?小米升降车标专利曝光:两个车标切换,可提升续航

对标劳斯莱斯?小米升降车标专利曝光:两个车标切换,可提升续航

热点科技
2026-08-14 13:17:38
最清醒两位上将:一个归隐南京不顾不问,一个身居京城从不参会

最清醒两位上将:一个归隐南京不顾不问,一个身居京城从不参会

史樍
2026-08-13 18:14:29
张学良送蒋介石回南京是幼稚?世人都看错了,毛主席一语道破格局

张学良送蒋介石回南京是幼稚?世人都看错了,毛主席一语道破格局

历千秋
2026-07-18 10:39:29
这就是公开辱华的后果!取消冠军头衔只是开始,职业生涯也全毁了

这就是公开辱华的后果!取消冠军头衔只是开始,职业生涯也全毁了

阿凫爱吐槽
2025-12-17 17:24:39
WTT欧洲大满贯战报!4-3:蒯曼惊险晋级,早田被绝杀,四强出炉

WTT欧洲大满贯战报!4-3:蒯曼惊险晋级,早田被绝杀,四强出炉

老斉科普君
2026-08-16 04:36:19
这个30岁的小姑娘能有多好色?2016年,女子趁着丈夫在外打工偷情,还玩角色扮演,最终却被小三杀害

这个30岁的小姑娘能有多好色?2016年,女子趁着丈夫在外打工偷情,还玩角色扮演,最终却被小三杀害

法网恢恢
2026-08-07 12:39:43
蒋介石一生骂遍所有人,唯独对毛主席写三句评价,句句都是真服气

蒋介石一生骂遍所有人,唯独对毛主席写三句评价,句句都是真服气

近史谈
2026-08-15 18:20:54
今日足球看点:阿森纳VS曼城,桑坦德竞技VS比亚雷,西班牙人VS莱万特

今日足球看点:阿森纳VS曼城,桑坦德竞技VS比亚雷,西班牙人VS莱万特

Shoot体育
2026-08-16 07:15:10
新婚33天,陕西爱妻卷款逃往美国,丈夫花费9年把爱妻判刑65年

新婚33天,陕西爱妻卷款逃往美国,丈夫花费9年把爱妻判刑65年

云景侃记
2026-07-29 16:46:46
女中学生偷尝禁果,私奔不成全家遭灭门,一枚血脚印牵出不伦之恋

女中学生偷尝禁果,私奔不成全家遭灭门,一枚血脚印牵出不伦之恋

情感艺术家
2026-08-12 07:47:41
公安部公布4起破坏环境资源犯罪典型案例

公安部公布4起破坏环境资源犯罪典型案例

界面新闻
2026-08-14 16:40:06
短短几分钟内,两项游泳世界纪录被破!19岁新星大幅提升1500自极限

短短几分钟内,两项游泳世界纪录被破!19岁新星大幅提升1500自极限

全景体育V
2026-08-16 06:22:38
小米搞了个升降车标,给网友看呆了

小米搞了个升降车标,给网友看呆了

科技狐
2026-08-15 22:53:15
北师大全重实验室主任效存德跳槽复旦大学,他基本每十年左右跳槽一次,原因让人深思

北师大全重实验室主任效存德跳槽复旦大学,他基本每十年左右跳槽一次,原因让人深思

东东趣谈
2026-08-15 20:00:04
2026-08-16 14:12:49
新智元 incentive-icons
新智元
AI产业主平台领航智能+时代
15947文章数 67006关注度
往期回顾 全部

科技要闻

210亿美元,黄仁勋投了马斯克

头条要闻

"借道"中国转运70公斤毒品 2名外籍过境人员获刑

头条要闻

"借道"中国转运70公斤毒品 2名外籍过境人员获刑

体育要闻

体系球员与体系本身

娱乐要闻

李小冉疑承认离婚 多次强调“一个人”

财经要闻

事关8万亿养老金!长周期考核落地中

汽车要闻

杨洋成001号车主 岚图追光S正式上市

态度原创

数码
艺术
游戏
房产
旅游

数码要闻

网友吐槽SK海力士SSD故障无法换新,厂商只同意按原价退款

艺术要闻

布鲁西洛夫:一位会画又会写的俄罗斯画家

国产横版射击独游开放Demo 边战斗边“爆衣”!

房产要闻

金茂、招商,海南多个岗位招人!

旅游要闻

上海迪士尼蜘蛛侠园区迎来建设关键节点,全球独家W.E.B.基地落地申城

无障碍浏览 进入关怀版