當前位置:
首頁 > 科技 > AI程式碼生成技術大躍進:精準度再升級

AI程式碼生成技術大躍進:精準度再升級

程式設計師現在可以透過大型語言模型(LLM)快速產生電腦程式碼。但這項技術要真正發揮價值,關鍵在於生成的程式碼必須符合程式語言的規範,且不會導致系統當機。

雖然現有方法可以確保LLM產生的內容符合特定語言規則,但這些方法往往會扭曲模型的原始意圖,或是耗時過長而難以應用於複雜任務。為此,MIT等機構的研究團隊開發出一套創新方法,能自動引導LLM生成既符合程式語言規範又零錯誤的內容。這項研究成果已發表在arXiv預印本平臺上。

這套方法讓LLM能將運算資源集中在最有潛力的輸出上,並在早期階段就淘汰不理想的結果。這種機率性方法大幅提升了運算效率。得益於此,研究團隊的架構讓小型LLM在多個實際應用場景中,表現甚至超越規模更大的模型,包括分子生物學和機器人技術等領域。

長遠來看,這項技術將幫助非專業人士更有效地控制AI生成的內容。例如,商務人士只需使用自然語言提示,就能撰寫複雜的SQL資料庫查詢語句。

「這項研究的影響遠超出學術範疇。它能提升程式設計輔助工具、AI驅動的資料分析系統和科學發現工具的效能,確保AI產出的內容既實用又正確。」該研究論文的共同第一作者、MIT研究生João Loula表示。

傳統控制LLM生成結構化文字的方法,通常是檢查整個輸出區塊(如程式碼片段)是否有效且能無錯誤執行。若發現問題,使用者必須重新開始,耗費大量運算資源。另一種方式是逐步檢查輸出,雖然能確保程式碼符合語言規範,但可能導致最終結果偏離使用者的原始意圖。

「強制執行結構比確保語意容易得多。我們能快速檢查某段程式碼是否符合語言規範,但要驗證其語意就必須實際執行。我們的研究正是要解決這類問題。」Loula解釋道。

研究團隊的方法是在LLM中植入專業知識,引導其產生最有潛力的輸出。這些輸出不僅更可能符合使用者定義的結構限制,也能準確反映使用者的意圖。

「我們並非訓練LLM來達成這個目標,而是將專家知識與LLM的知識相結合,這與深度學習的擴充套件方式截然不同。」資深共同作者Vikash Mansinghka補充道。

團隊採用「序列蒙特卡羅」技術,讓LLM能平行產生多個輸出並相互競爭。模型會根據各運算執行緒的潛力,動態分配資源。每個輸出都會獲得一個權重值,代表其結構有效性和語意準確性的機率。在運算過程中,模型會專注於高權重輸出,淘汰其餘結果。

研究團隊將這套架構應用於四種輸出型別的生成任務:Python程式碼、SQL查詢、分子結構和機器人行動計劃。結果顯示,與現有方法相比,新方法不僅準確度更高,所需的運算資源也更少。

展望未來,研究團隊計劃將這項技術應用於更大規模的文字生成,並結合學習機制,讓模型在生成過程中不斷提升準確度。這項技術最終可能拓展至非技術使用者的應用場景,例如結合自動化資料建模系統,或實現更精準的人機資料分析對話。

「這項研究為解決語言學中的基礎問題邁出了重要一步,展示了在特定符號領域中,如何將詞語對映到具體語意的分佈上。」McGill大學副教授Timothy J. O'Donnell評論道,「雖然只是初步成果,但為理解機器如何像人類一樣溝通世界提供了新思路。」

[end]