当前位置: 首页>编程笔记>正文

AI模型參數,OpenAI Codex顯示了大型語言模型的局限性

AI模型參數,OpenAI Codex顯示了大型語言模型的局限性

?本文來自 Ben Dickson

在一篇新論文中,OpenAI的研究人員揭示了Codex的細節,Codex是一種生成軟件源代碼的深度學習模型。Codex為Copilot提供動力,這是OpenAI和GitHub聯合開發的“人工智能配對程序員”工具。副駕駛目前只對有限的用戶開放beta測試模式。

這篇論文很有意思,它解釋了OpenAI的科學家們設法重新利用他們的旗艦語言模型GPT-3來創建Codex的過程。但更重要的是,這篇論文也闡明了深度學習在編程中的可信度。

“沒有免費的午餐”定理?

Codex是GPT-3的下一代產物。GPT-3是去年發布的大規模深度學習語言模型,深度學習模型的復雜性通常是通過其參數的數量來衡量的。一般來說,模型的學習能力隨著參數的增加而增加。GPT-3有1750億個參數,比它的前身GPT-2(15億個參數)多了兩個數量級。GPT-3的訓練數據集超過600GB,比GPT-2的訓練數據集大50多倍。

除了規模上的增長外,GPT-3的主要創新是“few-shot學習”,即執行沒有經過訓練的任務的能力。介紹GPT-3的文章標題是“語言模型是few-shot學習者”,并指出:“在這里我們表明,擴展語言模型極大地提高了任務無關性、少鏡頭的性能[重點挖掘],有時甚至達到了現有最先進的微調方法的競爭力。”

基本上,前提是一個在大型文本語料庫上訓練的足夠大的模型可以匹配或優于幾個專門用于特定任務的模型。

但根據OpenAI的新論文,各種版本的GPT-3都無法解決用于評估Codex的編碼問題。公平地說,GPT-3的訓練數據集中沒有編碼樣本,所以我們不能期望它能夠編碼。但是OpenAI的科學家們也測試了GPT-J,一個在the Pile上訓練的60億個參數的模型。the Pile是一個800GB的數據集,其中包括95GB的GitHub和32GB的StackExchange數據。GPT-J解決了11.4%的編碼問題。Codex是GPT-3的120億個參數的一個版本,在GitHub的159GB代碼示例上進行了微調,解決了28.8%的問題。Codex的另一個版本,稱為Codex- s,通過監督學習進行了優化,將性能提高到了37.7%(其他GPT和Codex模型都是通過無監督學習進行訓練的)。

AI模型參數、?Codex證明了機器學習仍然受制于“沒有免費的午餐”定理(NFL),這意味著泛化是以犧牲性能為代價的。換句話說,當機器學習模型被設計用來解決一個特定問題時,它們會更加準確;另一方面,當他們的問題范圍擴大時,他們的性能就會下降。

Codex可以以較差的自然語言處理能力為代價,高精度地執行一項專門任務(將功能描述和簽名轉換為源代碼)。另一方面,GPT-3是一種通用語言模型,它可以生成關于許多主題(包括復雜的編程概念)的像樣的文本,但不能編寫一行代碼。

大小VS成本

?OpenAI研究人員的實驗表明,隨著機器學習模型規模的增加,Codex的性能得到了改善。在3億參數的情況下,Codex解決了13.2%的評估問題,而120億參數模型的性能為28.8%。

但是GPT-3的完整版本是1750億個參數,比用來創建Codex的參數大了一個數量級。在Codex的訓練數據上訓練更大的模型不會產生更好的結果嗎?

一個可能的原因是數據集的大小。更大的Codex模型需要更大的數據集,在159GB的語料庫上進行訓練可能會導致過度擬合,模型變得非常擅長記憶和排練訓練實例,而在處理新情況方面則非常糟糕。收集和維護更大的數據集是一個昂貴和耗時的過程。

同樣令人煩惱的問題是Codex的成本。除了一項科學實驗,Codex本應成為未來產品的支柱,該產品可以為商業實體準所有的研究實驗室帶來利潤。正如我之前已經討論過的,培訓和運行1750億GPT-3模型的成本將使圍繞它開發一個盈利的商業模式變得非常困難。

