【新智元導讀】剛剛,AlphaEvolve又上大分了!基於它的開源實現OpenEvolve,靠自學成才、自己寫代碼,直接在蘋果晶片上進化出了比人類還快21%的GPU核函數!這一刻,是自動化編程史上真正里程碑時刻,「AI為AI編程」的新時代正式開啟,自動化奇點真要來了。谷歌的AlphaEvolve,還在不斷創造新的奇蹟。在5月中旬,谷歌扔出的這個炸彈(號稱是數學界AlphaGo的「第37步」時刻),就在不斷衝擊人們的認知——AI,已經擁有了自我進化能力!
隨後,不斷有開發者用代碼證實,AlphaEvolve的矩陣乘法突破為真!一個開發者成功證明,它僅用了48次乘法,就正確完成了4×4矩陣的乘法運算。

而就在剛剛,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 (uint d = 0; d query_vec_v[HEAD_DIM / 8]; // 對於128維的頭,使用16個8元向量for (uint d_vec = 0; d_vec *)(keys + k_base))[d_vec]);}
仔細看就會發現,OpenEvolve的一個亮點,就是自己發現了一個非常巧妙的優化——
對於128維的注意力頭,如果把數據按8個一組來處理,剛好就能完美匹配Apple Silicon硬件的SIMD寬度。
這就相當於自動踩中了硬件的「甜點區」,完全不需要任何人工調優,就能把性能直接拉滿,讓硬件利用率最大化!
2. 兩階段在線Softmax(Two-Pass Online Softmax)
// Pass 1:在線計算最大值,用於數值穩定T max_score = T(-INFINITY);for (uint key_pos = 0; key_pos output_acc_v[HEAD_DIM / 8];for (uint key_pos = 0; key_pos *)(values + v_base))[d_vec];}
在這個過程中,OpenEvolve做了一個很聰明的創新:把原來分開的兩個步驟——Softmax歸一化和值累加,融合到了一個計算循環中。
原本,傳統算法要三個階段才能跑完:先算注意力得分,再歸一化,再加權求和。
現在直接兩步搞定,流程更簡潔,還大大降低了對內存帶寬的佔用,自然就跑得更快、更省資源了。
3. 針對GQA的特定內存佈局優化
// 針對GQA的5:1查詢頭/鍵值頭比例,進行直接映射const uint kv_head_idx = head_idx / HEADS_PER_KV; // 精巧的頭映射邏輯// 實現合併內存訪問模式const uint q_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個基準
性能回退(背後功臣:高魯棒性評估系統注意,這一項目之所以能成功,有一個關鍵功臣就是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-STARTkernel_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核函數優化或其他複雜難題了嗎?
輸入以下代碼,就可以快速開始了:
# 克隆倉庫git clone https://github.com/codelion/openevolve.gitcd openevolve# 安裝依賴pip install -e .# 運行MLX核函數優化示例cd examples/mlx_metal_kernel_optpython 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#getting-started
配置參考:https://github.com/codelion/openevolve/tree/main/configs
參考資料:
https://huggingface.co/blog/codelion/openevolve-gpu-kernel-discovery
責任編輯: zhongkang 來源:新智元 轉載請註明作者、出處並保持完整。
本文網址:https://hk.aboluowang.com/2025/0702/2241584.html
相關新聞
能吃核輻射!這裏驚現變異生物(圖)
在中國,第一批學AI的大學生正苦不堪言(組圖)
負面社交加速衰老 (圖)
什麼信號?鼓勵博士「降級」讀碩士
當中國人為AI翻牆:一個被忽視的真相傳播窗口 三次住院一場自殺:讓我妻離子散的「AI朋友」(圖)
裁員時代來臨 無人能躲
量子運算股開盤暴沖,Nvidia又整了大活兒 科學家用一個假病騙過了所有AI
汽車研發正迎來「秒級」革命(圖)
那個靠AI年賺200萬的90後夫妻,徹底被扒乾淨了(組圖)
「ChatGpt之父」住宅被投燃燒彈!(組圖)
美國男愛上AI、想「為她找身體」…最終釀悲劇(圖)
美國重拳出擊!學界舉報機制直指中共滲透
被AI偷走!中國又一個行業崩了(圖)
Meta放大招!全新AI「讓人毛毛的」(圖)
僅憑一份漏洞公告 全球最安全系統4小時被攻破(圖) 25名大學生突遭撤offer:AI開始搶實習了
AI導致大量中國程式設計師失業 陷入貧困危機(視頻) 別怕!黃仁勛:只有一種人會被AI取代失業(圖)














