日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

分享实录 | 深度学习技术红利下的代码补全

發布時間:2024/9/3 pytorch 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分享实录 | 深度学习技术红利下的代码补全 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介:?在軟件研發過程中,“代碼補全”至關重要,它可以有效的提升開發效率、減少拼寫錯誤和輸入代碼量。本期《云效說碼》分享邀請斑馬網絡技術專家旭倫分享了《技術紅利下的代碼補全》,介紹了深度學習革命帶來的技術紅利,在代碼補全業務中對于這些“紅利”的應用,以及在阿里云上低成本落地的方法。

在軟件研發過程中,“代碼補全”至關重要,它可以有效的提升開發效率、減少拼寫錯誤和輸入代碼量。本期《云效說碼》分享邀請斑馬網絡技術專家旭倫分享了《技術紅利下的代碼補全》,介紹了深度學習革命帶來的技術紅利,在代碼補全業務中對于這些“紅利”的應用,以及在阿里云上低成本落地的方法。
【以下為旭倫分享實錄,有刪減】

深度學習革命帶來的三個技術紅利

2012年ImageNet競賽冠軍Hinton和他的學生Alex Krizhevsky設計出AlexNet,從而引領了以深度全連接網絡、深度卷積網絡、循環網絡為代表的第一次深度學習革命,其成果是在圖像識別領域人工智能超越人類

深度學習和強化學習結合形成了第二次深度學習革命,其代表事件是:2016年阿爾法圍棋(AlphaGo)打敗韓國圍棋九段棋手李世石;2017年,阿爾法圍棋以總比分3比0戰勝世界排名第一的中國棋手柯潔。從此,人工智能在圍棋上打敗人類

預訓練模型”的出現和發展帶來了第三次深度學習革命,其成果是在自然語音處理方面人工智能戰勝人類,目前該技術已經在機器翻譯和智能回答機器人領域得到廣泛應用。

其中“預訓練模型”可能是大家了解最少的,但是跟代碼補全最相關,我簡要介紹一下,其實目前“各大廠”都在訓練自己的預訓練模型,大家可以登錄“GLUE”網站進行查看,排名幾乎每天都在變化,這張截圖是阿里巴巴達摩院的“StructBERT”登頂時截取的。

目前,深度學習中的預訓練模型已經在很多任務上超越人類,比如CoLA數據集是判斷一個句子是不是符合語法規則;SST-2情感分析數據集用于判斷一條影評語句是正面還是負面的;MRPC數據集用于判斷兩條新聞句子描述的是不是同樣的意義等。這些通過BERT等預訓練模型都可以處理,其最新改進版都可以超越人類標注的值。除此之外,還有GPT2等生成模型,可以實現自動寫作功能。

預訓練模型與代碼補全技術的結合

前面我們提到了“預訓練模型”不僅可以判斷語句是否符合語法規則,分析影評語句是正面還是負面,甚至可以實現自動寫作文。那么“預訓練模型”是否可以幫助我們做“代碼補全”呢?回答是肯定的。

代碼補全的基礎理論是:代碼大數據理論。“代碼大數據”包含了代碼和代碼元信息,代碼元信息,包括注釋信息,代碼提交時的信息,測試、review時的信息,BUG信息等。這個理論要起作用,需要基于一個公理:基于代碼的自然性原理。

雖然語言可以千變萬化,但是落實到日常生活中,由于認知的限制和實際的需要,我們日常交流所有的語言是重復性的,有規律的,可預測的。這個統計上的結果,導致了統計機器學習方法在語音識別、機器翻譯等領域的巨大成功。于是我們可以假設程序代碼也是自然的,因為它們也是人類在工作中創建的,受到硬件的軟件的各方面的限制,它們也應該是有其統計規律的。

經過研究證明,代碼不但是有自然性的,而且比自然語言的自然性還要好。為此,人們實現了一套基于統計方法的代碼補全系統,并成功應用于eclipse IDE中。

有了理論之后,大家迅速將其應用于解決自己手頭的問題,代碼智能一片繁榮:
2014年代碼智能技術被用于代碼提示與補全和提升代碼可讀性;
2015年用于推薦方法名和類名以及語法錯誤修復;
2016年用于bug修復和源代碼總結和查找代碼克隆;
2018年被用于預測bug和自動為代碼生成注釋以及用于反混淆。

代碼補全的局限性及解決方案

正在看起來歲月靜好的時候,Vincent J. Hellendoorn和Premkumar Devanbu發表了《深度神經網絡是建模程序源代碼的最佳選擇嗎?》,認為OOV(Out-of-vocabulary)問題導致深度學習處理程序語言的效果還不如傳統機器學習方法。

除此之外,代碼補全系統還有3個要求:總是要給出補全結果,速度要跟上程序員打字速度 ,資源占用不能太高。

從程序員的視角看,本地發生的開發與最終提交的開發順序和上下文環境非常不同,動態集成本地數據的模型比靜態模型運行得好得多,針對重復典型模式進行了優化,但可能無法提供新的見解。

