BERT模型為什么這么強?
↑↑↑點擊上方藍字,回復資料,10個G的驚喜
如果你是一名自然語言處理從業(yè)者,那你一定聽說過大名鼎鼎的 BERT 模型。
BERT(Bidirectional Encoder Representations From Transformers)模型的“榮耀時刻”是2018年:稱霸機器理解測試SQuAD,橫掃其他10項NLP測試,達成“全面超過人類”成就。
BERT模型使用預訓練和微調的方式來完成自然語言處理(Natural Language Processing,NLP)任務。這些任務包括問答系統(tǒng)、情感分析和語言推理等。
BERT模型通過預測屏蔽子詞(先將句子中的部分子詞屏蔽,再令模型去預測被屏蔽的子詞)進行訓練的這種方式在語句級的語義分析中取得了極好的效果。
BERT模型還使用了一種特別的訓練方式(先預訓練,再微調),這種方式可以使一個模型適用于多個應用場景。這使得BERT模型刷新了11項NLP任務處理的紀錄。
這11項NLP任務處理的紀錄涵蓋了如下4種場景,這4種場景也是BERT模型所適用的主要場景。
場景一:處理類似閱讀理解的任務。
場景二:處理句子與段落間的匹配任務。
場景三:提取句子深層語義特征的任務。
場景四:基于句子或段落級別的短文本(長度小于512個子詞的文本)處理任務。
目前,BERT模型已成為語言分析和挖掘,以及機器學習等領域中最流行的模型。它具有易于使用、穩(wěn)定性強等諸多優(yōu)點。
BERT模型的出色表現(xiàn),引起了業(yè)界廣泛而強烈的反響。BERT模型的橫空出世,仿佛是打開了處理NLP任務的“潘多拉魔盒”。隨后涌現(xiàn)了一大批類似于BERT模型的預訓練模型,它們被統(tǒng)稱為BERTology系列模型。例如:
引入了BERT模型中的雙向上下文信息的廣義自回歸模型——XLNet模型;
引入了BERT模型訓練方式和目標的RoBERTa和SpanBERT模型;
結合了多任務及知識蒸餾(Knowledge Distillation)、強化BERT模型功能的MT-DNN模型。
BERTology系列模型一般都基于BERT模型改造而來,代碼量不大,邏輯也不復雜。
但是,其極大規(guī)模的數(shù)據(jù)量、訓練強度和模型容量,以及利用無監(jiān)督模型的訓練方式,使得其能力空前強大,在某些領域甚至已超過人類。但在日常中,常用BERT模型來代指本來的BERT模型和BERTology系列模型。這里的的BERT模型就是這樣一種泛指。
例如,在不同類型的文章(包括散文、小說、新聞、科技文章等)數(shù)據(jù)集上訓練出的GPT-3模型,可以寫出不同風格的文章。它可以寫出詩集、散文,甚至“金庸風格”的小說、新聞稿等。
要想弄懂、學透BERT模型,需要腳踏實地從BERT模型的技術體系來了解其內部所涉及的技術棧,再根據(jù)技術棧中的內容一步步地進行了解和掌握。
BERT模型是由“Transformer模型中的編碼器(Encoder)+雙向(正向序列和反向序列)結構”組成的。因此,一定要熟練掌握Transformer模型的Encoder。這屬于神經(jīng)網(wǎng)絡部分的知識。
另外,BERT模型的主要創(chuàng)新點是其獨特的預訓練方法,這種方法使用Masked Language Model和Next Sentence Prediction兩種方法分別捕捉“詞語”和“句子”級別的表示。這部分知識涵蓋深度學習的訓練模型知識和NLP領域的部分知識。
學好自然語言處理需要“4件套”:
神經(jīng)網(wǎng)絡的基礎知識。
NLP的基礎知識。
編程框架的使用。
BERT模型的原理及應用。
其中,前3部分是基礎,這部分內容可以幫助讀者“吃透”BERT模型;最后1部分是升華,這部分內容可以幫助讀者開闊思路、增長見識,使讀者能夠真正駕馭BERT模型,活學活用,完成NLP任務。
學習本書,要求讀者具有Python基礎,并熟悉Matplotlib和Numpy庫的使用。
讀者不用擔心自己數(shù)學基礎不足、不懂神經(jīng)網(wǎng)絡原理等問題,PyTorch已經(jīng)將這些底層算法統(tǒng)統(tǒng)封裝成了高級接口,用戶可以非常方便、快捷地利用它們進行開發(fā)。本書重點介紹如何快速使用PyTorch的這些接口來實現(xiàn)深度學習模型。
早先人們常使用卷積神經(jīng)網(wǎng)絡、循環(huán)神經(jīng)網(wǎng)絡來處理自然語言任務,但Transformer模型的誕生改變了這個情況。
Transformer模型使用的是全新的注意力機制,達到了比卷積神經(jīng)網(wǎng)絡和循環(huán)神經(jīng)網(wǎng)絡更好的效果。而BERT模型則是在Transformer模型基礎上的又一次優(yōu)化,直接使NLP模型的性能達到前所未有的高度。
BERT模型已經(jīng)成為自然語言處理的主流技術。
BERT模型是一種無監(jiān)督的預訓練語言模型。人們以BERT模型為基礎,對其進行了結構調整、性能優(yōu)化、再訓練等,產生了許多在專業(yè)領域中表現(xiàn)更佳的模型。這些模型被統(tǒng)一稱為BERTology系列模型。
BERTology系列模型在NLP的多種場景中都發(fā)揮了驚人的效果。從某種角度講,BERTology系列模型所涉及的技術是當今NLP領域的主流技術。
1. 基于超大規(guī)模的高精度模型
從BERT模型到RoBERTa模型、GPT模型,再到GPT-2模型、GPT-3模型,模型效果的提升已經(jīng)證明了——用更多的數(shù)據(jù)可以“跑”出更強大、更通用的預訓練模型。
近年來,英偉達、谷歌、Open-AI相繼放出的“巨無霸”模型有MegatronLM(含83億個參數(shù))、T5(含110億個參數(shù))、GPT-3(含1500億個參數(shù))。
當然,“巨無霸”模型的能力并不僅僅停留在精度上,它們甚至可以通過語義交互的方式直接完成NLP任務。
2. 基于超小規(guī)模的高精度模型
快速發(fā)展的深層神經(jīng)網(wǎng)絡,在過去的十年中徹底改變了NLP領域。
另外,諸如保護用戶隱私、消除網(wǎng)絡延遲、啟用離線功能、降低運營成本等問題,要求模型能運行在設備終端,而不是數(shù)據(jù)中心。這種需求推動了小規(guī)模NLP模型的迅速發(fā)展。
BERT模型逐漸在往“大規(guī)?!焙汀靶∫?guī)?!眱蓚€極端發(fā)展。如何用盡可能少的參數(shù)取得和“大模型”接近的效果,同時讓訓練速度和預測速度翻倍,是一個很實際、很有價值的課題。
華為諾亞方舟實驗室發(fā)布的TinyBERT模型、北京大學的FastBERT模型,在這方面都取得了矚目的成績。
3. 基于小樣本訓練的模型
在實際業(yè)務場景中,中小AI企業(yè)往往容易出現(xiàn)數(shù)據(jù)量不足的問題。
例如,用戶需要訂制一個客服機器人,但只有100個標準問題,這么小的數(shù)據(jù)集不足以支撐模型的訓練。
對于這類問題,除花費高成本找標注團隊制造數(shù)據(jù)外,還可以通過遷移學習、小樣本學習的方法來讓模型通過少量樣本進行學習,從而獲得較強的泛化能力。這些學習已經(jīng)成為近年的研究熱點之一。
▼
本內容摘自《基于BERT模型的自然語言處理實戰(zhàn)》,想了解更多關于BERT模型的內容,歡迎閱讀此書。


▊《基于BERT模型的自然語言處理實戰(zhàn)》
李金洪 著
全彩印刷
清晰的學習主線
通過本書,讀者可以熟練地在PyTorch框架中開發(fā)并訓練神經(jīng)網(wǎng)絡模型,快速地使用BERT模型完成各種主流的自然語言處理任務,獨立地設計并訓練出針對特定需求的BERT模型,輕松地將BERT模型封裝成Web服務部署到云端。
本書結構清晰、案例豐富、通俗易懂、實用性強,適合對自然語言處理、BERT模型感興趣的讀者作為自學教程。另外,本書也適合社會培訓學校作為培訓教材,還適合計算機相關專業(yè)作為教學參考書。
(京東滿100減50,快快搶購吧!)
推薦閱讀
(點擊標題可跳轉閱讀)
老鐵,三連支持一下,好嗎?↓↓↓
