成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

流量工程將代碼生成的準確率提高一倍:由19%提高至44%

譯文
人工智能
代碼生成是人工智能中一項越來越重要的能力。它指訓練機器學習模型,基于對所需程序功能的自然語言描述自動生成計算機代碼,并有許多潛在的應用,從將軟件規格轉換成實用代碼、自動化后端開發到協助人類程序員,不一而足。

一篇新論文的作者提出了一種“強化”代碼生成的方法。

代碼生成是人工智能中一項越來越重要的能力。它指訓練機器學習模型,基于對所需程序功能的自然語言描述自動生成計算機代碼,并有許多潛在的應用,從將軟件規格轉換成實用代碼、自動化后端開發到協助人類程序員,不一而足。

然而,與翻譯或總結等相關語言任務相比,生成高質量代碼對AI系統依然具有挑戰性。代碼必須精確匹配目標編程語言的語法,優雅地處理極端情況和意外輸入,并準確地處理問題描述中指定的許多小細節。就連在其他領域無害的小錯誤也可能完全破壞程序的功能,導致編譯或運行失敗。

最近,CodiumAI的研究人員提出了一種名為AlphaCodium的新方法,可大幅提高GPT-4等大語言模型的代碼生成能力。他們的主要觀點是,僅僅調整提示的措辭對于復雜的編碼問題具有固有的局限性。相反,他們設計了一個多階段流程,專注于對照測試用例迭代地生成、運行和調試代碼,從而使模型能夠從經驗中學習。

提示工程的局限性

在自然語言任務中,提示工程指仔細調整提示的措辭和結構,以指導模型生成所需的輸出。比如說,在輸入文本之前添加短語“寫簡明的摘要:”可以從模型中得到針對性更強的摘要。

提示工程已被證明在做文本生成引導大語言模型行為方面非常有效。然而針對編碼問題,研究人員發現,就連廣泛的及時調整也只能獲得極小的效益。原因發人深省。生成高質量的代碼需要:

  • 精確匹配目標編程語言的語法
  • 優雅地處理極端情況和意外輸入
  • 解決問題陳述中描述的所有小細節和需求
  • 為所有的有效輸入確保代碼正確編譯和運行

這些結構性需求遠遠超出了文本生成的范疇。將它們硬編碼到提示中對于復雜的問題是行不通的。單單提示本身缺乏模型學習這些的編碼技巧和細微差別所需要的具體反饋。

AlphaCodium迭代流程

為了應對這些挑戰,研究人員設計了一個針對代碼生成問題結構的迭代流程。關鍵的創新在于針對測試用例利用所生成代碼的執行,以提供直接的學習信號。

AlphaCodium的流程有兩個主要階段:

預處理

  • 模型將問題描述釋義為項目符號,以提取關鍵細節。
  • 解釋每個示例輸入/輸出背后的預期邏輯。
  • 提供兩三個自然語言解決方案。
  • 為代碼覆蓋生成額外的不同測試用例。

代碼迭代

  • 模型生成初始代碼解決方案。
  • 針對公共測試用例重復運行該代碼,修復出現的錯誤。
  • 對模型生成的測試用例執行同樣的事情。
  • 額外的測試用例被添加到不斷增大的“測試錨”(test anchor)套件中,以防止回歸。

通過增量推理問題、開發解決方案假設、擴展測試覆蓋,以及反復生成和調試代碼,模型通過經驗來學習——這正是高質量代碼生成所需的技能。

圖1. 具有結構化輸出的提示示例(生成可能的解決方案階段)

研究人員發現,與端到端模型相比,將流程設計為具有清晰接口和目標的模塊可以獲得更好的結果。每個階段首先專注于更簡單的子任務,以積累知識,并發掘為下游階段提供依據的洞察力。像測試生成這樣的上游階段不需要完整的解決方案,只需要基本的推理。

實驗結果

研究人員依據CodeContests衡量基準對AlphaCodium進行了評估,該衡量基準包含來自競爭性編程比賽的數百個編碼問題。

圖2. 問題描述和反思——一個典型的CodeContests問題的例子,基于人工智能對問題進行自我反思。雖然最初的描述冗長而復雜,但適當的自我反思可以使問題更清晰、更連貫,從而改進代碼解決方案

