ADVERTISEMENT
人工智慧軟體程式在進行對話、贏得棋盤遊戲和生成藝術品方面的能力正在變得令人震驚--但在創造軟體程式方面呢?在最新發表的一篇論文中,GoogleDeepMind的研究人員表示,他們的AlphaCode程式可以在標準化的程式比賽中,跟上一般人類程式設計師的步伐。
研究人員在本週的《科學》雜誌上報告說:「這一結果標誌著人工智慧系統首次在程式比賽中取得了競爭性的表現。」
雖然現在還沒有必要對天網敲響警鐘,但DeepMind的程式碼生成系統在Codeforces平台上最近的程式競賽的模擬評估中獲得了54.3%的平均排名--這是一個非常"平均"的平均數。
ADVERTISEMENT
「競爭性程式是一項極其困難的挑戰,我們現在的水準(在10次提交中解決約30%的問題)與頂級程式設計師(在一次提交中解決>90%的問題)之間存在巨大差距,」DeepMind研究科學家李宇佳(科學論文的主要作者之一)稱,「剩下的問題也明顯比我們目前解決的問題更難。」
用AI寫程式,不只一家在研究
儘管如此,該實驗指出了人工智慧應用的一個新的前端應用。微軟也在探索這一領域,它有一個名為Copilot的程式碼建議程式,通過GitHub提供。亞馬遜也有一個類似的軟體工具,叫做CodeWhisperer。
西雅圖艾倫人工智慧研究所的創始首席執行長兼AI2孵化器的技術總監奧倫-埃齊奧尼(Oren Etzioni)表示,新發表的研究強調了DeepMind在應用被稱為大型語言模型或LLM的AI工具方面的主要地位。
ADVERTISEMENT
「這是一個令人印象深刻的提醒,OpenAI和微軟並沒有壟斷LLMs的驚人功績,」Etzioni在一封電子郵件中說。 「遠非如此,AlphaCode比GPT-3和微軟的Github Copilot都要好。」
AlphaCode因其程式方式而引人注目,也因其程式品質而引人注目。
「該系統最令人驚訝的地方,也許是AlphaCode不做什麼。」
ADVERTISEMENT
「AlphaCode不包含關於電腦程式碼結構的明確的內建知識。相反,AlphaCode依靠一種純粹的'資料驅動'方法來編寫程式碼,通過簡單地觀察大量的現有程式碼來學習電腦程式的結構,」卡內基梅隆大學的電腦科學家J.Zico Kolter在一份關於該研究的科學評論中寫道。
AlphaCode使用一個大型的語言模型,根據對問題的自然語言描述來建構程式碼。該軟體利用了大量的程式問題和解決方案的資料集,加上GitHub上的一組非結構化程式碼。AlphaCode為手頭的問題生成數以千計的擬議解決方案,對這些解決方案進行過濾,以拋出那些無效的解決方案,將倖存的解決方案歸為一組,然後從每組中選擇一個例子提交。
這種程式有可能"創造"出正確的程式碼,這似乎令人驚訝。Kolter說,可以想像,AlphaCode的方法可以與更多的結構化機器語言方法相結合,以提高系統的性能。
ADVERTISEMENT
他寫道:"如果將資料驅動的學習與工程知識相結合的'混合'ML方法可以在這個任務上表現得更好,就讓他們試試吧。AlphaCode鑄就了這一點。DeepMind正在繼續完善AlphaCode。雖然AlphaCode是從~0%到30%的重要一步,但仍有很多工作要做,"
在尋求建立程式碼生成軟體的過程中,人工智慧有很大的空間,期望快速迭代和改進。Etzioni說:"我們離生成性人工智慧的'大爆炸'只有10秒鐘。許多在更廣泛的資料上的令人印象深刻的產品,包括文字和結構化的資料,很快就會到來,"Etzioni說。"我們正在狂熱地試圖弄清楚這項技術能走多遠。"
隨著工作的進行,AlphaCode可能會激起關於人工智慧的承諾和潛在危險的長期辯論,就像DeepMind的AlphaGo程式在展示基於機器的對圍棋遊戲的掌握時那樣。而且,程式並不是人工智慧的快速發展引起爭議的唯一領域。
一個名為ChatGPT的開放性人工智慧程式在科技界引發了一股熱潮,因為它能夠以詳細的答案和檔案來回應資訊請求,而這些答案和檔案可以幫助我們更好地理解人工智慧。
ADVERTISEMENT