然而,一個更小但微調版本的GPT-3在利潤和損失方面將更易于管理。

最后,OpenAI的實驗表明,Codex的規模/性能比率遵循對數尺度。這意味著隨著模型規模的增加,性能收益逐漸減少。因此,收集數據、培訓和運行更大的模型所增加的成本可能抵不上小小的性能提升。

請注意,代碼生成是一個非常有利可圖的市場。考慮到程序員的高時薪,即使每月節省幾個小時的編碼時間,也足以支付Codex的訂閱費。在其他勞動力成本較低的領域,使用大型語言模型實現任務自動化從利潤和損失的角度來看將更具挑戰性。

生成VS理解代碼

ai語言是什么,?需要提醒的一件事是,無論Codex的輸出多么吸引人,深度學習模型并不理解編程。與所有其他基于深度學習的語言模型一樣,Codex正在捕捉代碼片段之間的統計相關性。

OpenAI的科學家們在論文中承認,Codex“并不是高效的樣本訓練”,而且“即使是經驗豐富的開發人員在他們的職業生涯中也不會遇到這么多代碼”。

他們進一步補充說,“一個完成了計算機科學入門課程的優秀學生,預計能夠解決比Codex-12B更大比例的問題。”

“我們從Codex中對令牌進行抽樣,直到遇到以下停止序列之一:' \nclass ', ' \ndef ', ' \n# ', ' \nif ',或' \nprint ',因為模型將繼續生成其他函數或語句。”

這意味著Codex將盲目地繼續生成代碼,即使它已經完成了解決提示中所述問題的部分。

當你想要解決反復出現的簡單問題時,這種方案非常有效。但是當你縮小并試圖編寫一個大型程序來解決一個必須通過多個步驟來解決的問題時,Codex的局限性就變得明顯了。

OpenAI的科學家們發現,隨著功能描述中組件數量的增加,模型的性能呈指數級下降。

研究人員在他們的論文中寫道:“這種行為不是人類程序員的特征,如果一個人能夠正確地為一個長度為2的鏈執行程序,那么他就應該能夠正確地為一個任意長度的鏈執行程序。”

?進一步暴露Codex對程序結構和代碼缺乏理解的事實是,“Codex可以推薦語法不正確或未定義的代碼,可以調用未定義或超出代碼庫范圍的函數、變量和屬性”。實際上,這意味著在某些情況下,即使它們并不適合在一起,機器學習模型會將之前見過的不同代碼片段拼接在一起。

在論文中,研究人員還討論了Codex中的“錯位”問題,即該模型可以解決一個特定的問題,但由于各種錯誤而不能這樣做。Codex使用您正在處理的文件的內容作為上下文來生成其輸出。研究人員警告說,如果你的代碼包含微妙的錯誤(如果你是一個人類程序員,這是很正常的),Codex可能“故意”建議代碼表面上看起來很好,但實際上是不正確的。

不對準是一個有趣的現象,需要進一步研究。但OpenAI的實驗進一步表明,“如果數據、參數和訓練時間按比例放大,可能失調會持續下去,甚至變得更糟。”這可能是保持模型在120億個參數下尺寸平衡的另一個原因。

這篇文章還廣泛討論了Codex產生過時和脆弱代碼的可能性。

?使用和報告人工智能的責任

就像我在《Copilot》發布后說的,GitHub網頁上的“副駕駛”一詞是不準確的。

Codex不是程序員。它也不會奪走你的工作(如果你是程序員)。編碼只是程序員工作的一部分。OpenAI的科學家們觀察到,在目前的狀態下,Codex“可能通過提高程序員的工作效率在某種程度上降低了軟件生產的成本”,但它不會取代軟件開發人員經常做的其他任務,比如“與同事協商、編寫設計規范、升級現有軟件堆棧”。