針對GPT-4模型,與經過大量優化的單個提示相比,AlphaCodium將驗證集上的代碼生成準確率從19%提高到了44%。面對不同的模型大小和測試集,這個好處依然適用,與單獨的提示工程相比收效顯著。

AlphaCodium的性能也顯著優于之前發布的方法,比如AlphaCode和CodeChain,同時使用更少的計算資源。比如說,它通過避免不必要的蠻力生成,其準確性可以媲美AlphaCode,而模型查詢少10000倍。

這些結果證明了圍繞任務結構整體設計AI系統的價值,而不是將其視為通用文本生成器。通過合并迭代代碼運行和調試,AlphaCodium更好地將訓練過程與生成健壯實用代碼的最終目標結合起來。

更廣泛的影響

雖然針對競爭性編程問題進行了演示,但AlphaCodium中使用的概念為AI推進代碼生成提供了更廣泛的適用經驗:

  • 單單提示工程對于處理復雜的代碼任務具有局限性。具體解決問題的經驗至關重要。
  • 基于測試的開發規范可以為模型訓練提供依據。測試提供了明確的適應度函數。
  • 迭代代碼調試將模型改進的重點放在實際發生的錯誤上。
  • 測試覆蓋擴展突出了提示中不可見的泛化性差距。
  • 具有雙重驗證的軟決策減少了脆弱性和偏差。

AlphaCodium為基于軟件工程最佳實踐的代碼生成提供了一種大有前途的新范式。關于泛化性和計算開銷仍然存在有待商榷的研究問題。但這里展示的原則(從經驗中學習、測試驅動開發、模塊化推理和迭代式調試)似乎為提高AI的編碼能力提供了堅實的基礎。

論文鏈接:https://arxiv.org/pdf/2401.08500.pdf

代碼庫:https://github.com/Codium-ai/AlphaCodium

原文標題:"Flow engineering" doubles code generation accuracy (19% vs 44%),作者:Mike Young

鏈接:https://notes.aimodels.fyi/flow-engineering-intensifies-for-code-generation/

責任編輯:姜華 來源: 51CTO
相關推薦

2009-09-16 10:05:06

GoogleChrome 3.0瀏覽器

2022-06-24 08:20:56

requests爬蟲Python

2017-09-28 09:40:36

圖像分類準確率

2012-07-04 09:30:49

程序員開發效率

2012-07-04 08:48:59

程序員

2023-04-10 14:22:26

PCIe6.0PCIe

2023-06-27 09:48:40

谷歌AML AI 工具

2023-06-28 13:49:12

AI人工智能

2022-11-21 10:18:24

AI谷歌

2020-05-12 10:43:30

谷歌算法人工智能

2011-02-22 09:29:33

無線網絡無線網速

2020-10-12 11:01:53

AWSSageMaker德比軟件

2020-09-14 14:10:04

開發技能代碼

2019-04-02 11:36:11

AI

2016-01-27 13:37:53

機器學習數據模型算法

2024-04-02 10:13:25

在線小工具開發

2020-12-24 19:29:08

PCIntel芯片

2019-05-10 14:28:27

MySQL技巧數據庫

2020-04-22 09:04:27

Linux命令行搜索工具

2009-06-15 08:47:33

微軟Windows 7操作系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久综合 | 欧美无乱码久久久免费午夜一区 | 欧美在线综合 | aaaa日韩 | 欧美视频网 | 超碰伊人久久 | 99精品久久 | 国产女人与拘做受视频 | 国产女人与拘做受免费视频 | 男女视频在线观看网站 | 中文字幕在线精品 | 亚洲一区二区三 | 欧美日韩免费视频 | 亚洲成人精品久久久 | 日韩欧美手机在线 | 国产成人99久久亚洲综合精品 | 91影院在线观看 | 国产成人精品一区二区 | 日本免费在线 | 九九在线 | re久久 | 午夜影院网站 | 色久影院 | 国产高清在线精品一区二区三区 | 亚州影院 | 国产乱肥老妇国产一区二 | 欧美日韩黄色一级片 | 色网站入口 | 青青草在线视频免费观看 | 国产精品99久久久久久动医院 | 一区二区三区在线 | 日韩免费1区二区电影 | 欧洲成人免费视频 | www.日韩欧美 | 欧美一区二区三区久久精品视 | 精品一区二区不卡 | 日韩毛片免费视频 | 资源首页二三区 | 伊人久久成人 | 日本免费小视频 | 四虎影视1304t |