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

準(zhǔn)確率可提升50%以上,F(xiàn)acebook用遷移學(xué)習(xí)改進(jìn)代碼自動(dòng)補(bǔ)全

新聞 前端
近日,來自 Facebook 的研究團(tuán)隊(duì)在論文《Improving Code Autocompletion with Transfer Learning》中展示了遷移學(xué)習(xí)如何在自動(dòng)補(bǔ)全預(yù)測(cè)任務(wù)上進(jìn)行微調(diào)之前,實(shí)現(xiàn)在非 IDE、非自動(dòng)補(bǔ)全和不同語言示例代碼序列上的預(yù)訓(xùn)練。

 [[401085]]

代碼自動(dòng)補(bǔ)全功能(應(yīng)用程序預(yù)測(cè)文本輸入中的下一項(xiàng))已成為消息傳遞等任務(wù)中便捷且廣泛使用的工具,也是用于計(jì)算機(jī)編程所需的集成開發(fā)環(huán)境(IDE)最重要功能之一。

最近的研究表明,代碼自動(dòng)補(bǔ)全可以通過深度學(xué)習(xí)來實(shí)現(xiàn),訓(xùn)練數(shù)據(jù)來自程序員使用 IDE 編碼行為的真實(shí)數(shù)據(jù),使軟件語言模型能夠獲得顯著的準(zhǔn)確率提升。然而,對(duì)于不太流行的編程語言來說,經(jīng)常會(huì)遇到一個(gè)問題,即可用的 IDE 數(shù)據(jù)集可能不足以訓(xùn)練出一個(gè)模型。

近日,來自 Facebook 的研究團(tuán)隊(duì)在論文《Improving Code Autocompletion with Transfer Learning》中展示了遷移學(xué)習(xí)如何在自動(dòng)補(bǔ)全預(yù)測(cè)任務(wù)上進(jìn)行微調(diào)之前,實(shí)現(xiàn)在非 IDE、非自動(dòng)補(bǔ)全和不同語言示例代碼序列上的預(yù)訓(xùn)練。實(shí)驗(yàn)結(jié)果表明,該方法在非常小的微調(diào)數(shù)據(jù)集上提高了超過 50% 準(zhǔn)確率,在 50k 標(biāo)記示例上提高了超過 10% 準(zhǔn)確率。

準(zhǔn)確率可提升50%以上,F(xiàn)acebook用遷移學(xué)習(xí)改進(jìn)代碼自動(dòng)補(bǔ)全

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

本文的貢獻(xiàn)主要包括以下幾個(gè)方面:

  • 該研究從版本控制提交獲得的源代碼文件,預(yù)訓(xùn)練了兩個(gè) transformer 軟件語言模型 GPT-2 和 BART,結(jié)果顯示它們?cè)谧詣?dòng)補(bǔ)全預(yù)測(cè)方面的性能,比直接使用實(shí)際 IDE 代碼序列的微調(diào)提高了 2.18%;
  • GPT-2 模型在兩個(gè)真實(shí)數(shù)據(jù)集上進(jìn)行了訓(xùn)練:IDE 編寫程序期間和代碼補(bǔ)全選擇期間記錄的代碼序列。預(yù)訓(xùn)練和針對(duì)特定任務(wù)的微調(diào)相結(jié)合能夠使模型性能更好,高出基準(zhǔn)模型 3.29%;
  • 該研究顯示,與僅對(duì) Python 實(shí)例進(jìn)行訓(xùn)練的模型相比,與在 Hack 實(shí)例上進(jìn)行了預(yù)訓(xùn)練并在 10k Python 實(shí)例上進(jìn)行了微調(diào)的模型進(jìn)行比較,在不同編程語言上進(jìn)行預(yù)訓(xùn)練可將準(zhǔn)確率提高 13.1%;
  • 通過在線 A/B 測(cè)試,該研究證明了在三個(gè)遷移學(xué)習(xí)維度(任務(wù)、領(lǐng)域和語言)上的改進(jìn),自動(dòng)補(bǔ)全工具的使用率分別提高了 3.86%、6.63% 和 4.64%。

實(shí)驗(yàn)設(shè)置

該研究的數(shù)據(jù)集(如下表 1 所示)來源于 Facebook 的真實(shí)開發(fā)者活動(dòng)。研究者專注于兩種開發(fā)語言 Hack 和 Python,這兩種語言在 Facebook 擁有大量的開發(fā)者群體。

準(zhǔn)確率可提升50%以上,F(xiàn)acebook用遷移學(xué)習(xí)改進(jìn)代碼自動(dòng)補(bǔ)全

在本文中,研究者使用兩種模型(都結(jié)合了 Transformer 架構(gòu))評(píng)估遷移學(xué)習(xí)的效果。由于本文的重點(diǎn)是研究遷移學(xué)習(xí)的影響,因此實(shí)驗(yàn)將重點(diǎn)集中在了這兩種模型上,并且沒有與其他 SOTA 模型進(jìn)行比較。實(shí)驗(yàn)用到的模型包括:

  • GPT-2:一種解碼器 transformer 模型,由于 transformer 具有同時(shí)觀察所有序列元素及其自注意力塊的能力,因此在代碼預(yù)測(cè)中達(dá)到了 SOTA 性能;
  • PLBART:一種雙向模型,該模型利用編碼器對(duì)代碼完成點(diǎn)周圍的上下文進(jìn)行編碼,并使用類似 GPT-2 的解碼器進(jìn)行自動(dòng)回歸生成。