為了解決此問題,在實踐上,需要實現補全算法,我們需要進行混合模型處理,既要有本地傳統算法引擎,也要有遠程的算法模型。

從落地方法上,我們采用huggingface的Transformers庫,因為其針對多個模型有良好的封裝。

在阿里云上低成本落地的方法

如下圖所示,這是一張代碼補全系統的架構圖,除了需要有一個主算法引擎外,我們還需要一個帶離線緩存更新的超大規模引擎。為什么要有超大規模引擎?因為前面也提到了,程序員希望代碼補全系統可以提供他們不知道內容。這樣的結構需要很強的算力,普通的個人筆記本跑不起來。如果要在個人筆記本中實現,就還必須有快速引擎、RNN引擎和注意力引擎。

為了節省成本,我們采用搶占式GPU的方式進行訓練。但問題是“搶占式GPU”雖然便宜,但是GPU資源隨時可能被別人搶走。“計算”被搶走了,你的“存儲”存在哪里呢?這個時候就需要一個本地的存儲,我選擇的是用“本地NAS”。大家可以簡單理解“NAS”就是一個網盤,存儲速度很快,但是費用也很高。為了節省預算,我們還需要配一個“本地OSS”,這樣我們就構成一個訓練服務器集群。

因為我們用到的“模型”太大了,如果直接從國外的服務器上下載,速度很慢,可能幾天也無法下載一個“模型”。于是,我們再次發揮云計算的優勢。我們可以先在香港租用了臨時ECS,然后通過“香港OSS”再轉移到“本地OSS”中,從而實現下載加速。

以上內容來自旭倫在“云效開發者交流群”中的視頻直播分享,有刪節,您可以點擊這里觀看完整視頻。

?

總結

以上是生活随笔為你收集整理的分享实录 | 深度学习技术红利下的代码补全的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 自拍偷拍亚洲欧美 | 中文字幕人妻色偷偷久久 | 黄色大片aaa | 丰满少妇中文字幕 | av制服丝袜 | 久久久国产免费 | 色图自拍偷拍 | 五月婷婷操 | 国产人妖在线视频 | 少妇搡bbbb搡bbb搡澳门 | 可以直接观看的av | 国产91片 | 国产精品久久婷婷六月丁香 | 天天噜夜夜噜 | 91欧美亚洲 | 麻豆国产精品 | 亚洲yy | 国产另类精品 | 97人妻人人揉人人躁人人 | 欧美另类色 | 三级小视频在线观看 | 久久久久欧美 | 婷婷久久精品 | 黄色免费观看网站 | 他揉捏她两乳不停呻吟动态图 | 日本一道本 | 影音先锋中文字幕一区 | 不卡网av| 九色影视 | 99热欧美| 九九黄色大片 | 日本三级韩国三级三级a级中文 | 国产精品无码白浆高潮 | 国产真人无码作爱视频免费 | 亚洲 欧美 激情 另类 | 亚洲国产97 | 欧美日韩高清一区二区 | 欧美激情国产日韩精品一区18 | 欧美黄色大片在线观看 | 色热热| 亚色中文 | 17c精品麻豆一区二区免费 | 国产午夜一级一片免费播放 | 精品一区二区久久 | 日韩精品视频一区二区 | 亚洲欧美日韩国产精品 | 日本不卡123 | 你懂的在线观看网址 | 四虎在线免费视频 | 中文字幕在线观看二区 | 国产黄色av| 国产毛片毛片毛片毛片毛片 | av在线电影网站 | 久久国产精 | 第一av在线 | 国产盗摄精品一区二区酒店 | 日本成人动漫在线观看 | 亚洲无打码 | 蜜乳av懂色av粉嫩av | 久艹视频在线 | 一级黄色片免费看 | 久久高清国产 | wwwav在线播放 | 国产精品三区四区 | 泽村玲子av | www.成人在线观看 | 在线观看一区二区三区视频 | 久久午夜无码鲁丝片 | 粉色视频免费观看 | 久久一线 | 欧美在线观看视频一区 | 毛片无码免费无码播放 | 国产欧美精品一区二区 | 亚洲人xxx日本人18 | 精品视频免费在线观看 | 成人精品福利 | 日本久久中文字幕 | 女人一级一片30分 | 日韩欧美在线观看视频 | 操到喷水 | 玖玖成人 | 亚洲AV无码成人国产精品色 | 日韩精品视频在线观看免费 | 国产伦精品一区二区三区在线 | 男男免费视频 | 精品国产乱码久久久久久108 | 日韩一三区 | 久久久一级黄色片 | 亚洲第一页中文字幕 | 国产三级在线观看完整版 | 亚洲综合资源 | 亚洲激情短视频 | 天天色影院 | 日韩精品――中文字幕 | 天天干天天草天天射 | 一区二区三区黄色片 | 亚洲色偷偷色噜噜狠狠99网 | 超级砰砰砰97免费观看最新一期 | 91看片国产 |