SWE-RL:強化學習如何讓 LLM 具備思考能力的秘密

Llama 3 + 來自 DeepSeek RL 的效果

想像一下,你正在 debug,一個聰明的 AI 助手不僅幫您修好程式碼,還能像人類一樣逐步分析問題。這不再是幻想,而是 SWE-RL 帶來的現實!大型語言模型(LLM)在程式碼生成上已有不錯表現,但面對複雜的軟體工程挑戰時,往往缺乏真正的AI 思考能力。Meta AI 團隊推出的 SWE-RL(Software Evolution with Reinforcement Learning),利用強化學習技術和 GitHub 的海量數據,讓 LLM 在修復程式碼的同時,意外提升了通用推理能力。本文將深入淺出地帶您探索 SWE-RL 的運作方式,特別適合對 AI 與程式設計感興趣的讀者。

SWE-RL 的流程圖

什麼是 SWE-RL?

SWE-RL 是一種將強化學習與 LLM 結合的創新方法,專注於提升模型在軟體工程中的實戰能力。它從 GitHub 的 Pull Requests(PR)中提取訓練數據,涵蓋問題描述、程式碼上下文和修補程式,總計處理了 2015 年至 2024 年間 460 萬個倉庫,最終篩選出 1100 萬個高品質 PR 實例。這些數據讓模型得以模仿人類開發者的邏輯,成為軟體工程中的得力助手。

強化學習如何賦予 LLM 思考能力?

傳統的監督學習只是讓模型模仿數據,而強化學習則像一個試錯的導師,讓 LLM 學會自己動腦。例如,當給定一個 bug 報告(如「函數中除以零錯誤」)和相關程式碼時,模型會嘗試生成修補,並根據簡單的獎勵機制改進:

  • 程式碼無法運行?得分 -1。

  • 格式正確且接近標準修補?得分從 0 到 1(由 Python 的 difflib 計算相似度)。

這種方法類似 DeepSeek 在數學推理中的成功應用。SWE-RL 採用了一種名為 Group Relative Policy Optimization(GRPO)的聰明訓練方式,讓模型在生成修補時逐步提升思考能力。最終,它在 SWE-bench Verified 測試中達到了 41.0% 的解決率,遠超傳統方法。

技術亮點

SWE-RL 的成果令人驚艷。在 SWE-bench Verified 測試(包含 500 個真實 GitHub 問題)中,Llama3-SWE-RL-70B 模型實現了 41.0% 的解決率,能準確定位問題檔案並生成一致的修補。相比之下,未經強化學習的 Llama-3.3-70B 僅有 5.4%,而監督微調版本也只達 29.6%。更驚人的是,SWE-RL 的推理能力不僅限於程式碼,在數學推理測試 MATH 中也從 63.2% 提升至 73.7%,展現了強化學習應用的廣泛潛力。

經過 RL 之後對於 MMLU, MATH 等 benchmark 也有進步

SWE-RL 的獨特價值

SWE-RL 僅靠公開的 GitHub PR 數據,就能讓一個中型模型(70B 參數)媲美 GPT-4o 的表現。通過強化學習技術,它不僅修復程式碼,還學會了自我反思和分步推理。這對技術愛好者來說,意味著未來的 AI 工具可能更聰明,甚至能主動解決問題。

常見疑問

  • SWE-RL 和普通 LLM 差在哪?
    它用強化學習模擬人類決策,而非單純模仿數據。

  • 為什麼強化學習能讓 LLM 更聰明?
    試錯過程讓模型掌握獨立分析能力,超越傳統訓練的限制。

結語

SWE-RL 通過強化學習和 1100 萬個 PR 數據的淬煉,將 LLM 從單純的工具升級為具備思考能力的助手。其 41.0% 的解決率和開源特性為軟體工程開啟了新篇章。未來,隨著強化學習技術的進步,AI 或許能獨立設計軟體,甚至預測我們的需求。您準備好迎接這場 AI 革命了嗎?歡迎分享本文,或在下方留言告訴我們您的看法!