每個(gè)軟件語言模型分兩個(gè)階段進(jìn)行訓(xùn)練,分別是預(yù)訓(xùn)練階段和微調(diào)階段。所有模型都使用 Nvidia Tesla V100 GPU、20 epoch 進(jìn)行訓(xùn)練(在融合時(shí)提前終止)。預(yù)訓(xùn)練以及微調(diào)前學(xué)習(xí)率分別設(shè)置為 5^−4 和 5^−6。

研究者通過離線和在線的方式評(píng)估模型性能。

離線評(píng)估:研究者使用 10% 的 HackAutocompletion、PythonAutocompletion 作為測(cè)試數(shù)據(jù)集。HackAutocompletion 示例平均有 99.5 條候選建議可供選擇,pythonautomplection 示例平均有 26.3 條。候選建議列表允許將評(píng)估作為一個(gè)排名問題。對(duì)于每個(gè)離線測(cè)量,研究者報(bào)告 top-1 和 top-3 的準(zhǔn)確率以及 k=3 的平均倒數(shù)排名(MRR@)。MRR 定義為:

準(zhǔn)確率可提升50%以上,F(xiàn)acebook用遷移學(xué)習(xí)改進(jìn)代碼自動(dòng)補(bǔ)全

在線評(píng)估:該研究旨在提高開發(fā)者 IDE 體驗(yàn)。雖然離線評(píng)估速度更快、成本更低,但必須使用真實(shí)用戶測(cè)試改進(jìn)。在線評(píng)估中,對(duì)來自 Facebook 的數(shù)千名 Hack 開發(fā)者進(jìn)行了多次實(shí)時(shí) A/B 實(shí)驗(yàn)。在每個(gè)實(shí)驗(yàn)中,開發(fā)者被隨機(jī)分配到一個(gè)實(shí)驗(yàn)組或控制組,測(cè)量每個(gè)用戶的每日完成量(DCPU)。使用這個(gè)指標(biāo),A/B 測(cè)試觀察值是指其中一個(gè)組(實(shí)驗(yàn)組或控制組)中給定開發(fā)者在給定日期使用自動(dòng)補(bǔ)全的次數(shù)。研究人員對(duì)每個(gè)組進(jìn)行實(shí)驗(yàn),直到達(dá)到至少 95% 的統(tǒng)計(jì)數(shù)據(jù)。

實(shí)驗(yàn)結(jié)果

離線評(píng)估:在標(biāo)記數(shù)據(jù)上進(jìn)行微調(diào)的自動(dòng)補(bǔ)全模型在離線和在線評(píng)估中的性能優(yōu)于沒有特定任務(wù)微調(diào)的模型。在離線評(píng)估中,下表 III 顯示微調(diào)使得 top-1 的準(zhǔn)確率從 39.73% 提高到 41.91%。將標(biāo)記樣本加入預(yù)訓(xùn)練(HackAll)后,top1 的準(zhǔn)確率從 40.25% 上升到 41.6%。在訓(xùn)練 Python 自動(dòng)補(bǔ)全模型時(shí)也觀察到了同樣的趨勢(shì)(表 IV)。

準(zhǔn)確率可提升50%以上,F(xiàn)acebook用遷移學(xué)習(xí)改進(jìn)代碼自動(dòng)補(bǔ)全

在線評(píng)估:在 HackIde 上訓(xùn)練了一個(gè)自動(dòng)補(bǔ)全模型。實(shí)驗(yàn)變量在 HackAutocompletion 上進(jìn)行微調(diào),而控制變量沒有進(jìn)行微調(diào)。下表 II 中的實(shí)驗(yàn) 1 表明,在 p=0.0238 時(shí),實(shí)驗(yàn)組的每位用戶每日完成量(daily completions per user, DCPU)增加了 3.86%。

研究者進(jìn)行了第二個(gè) A/B 實(shí)驗(yàn),比較了前一個(gè)實(shí)驗(yàn)(HackIde 的預(yù)訓(xùn)練和 HackAutocompletion 的微調(diào))中更好的模型和沒有預(yù)訓(xùn)練的 HackAutocompletion 訓(xùn)練模型。實(shí)驗(yàn) 2 顯示沒有進(jìn)行預(yù)訓(xùn)練模型的巨大改進(jìn),實(shí)驗(yàn)組的 DCPU 在 p=0.017 時(shí),增加了 6.63%。

準(zhǔn)確率可提升50%以上,F(xiàn)acebook用遷移學(xué)習(xí)改進(jìn)代碼自動(dòng)補(bǔ)全