將Codex誤認為程序員也會導致“過度依賴”,即程序員會盲目地認可模型生成的任何代碼,而不去修改它。鑒于Codex可能犯下的明顯和微妙的錯誤,忽視這一威脅可能會帶來質量和安全風險。OpenAI的研究人員在論文中警告說:“安全使用Codex這樣的代碼生成系統需要人類的監督和警惕。”?

總的來說,程序員社區的反應表明Codex是一個非常有用的工具,可能會對軟件行業的未來產生巨大的影響。與此同時,考慮到《Copilot》發行的大肆宣傳,理解其不必要的含義是很重要的。在這方面,值得贊揚的是OpenAI負責任地研究、記錄和報告Codex的限制和威脅。

https://www.nshth.com/bcbj/313071.html
>

相关文章:

  • AI模型參數
  • ai語言是什么
  • 匯編語言是自然語言嗎
  • AI 訓練出的模型 怎么用
  • 分析時間的ai模型
  • 高級語言轉化為機器語言的兩種方式
  • AI編程語言前10名
  • opencodec
  • 2019北京智源大會,智源 - 看山杯 專家發現算法大賽 2019 知乎
  • 電腦id和ip是一個嗎,【運維心得】網絡ID與網絡IP的區別你知道嗎?
  • Deep Learning for Matching in Search and Recommendation 搜索與推薦中的深度學習匹配(1 引言)
  • woocommerce好用嗎,woocommerce 分類到菜單_我如何為每個WooCommerce產品類別創建不同的菜單?
  • wordpress底部菜單插件,sysbios掛鉤函數使用_使用動作掛鉤自定義WordPress主題
  • 醫學影像成像原理,醫學成像模式~~~
  • 學生請假系統app,基于微信小程序的學生請假系統開發
  • 上課睡覺,學生上課睡覺班主任怎么處理_學生上課睡覺,你能正確處理嗎?
  • 對計算機老師的課堂教學評價,計算機課學生評價用語,關于學生上課的評語及評課用語
  • 為什很多學生上課睡覺,學生上課睡覺班主任怎么處理_學生上課睡覺怎么辦
  • win10小盾牌怎么去掉,windows10軟件圖標去除小盾牌
  • matlab常用命令,matlab基礎之變量,matlab基礎知識(4):特殊變量
  • 應用程序右下角有個盾牌,Win7文件右下角盾牌標志去除方法---UAC阻止程序運行
  • 對ui設計的理解和認識,我對于UI設計這個領域的理解
  • 視頻直播間有哪些,直播平臺必備-百度音視頻直播 LSS
  • obs可以推流到哪些直播平臺,新版RTMP推流協議視頻直播點播平臺EasyDSS在進行視頻直播/錄像回看時如何創建視頻錄像計劃?
  • 歐美國家需要輸入法嗎,Mac刪除默認美國輸入法
  • iphone12忘記鎖屏密碼怎么解鎖,APPLE
  • 簡體字比繁體字的好處,雜談對抽象事物的審美——繁體字與簡體字,孰美?
  • 互聯網醫美是什么,醫美互聯網公司:新氧
  • 英語陳述句疑問句祈使句感嘆句,Wh問句,疑問句,祈使句,感嘆句,10
  • 反卷積原理,超越 ConvNeXt、RepLKNet | 看 51×51 卷積核如何破萬卷!
  • 三星最新概念機,三星提出XFormer | 超越MobileViT、DeiT、MobileNet等模型
  • 統計學屬于哪個大類,第四章 專業統計(上)-統計實務
  • json模塊,模塊講解——time,datetime,json,os,requests
  • 微信復制別人的話中間有虛線,微信小程序——繪制折線圖
  • 流固耦合作用,2018結構、流體、熱分析、多物理場耦合、電磁仿真計算特點與硬件配置方案分析
  • 流固耦合作用,結構、流體、熱分析、多物理場耦合、電磁仿真硬件配置推薦2018
  • 倉庫主管崗位職責,LeetCode:Database 115.倉庫經理
  • ios如何卸載軟件,ios13測試版怎么卸載軟件,蘋果手機升ios13.2后怎么刪除app ios13.2卸載軟件應用方法...