Google推出以Gemini模型為基礎的AlphaCode 2程式設計助手
與Gemini 生成式人工智慧模型一起,Google今天上午發布了AlphaCode 2,它是Google DeepMind 實驗室大約一年前推出的程式碼生成AlphaCode 的改進版。AlphaCode 2 實際上是由雙子座模型(Gemini)驅動的,或者至少是它的某個變種(Gemini Pro)在程式設計競賽資料的基礎上進行了微調。Google表示,至少在一項基準測試中,AlphaCode 2 的效能遠遠超過了它的前身。
據Google公司稱,在Codeforces(程式設計競賽平台)主辦的程式設計競賽子集中,AlphaCode 2(使用Python、Java、C++和Go等語言編碼)的平均表現優於約85%的競爭對手。相較之下,前代AlphaCode在同一子集的平均成績僅50%。
「我們選取了最近舉行的12 場有8000 多人參加的競賽,這些競賽要么來自第二組,要么來自難度更大的’1+2’組。這使得我們總共解決了77 個問題,”AlphaCode 2 的技術白皮書中寫道。”AlphaCode 2 能在10 次嘗試內解決43% 的問題,接近原版AlphaCode(25%)的兩倍。
AlphaCode 2 可以理解涉及”複雜”數學和計算機科學理論的程式設計難題。DeepMind 研究科學家雷米-勒布隆德(Rémi Leblond)在一段預先錄製的影片中解釋說,除其他相當複雜的技術外,AlphaCode 2 還能進行動態程式設計。
AlphaCode 2 不僅知道何時正確實施此策略,還知道在哪裡使用它。Leblond 說,AlphaCode 2 不僅知道何時正確實施此策略,還知道在什麼情況下使用此策略。考慮到需要動態編程的程式設計問題是最初的AlphaCode 的一大絆腳石,這一點值得注意。
Leblond 說:”[AlphaCode 2]需要顯示一定程度的理解、一定程度的推理和代碼解決方案的設計,然後才能實際執行,解決[一個]編碼問題。它能在從未見過的問題上完成所有這些工作”。
AlphaCode 2 解決問題的方法是,先利用”策略模型”系列,為每個問題產生大量程式碼樣本。不符合問題描述的程式碼樣本會被過濾掉,而聚類演算法會將”語意相似的程式碼樣本”分組,以避免任何冗餘。最後,AlphaCode 2 中的評分模型會從10 個最大的代碼樣本”集群”中各選出一個最佳候選者,這就是AlphaCode 2 對問題的答案。
現在,所有人工智慧模型都有缺陷,AlphaCode 2 也不例外。根據白皮書,AlphaCode 2 需要大量的試驗和錯誤,規模化運作的成本太高,而且在很大程度上依賴於能夠過濾掉明顯不好的程式碼樣本。白皮書推測,遷移到功能較強的Gemini 版本(如Gemini Ultra)可能會緩解部分問題。
DeepMind 產品副總裁伊萊-柯林斯(Eli Collins)在一次簡報中暗示了這種可能性。
柯林斯說:”最新結果中最讓我興奮的一點是,當程式設計師與[由Gemini提供支援的AlphaCode 2]協作時,透過定義程式碼所遵循的某些屬性,[模型的]效能會變得更好。未來,我們將看到程式設計師利用高能力的人工智慧模型作為協作工具,協助從推理問題到協助實施的整個軟體開發過程。”