在線評(píng)估:研究者進(jìn)行了 A / B 實(shí)驗(yàn),以探討預(yù)訓(xùn)練對(duì)代碼提交的現(xiàn)實(shí)影響。上表 II 中的實(shí)驗(yàn) 3 表明,在 p = 0.049 時(shí),預(yù)訓(xùn)練模型可提高 3.62%的 DCPU。

下圖 4 顯示了在 HackAll 上預(yù)訓(xùn)練模型具有更好的性能,這與在微調(diào)中使用的 PythonAll 示例的數(shù)量無關(guān)。當(dāng)將模型限制為僅 10k (top1 準(zhǔn)確率 13.1%,37.11% vs. 24.01%)和 25k (top1 準(zhǔn)確率 12.6%,41.26% vs. 28.66%)時(shí),邊際影響最大。

這表明在自動(dòng)補(bǔ)全中跨編程語言的知識(shí)遷移的明顯證據(jù)。在 HackAll 上預(yù)訓(xùn)練并使用 25k 和 50k PythonAll 示例進(jìn)行微調(diào)的模型的性能與使用 50k 和 100k PythonAll 示例從頭訓(xùn)練的性能相似。這表明,在使用其他語言的數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練后,所需的樣本數(shù)量只有原來的一半。

準(zhǔn)確率可提升50%以上,F(xiàn)acebook用遷移學(xué)習(xí)改進(jìn)代碼自動(dòng)補(bǔ)全

下表 V 展示了對(duì) HackAutocompletion 、PythonAutocompletion 微調(diào)后,性能分別提高了 0.5%、1.34%。然而,與最好的單一語言模型相比,多語言模型沒有表現(xiàn)出這種顯著改進(jìn)。最優(yōu)的多語言模型的 top-1 準(zhǔn)確率比最優(yōu)的 Python 模型高 0.53%,但比最優(yōu)的 Hack 模型低 0.02%。結(jié)合其他研究結(jié)果并假設(shè),隨著每種語言中可用示例數(shù)量的增加,跨語言組合編程語言示例的邊際效益(marginal benefit)遞減。

準(zhǔn)確率可提升50%以上,F(xiàn)acebook用遷移學(xué)習(xí)改進(jìn)代碼自動(dòng)補(bǔ)全

上表 III 顯示,使用 HackAutocompletion 微調(diào)進(jìn)行的 HackCommit 預(yù)訓(xùn)練的性能優(yōu)于 HackAutocompletion,提高 3.29%top-1 準(zhǔn)確率(39.61%VS36.32%)。PLBART 的 top-1 準(zhǔn)確率提高幅度更大(表 VI):6.52%(51.06%VS44.54%)。

 

責(zé)任編輯:張燕妮 來源: 機(jī)器之心Pro
相關(guān)推薦

2022-04-13 10:31:04

微軟Jigsaw大型語言模型

2023-03-03 18:31:23

網(wǎng)絡(luò)承運(yùn)商路由

2024-09-12 13:50:00

模型訓(xùn)練

2023-11-08 08:38:43

2022-09-25 17:07:27

訓(xùn)練圖像

2024-01-05 08:44:52

2025-05-19 14:53:07

AILLM模型

2023-10-14 17:24:49

2021-10-29 14:14:26

AI數(shù)據(jù)人工智能

2020-07-24 12:30:58

AI 數(shù)據(jù)人工智能

2023-10-28 13:36:48

模型ChatGPT

2024-11-18 09:50:00

模型訓(xùn)練

2024-06-06 10:08:32

2021-10-11 17:27:50

框架計(jì)算機(jī)開發(fā)

2017-04-28 10:36:46

機(jī)器人醫(yī)療智能

2024-04-15 11:48:09

2020-10-18 12:27:35

人工智能人臉識(shí)別技術(shù)

2016-01-27 13:37:53

機(jī)器學(xué)習(xí)數(shù)據(jù)模型算法

2020-04-26 15:35:49

神經(jīng)網(wǎng)絡(luò)決策樹ImageNet

2024-03-01 13:31:21

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲国产午夜 | 久久久久久久一区 | 黄网站在线播放 | 日本在线综合 | 99久久99| 日韩在线| 欧美一级欧美三级在线观看 | 黄色视频a级毛片 | 亚洲精品日韩精品 | 秋霞在线一区 | 久久高清国产视频 | 亚洲成网| 亚洲精品一区中文字幕乱码 | 视频一区二区中文字幕 | 超级碰在线 | 久久综合一区二区 | 成人激情视频在线播放 | 夜夜爽99久久国产综合精品女不卡 | 亚洲激情av | 成人性视频免费网站 | 一级毛片在线播放 | 欧美色视频免费 | 你懂的av| 老子午夜影院 | 国产高潮好爽受不了了夜色 | 天天爽夜夜爽精品视频婷婷 | 精品国产乱码久久久久久中文 | 精品久久久久久亚洲精品 | 在线中文字幕第一页 | 国产一区91精品张津瑜 | 涩在线 | 亚洲男女视频在线观看 | caoporn国产| 国产黄色在线观看 | 日本久草 | 亚洲天堂一区 | 中文字幕在线免费 | 午夜在线免费观看视频 | 欧洲精品一区 | 久久首页 | 91一区二区|