與Gemini生成式人工智能模型一起,Google今天上午發佈AlphaCode2,它是GoogleDeepMind實驗室大約一年前推出的代碼生成AlphaCode的改進版。AlphaCode2實際上是由雙子座模型(Gemini)驅動的,或者至少是它的某個變種(GeminiPro)在編程競賽數據的基礎上進行微調。Google表示,至少在一項基準測試中,AlphaCode2的性能遠遠超過它的前
據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]協作時,通過定義代碼所遵循的某些屬性,[模型的]性能會變得更好。未來,我們將看到程序員利用高能力的人工智能模型作為協作工具,協助從推理問題到協助實施的整個軟件開發過程。"