Nov 7, 2024
運用 Gemini 模型長脈絡功能,大幅提升 AI 程式設計助理的效能
在應用程式中使用長內容視窗時,最令人期待的領域之一就是程式碼生成和理解。大型程式碼庫需要深入瞭解複雜的關係和依附元件,這是傳統 AI 模型難以掌握的。透過擴大程式碼量和大型內容視窗,我們可以在程式碼生成和理解方面,達到新的準確度和實用程度。
我們與 Cody AI 程式設計助理的開發人員 Sourcegraph 合作,共同探索長脈絡視窗在實際程式設計情境中的潛力。Cody AI 支援 Gemini 1.5 Pro 和 Flash 等大型語言模型。Sourcegraph 致力於將程式碼搜尋和智慧功能整合至 AI 程式碼生成工具,並成功為 Palo Alto Networks 和 Leidos 等企業部署 Cody,這些企業的程式碼集龐大且複雜,因此 Sourcegraph 是探索這項技術的理想合作夥伴。
Sourcegraph 的做法和成果
Sourcegraph 比較了 Cody 的效能,其中一個版本使用 Google 的 Gemini 1.5 Flash,可支援 100 萬個權杖的脈絡窗口,另一個版本則為正式版。透過這項直接比較,他們得以找出擴大情境的優點。他們專注於回答技術問題,這對處理大型程式碼庫的開發人員來說至關重要。他們使用的資料集包含需要深入瞭解程式碼才能回答的難題。
結果令人驚豔。使用較長的脈絡時,Sourcegraph 的三項重要基準 (必要回想、必要精確和實用性) 都有顯著提升。
重要資訊回憶:回覆中重要事實的比例大幅增加。
重要資訊精簡度:重要事實的比例 (以回覆長度標準化) 也有所提升,表示回覆內容更精簡且切題。
實用性:整體實用性分數 (以回覆長度標準化) 大幅提升,表示使用者體驗更加友善。
此外,使用長脈絡模型大幅降低了整體幻覺率 (生成事實錯誤資訊)。幻覺率從 18.97% 降至 10.48%,準確度和可靠度大幅提升。
取捨和未來方向
長脈絡雖然好處多多,但也有缺點。首次權杖時間會隨著脈絡長度線性增加。為解決這個問題,Sourcegraph 導入了預先擷取機制和分層情境模型架構,用於模型執行狀態快取。透過 Gemini 1.5 Flash 和 Pro 長脈絡模型,我們將 1 MB 脈絡的第一個權杖時間從 30 到 40 秒縮短至約 5 秒,大幅提升即時程式碼生成和技術輔助的效率。
這項合作展現了長篇脈絡模型在徹底改變程式碼理解和生成方式方面的潛力。我們很高興能與 Sourcegraph 等公司合作,持續透過大型內容視窗,開發更多創新應用程式和範例。
如要深入瞭解 Sourcegraph 的詳細評估方法、基準和分析 (包括說明範例),請參閱這篇深入的網誌文章。