强力推荐!飞桨产业级PaddleNLP最新全景图发布
導讀:PaddleNLP是飛槳開源的產業級NLP工具與預訓練模型集,提供了依托于百度實際產品打磨,通過百億級大數據訓練的預訓練模型,能夠極大地方便 NLP 研究者和工程師快速應用。使用者可以用PaddleNLP 快速實現文本分類、詞法分析、相似度計算、語言模型、文本生成、閱讀理解和問答、對話系統以及語義表示8大類任務,并且可以直接使用百度開源工業級預訓練模型進行快速應用。用戶在極大地減少研究和開發成本的同時,也可以獲得更好的基于產業實踐的應用效果。
?
一張圖了解PaddleNLP!
傳送門:
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP
?
PaddleNLP全解讀
1. 語義表示
1.1.???ERNIE 2.0
ERNIE 2.0是基于持續學習的語義理解預訓練框架,使用多任務學習增量式構建預訓練任務。ERNIE 2.0中,新構建的預訓練任務類型可以無縫的加入訓練框架,持續的進行語義理解學習。通過新增的實體預測、句子因果關系判斷、文章句子結構重建等語義任務,ERNIE 2.0語義理解預訓練模型從訓練數據中獲取了詞法、句法、語義等多個維度的自然語言信息,極大地增強了通用語義表示能力。
ERNIE2.0模型和現有SOTA 預訓練模型在9 個中文數據集、以及英文數據集合 GLUE上進行效果比較。結果表明:ERNIE 2.0模型在英語任務上幾乎全面優于BERT和XLNet,在 7 個 GLUE 任務上取得了最好的結果;中文任務上,ERNIE 2.0模型在所有 9 個中文 NLP 任務上全面優于BERT。
傳送門:https://github.com/PaddlePaddle/ERNIE
1.2.???對比ERNIE 2.0 和ERNIE 1.0
?
1.3.???BERT on PaddlePaddle
BERT 是一個遷移能力很強的通用語義表示模型, 以Transformer 為網絡基本組件,以雙向 Masked Language Model和 Next Sentence Prediction 為訓練目標,通過預訓練得到通用語義表示,再結合簡單的輸出層,應用到下游的 NLP 任務,在多個任務上取得了 SOTA 的結果。本項目是 BERT 在 Paddle Fluid 上的開源實現。
?
1)完整支持 BERT 模型訓練到部署, 包括:支持 BERT GPU 單機、分布式預訓練;支持 BERT GPU 多卡 Fine-tuning;提供 BERT 預測接口 demo, 方便多硬件設備生產環境的部署。
2)支持 FP16/FP32 混合精度訓練和Fine-tuning,節省顯存開銷、加速訓練過程;
3)提供轉換成 Paddle Fluid 參數格式的 BERT 開源預訓練模型 供下載,以進行下游任務的 Fine-tuning, 包括如下模型:
4)支持 BERT TensorFlow 模型到 Paddle Fluid 參數的轉換。
傳送門:
https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/language_representations_kit/BERT
?
1.4.???ELMo on PaddlePaddle
ELMo(Embeddings from Language Models) 是重要的通用語義表示模型之一,以雙向 LSTM 為網路基本組件,以 Language Model 為訓練目標,通過預訓練得到通用的語義表示,將通用的語義表示作為 Feature 遷移到下游 NLP 任務中,會顯著提升下游任務的模型性能。本項目是 ELMo 在 Paddle Fluid 上的開源實現, 基于百科類數據訓練并發布了預訓練模型。
?
1) 基于百科類數據訓練的 ELMo 中文預訓練模型;
2) 完整支持 ELMo 模型訓練及表示遷移, 包括:支持 ELMo 多卡訓練,訓練速度比主流實現快約1倍;以 LAC 任務為示例提供ELMo 語義表示遷移到下游 NLP 任務的示例。
3)在閱讀理解任務和 LAC 任務上評估了 ELMo 預訓練模型帶給下游任務的性能提升:
?
LAC 加入 ELMo 后 F1 可以提升 1.1%
閱讀理解任務加入 ELMo 后 Rouge-L 提升 1%
傳送門:
https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/language_representations_kit/ELMo
2. 對話系統
2.1.???知識驅動對話
人機對話是人工智能(AI)中最重要的話題之一,近年來受到學術界和工業界的廣泛關注。目前,對話系統仍然處于起步階段,通常是被動地進行交談,并且更多地將他們的言論作為回應而不是他們自己的倡議,這與人與人的談話不同。因此,我們在一個名為知識驅動對話的新對話任務上設置了這個競賽,其中機器基于構建的知識圖與人交談。它旨在測試機器進行類似人類對話的能力。
我們提供基于檢索和基于生成的基線系統。這兩個系統是由飛槳和Pytorch實現的。兩個系統的性能如下表所示。
傳送門:
https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/Research/ACL2019-DuConv
2.2.???對話模型工具箱?AutoDialogue Evaluation
對話自動評估模塊主要用于評估開放領域對話系統的回復質量,能夠幫助企業或個人快速評估對話系統的回復質量,減少人工評估成本。
1)在無標注數據的情況下,利用負采樣訓練匹配模型作為評估工具,實現對多個對話系統回復質量排序;
2)利用少量標注數據(特定對話系統或場景的人工打分),在匹配模型基礎上進行微調,可以顯著提高該對話系統或場景的評估效果。
以四個不同的對話系統(seq2seq_naive/seq2seq_att/keywords/human)為例,使用對話自動評估工具進行自動評估。
/ | seq2seq_naive | seq2seq_att | keywords | human |
cor | 0.474 | 0.477 | 0.443 | 0.378 |
?
對話通用理解模型DGU
對話相關的任務中,Dialogue System常常需要根據場景的變化去解決多種多樣的任務。任務的多樣性(意圖識別、槽位解析、DA識別、DST等等),以及領域訓練數據的稀少,給Dialogue System的研究和應用帶來了巨大的困難和挑戰,要使得dialoguesystem得到更好的發展,需要開發一個通用的對話理解模型。基于BERT的對話通用理解模塊(DGU: Dialogue General Understanding),通過實驗表明,使用base-model(BERT)并結合常見的學習范式,在幾乎全部對話理解任務上取得比肩甚至超越各個領域業內最好的模型的效果,展現了學習一個通用對話理解模型的巨大潛力。
DGU針對數據集開發了相關的模型訓練過程,支持分類,多標簽分類,序列標注等任務,用戶可針對自己的數據集,進行相關的模型定制。
基于對話相關的業內公開數據集進行評測,效果如下表所示。
?
傳送門:
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP/dialogue_model_toolkit
?
3.?閱讀理解和問答
3.1.???D-NET
百度在MRQA 2019閱讀理解國際評測中提出了一個通用的“預訓練-微調”模型訓練框架D(ecathlon)-NET。在全部12個測試數據集中的10個上均排名第一。
目前,“預訓練-微調”在自然語言處理領域已成為一種新的、被廣泛采用的學習范式,即首先在大規模無標簽語料上以語言模型為目標進行預訓練,然后再針對特定任務,如閱讀理解進行針對性的微調。百度提出的D-NET框架主要包括以下優勢:
在預訓練階段,采用了基于飛槳深度學習框架中的多種預訓練模型,融合了多種預訓練模型的優勢,獲得了比官方基線更好的效果。
在微調之前,D-NET引入了針對更多領域數據的進一步預訓練,以提升模型在特定領域上的適應性,彌補預訓練模型語料分布的局限性。
在微調過程中,D-NET采用了基于飛槳多任務學習框架進行多任務學習。在多任務學習的過程中利用了其它有標注的自然語言處理數據集(如自然語言推斷、段落排序等)學習更好的語言表示,從而提升模型的泛化能力。“預訓練-微調”學習范式在微調階段的一個問題是容易發生災難性遺忘。因此,D-NET在微調過程中引入了防止災難性遺忘的機制。
在微調結束后,D-NET使用飛槳知識蒸餾框架提升單模型效果,以滿足本次評測對模型效率的要求。
本模型預計于Paddle Fluid v1.6版本開源,敬請期待
?
3.2.???KT-NET
百度研發的基于知識增強的閱讀理解模型,發表于ACL2019
指標性能復現
傳送門:
https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/Research/ACL2019-KTNET
?
3.3.???DuReader
?
在機器閱讀理解(MRC)任務中,我們會給定一個問題(Q)以及一個或多個段落(P)/文檔(D),然后利用機器在給定的段落中尋找正確答案(A),即Q + P or D => A. 機器閱讀理解(MRC)是自然語言處理(NLP)中的關鍵任務之一,需要機器對語言有深刻的理解才能找到正確的答案。
?
DuReader是一個大規模、面向真實應用、由人類生成的中文閱讀理解數據集。聚焦于真實世界中的不限定領域的問答任務。相較于其他閱讀理解數據集,DuReader的優勢包括:
?
????????問題來自于真實的搜索日志,
????????文章內容來自于真實網頁
????????答案由人類生成
????????面向真實應用場景
????????標注更加豐富細致
升級后的基線系統性能指標:
傳送門:
https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/Research/ACL2018-DuReader
4. 文本生成
機器翻譯(Machine Translation, MT)是利用計算機將一種自然語言(源語言)轉換為另一種自然語言(目標語言)的過程,輸入為源語言句子,輸出為相應的目標語言的句子。
4.1.Transformer on PaddlePaddle
本項目是機器翻譯領域主流模型Transformer 的飛槳實現, 包含模型訓練,預測以及使用自定義數據等內容。用戶可以基于發布的內容搭建自己的翻譯模型。
測試效果
傳送門:
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP/neural_machine_translation/transformer
4.2.RNN Search on PaddlePaddle
RNN Search模型使用了經典的編碼器-解碼器(Encoder-Decoder)的框架結構來解決Seq2Seq類問題。這種方法先用編碼器將源序列編碼成vector,再用解碼器將該vector解碼為目標序列。這其實模擬了人類在進行翻譯類任務時的行為:先解析源語言,理解其含義,再根據該含義來寫出目標語言的語句。編碼器和解碼器往往都使用RNN來實現。
本模型中,在編碼器方面,我們采用了基于LSTM的多層的encoder;在解碼器方面,我們使用了帶注意力(Attention)機制的RNN decoder,并同時提供了一個不帶注意力機制的解碼器實現作為對比;而在預測方面我們使用柱搜索(beam search)算法來生成翻譯的目標語句。
單個模型 beam_size = 10時的效果:
no ?attention | with attention | |
| tst2012 BLEU | 11.58 | 22.21 |
| tst2013 BLEU | 12.20 | 25.30 |
5. 詞法分析
Lexical Analysis of Chinese,簡稱 LAC,是一個聯合的詞法分析模型,能整體性地完成中文分詞、詞性標注、專名識別任務。我們在自建的數據集上對分詞、詞性標注、專名識別進行整體的評估效果,具體數值見下表;此外,我們在百度開放的ERNIE模型上 finetune,并對比基線模型、BERT finetuned 和 ERNIE finetuned 的效果,可以看出會有顯著的提升。
傳送門:
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP/lexical_analysis
6. 文本分類
情感傾向分析(Sentiment Classification,簡稱Senta)針對帶有主觀描述的中文文本,可自動判斷該文本的情感極性類別并給出相應的置信度。情感類型分為積極、消極。情感傾向分析能夠幫助企業理解用戶消費習慣、分析熱點話題和危機輿情監控,為企業提供有利的決策支持。
?
情感是人類的一種高級智能行為,為了識別文本的情感傾向,需要深入的語義建模。另外,不同領域(如餐飲、體育)在情感的表達各不相同,因而需要有大規模覆蓋各個領域的數據進行模型訓練。為此,我們通過基于深度學習的語義模型和大規模數據挖掘解決上述兩個問題。效果上,我們基于開源情感傾向分類數據集ChnSentiCorp進行評測;此外,我們還開源了百度基于海量數據訓練好的模型,該模型在ChnSentiCorp數據集上fine-tune之后,可以得到更好的效果。具體數據如下所示:
傳送門:
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP/sentiment_classification
2、對話情緒識別
對話情緒識別(Emotion Detection,簡稱EmoTect),專注于識別智能對話場景中用戶的情緒,針對智能對話場景中的用戶文本,自動判斷該文本的情緒類別并給出相應的置信度,情緒類型分為積極、消極、中性。
?
對話情緒識別適用于聊天、客服等多個場景,能夠幫助企業更好地把握對話質量、改善產品的用戶交互體驗,也能分析客服服務質量、降低人工質檢成本。
?
效果上,我們基于百度自建測試集(包含閑聊、客服)和nlpcc2014微博情緒數據集,進行評測,效果如下表所示,此外我們還開源了百度基于海量數據訓練好的模型,該模型在聊天對話語料上fine-tune之后,可以得到更好的效果。
傳送門:
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP/emotion_detection
7. 相似度計算
短文本語義匹配(SimilarityNet,SimNet)是一個計算短文本相似度的框架,可以根據用戶輸入的兩個文本,計算出相似度得分。SimNet框架在百度各產品上廣泛應用,主要包括BOW、CNN、RNN、MMDNN等核心網絡結構形式,提供語義相似度計算訓練和預測框架,適用于信息檢索、新聞推薦、智能客服等多個應用場景,幫助企業解決語義匹配問題。可通過AI開放平臺-短文本相似度線上體驗。
基于百度海量搜索數據,我們訓練了一個SimNet-BOW-Pairwise語義匹配模型,在一些真實的FAQ問答場景中,該模型效果比基于字面的相似度方法AUC提升5%以上,我們基于百度自建測試集(包含聊天、客服等數據集)和語義匹配數據集(LCQMC)進行評測,效果如下表所示。LCQMC數據集以Accuracy為評測指標,而pairwise模型的輸出為相似度,因此我們采用0.958作為分類閾值,相比于基線模型中網絡結構同等復雜的CBOW模型(準確率為0.737),我們模型的準確率為0.7532。
傳送門:
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP/similarity_net
8. 語言模型
基于lstm的語言的模型的實現,給定一個輸入詞序列(中文分詞、英文tokenize),計算其ppl(語言模型困惑度,用戶表示句子的流利程度),基于循環神經網絡語言模型的介紹可以參閱論文。相對于傳統的方法,基于循環神經網絡的方法能夠更好的解決稀疏詞的問題。
在small meidum large三個不同配置情況的ppl對比:
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP/language_model
?
歷史PaddleNLP文章傳送門
盤點 | 解析PaddlePaddle官方九大NLP模型
讓聊天機器人完美回復|基于PaddlePaddle的語義匹配模型DAM
基于PaddlePaddle的詞向量實戰 | 深度學習基礎任務教程系列(二)
基于PaddlePaddle的情感分析實戰 | 深度學習基礎任務教程
基于PaddlePaddle的機器翻譯實戰 | 深度學習基礎任務教程
飛槳帶你了解:基于百科類數據訓練的 ELMo 中文預訓練模型
? ? ? ? ? ? ? ??
基于PaddlePaddle的語義角色標注
七夕禮物沒送對?飛槳PaddlePaddle幫你讀懂女朋友的小心思
飛槳強勢助攻,百度奪冠MRQA2019,斬獲十項第一
信息檢索&FAQ硬核技術!飛槳開源百度自研SimNet模型
走進機器閱讀理解的世界,飛槳開源升級版 BiDAF模型解讀
?
想與更多的深度學習開發者交流,請加入飛槳官方QQ群:796771754。
如果您想詳細了解更多相關內容,請參閱以下文檔。
官網地址:https://www.paddlepaddle.org.cn
項目地址:
https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP
?
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的强力推荐!飞桨产业级PaddleNLP最新全景图发布的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信托产品哪里买
- 下一篇: 为AI学术小白铺平道路,NeurIPS