小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

微軟亞洲研究院周明 | 從語言智能到代碼智能

 520jefferson 2021-02-16


微軟亞洲研究院副院長周明老師報告:From Language Intelligence to Code Intelligence Based on Pre-trained Models

感謝周明老師的分享以及Windy同學的筆記,完整報告內(nèi)容文末閱讀原文一鍵直達。

TL;DR

代碼智能(Code Intelligence)旨在使計算機具備理解和生成代碼的能力,并利用編程語言知識和上下文進行推理,支持代碼檢索、補全、翻譯、糾錯、問答等場景。

以深度學習為代表的人工智能算法,近年來在視覺、語音和自然語言理解任務(wù)上取得了飛躍式的突破。最近基于Transformer的預訓練模型大大推動了自然語言處理和多模態(tài)的技術(shù)進步。而基于最新的自然語言技術(shù)與編程語言知識相融合的代碼智能的研究也受到越來越多的關(guān)注。

本報告將介紹微軟亞洲研究院自然語言計算組在該研究領(lǐng)域的一系列最新進展,包括針對代碼智能的預訓練模型(CodeBERT/CodeGPT)、基準數(shù)據(jù)集(CodeXGLUE)和融合了編程語言句法和語義信息的新的評價指標(CodeBLEU)。最后,本報告研討該領(lǐng)域目前存在的主要問題并探索未來的發(fā)展方向。

報告筆記如下。

一、語言智能和預訓練

這幾年NLP領(lǐng)域里程碑式的工作

  • word embedding (2013)
  • sentence embedding
  • encoder-decoder with attention (2014)
  • Transformer(2016)考慮到RNN并行能力弱(self-attention),只有一個特征抽取 (multi-head)
  • Pre-trained Model (self-supervised地把大規(guī)模語料中上下文相關(guān)的語義表示學出來,再fine-tuning)

為什么要做預訓練模型?

  1. 顯式表征了句法和語義知識
  2. 體現(xiàn)了遷移學習的特點,幫助低資源情況
  3. 幾乎支持所有NLP任務(wù),而且都取得了不錯的效果
  4. 可擴展性比較好,降低了NLP門檻

Self-supervised Learning方法

利用數(shù)據(jù)自然特點,不需要人工標注

  1. autoregressive(AR) LM
  2. auto-encoding (AE)

總結(jié)預訓練模型的相關(guān)工作(見下圖)

預訓練模型的發(fā)展趨勢

  • 模型越來越大(消耗資源,且不利于非企業(yè)研究)
  • 預訓練方法和模型不斷創(chuàng)新
  • 從單語到多語,到多模態(tài),到程序語言
  • 模型壓縮,知識蒸餾

微軟工作總覽

微軟預訓練模型介紹

  1. 「UniLM」(Dong et al.,2019)

    • GPT是單向,適合做生成;
    • Bert是雙向,適合做理解。
    • 能否合成?用了一個統(tǒng)一架構(gòu)三個部分做多任務(wù)學習。
  2. 「Unicoder for Understanding」 (Huang et al.,2019)

    • 多語言;
    • 增加contrastive learning任務(wù)判斷是否構(gòu)成互譯。
  3. 「Unicoder for Generation」 (Liang et al.,2020)

    • 由于2不能做生成而提出;
    • 對輸入加噪,試圖在解碼時去噪。
  4. 「Unicoder一VL for Images」 (Li et al, 2020)

    • 到圖像上的預訓練,考慮圖片+注釋。
  5. 「Unicoder一VL for Videos」 (Luo et al., 2020)

    • 同理,做視頻的預訓練,多任務(wù)訓練得到,融入了文本信息。
  6. 「LayoutLM: Text+Layout Pre 一training」

    • 文檔的預訓練(考慮了排版的信息,OCR結(jié)果的位置信息)

應(yīng)用

  • QA
  • Question Generation
  • Multilingual QA
  • Multilingual News Headline Generation
  • Image Search
  • Document Understanding
  • Video Chaptering

XCLUE基準

二、代碼智能 (基于預訓練模型)

能不能把自然語言的方法應(yīng)用到代碼領(lǐng)域,提高效率?

已有工作

  • excel檢測已經(jīng)完成的部分
  • 從自然語言的query通過parsing到SQL
  • GPT-3代碼生成(從自然語言描述到代碼塊)

現(xiàn)成資源

模型

  1. 「CodeBERT」 (Model-1)

    • baseline,在數(shù)據(jù)基礎(chǔ)上直接訓練一個Bert。
  2. 「CodeBERT (Model-2): Pre-Train with Code + Text」

    • 考慮到代碼有自己的特點(注釋)。
  3. 「CodeBERT (Model-3): Pre-Train with Code + Text + Structure」

    • 除了注釋還考慮到代碼有結(jié)構(gòu)(AST),變量有依賴或順序關(guān)系。
  4. 「CodeGPT」

下游任務(wù)

  1. 找到和輸入自然語言串符合的code
  2. 寫了一段代碼,補足下一個詞
  3. 找到bug并且修改
  4. 不同語言的代碼之間的翻譯(低資源問題,如何應(yīng)用單語數(shù)據(jù))

CodeXGLUE數(shù)據(jù)集和任務(wù)匯總

成本估算

評測

基于3點:不同詞的權(quán)重不同,AST的匹配,語義一致(看變量是否一致)

評測本身是否好?(看哪種評價和人工評價最吻合)

總結(jié)

未來的工作方向

提問

問:從高校的角度如何在預訓練方面工作?

答:

  1. 不要軍備競賽或者拼蠻力,應(yīng)該做方法論,例如如何融入知識;
  2. 小模型能否做很好的工作;模型壓縮,知識萃?。?/section>
  3. fine-tune也有很多工作,什么樣的方法微調(diào)會比較好;
  4. 擴展應(yīng)用領(lǐng)域;
  5. 跨學科工作。

問:代碼自動生成的規(guī)則是硬約束還是自動學習,如何保證正確性?

答:NLP工作者只知道串對串,對幾個詞的不同比較寬容,但編程只要錯一點就沒法運行。如何評測是需要考慮的,目前沒有很好的辦法數(shù)字化衡量,例如可執(zhí)行性,但邏輯性效率等都可以做一些模擬工作,希望大家未來想辦法自動評價

問:想關(guān)注跨模態(tài)工作前景?

答:以前從其他領(lǐng)域借鑒了很多方法,挪到了NLP;后來NLP的transformer等等,有更好的預訓練模型,可以反攻其他領(lǐng)域了。這件事是NLP工作者應(yīng)該好好考慮的,一切序列化的任務(wù)都可以看作自然語言任務(wù),提高相關(guān)領(lǐng)域的技術(shù)發(fā)展,反哺其他領(lǐng)域。

一起交流

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多