[ 分享 ]  一文搞懂 BERT!

一文搞懂 BERT!

  By : Leadtek AI Expert     107

BERT 是由 Google 開發的自然語言處理模型

可學習文本的雙向表示,以顯著改善各種不同任務中未標記文本的上下文理解能力。

它是許多類似 BERT 的模型的基礎,例如 RoBERTa、ALBERT 和 DistilBERT。



1. 什麼是 BERT?

基於Transformer(BERT)的雙向編碼器表徵技術是由 Google 開發,用於透過同時考量所有層中左右的上下文,來預先訓練未標註文本的深度雙向表徵。該技術於 2018 年以開源許可的形式發佈。Google 稱 BERT 為“第一個深度雙向、無監督式語言表徵,僅使用純文字語料庫預先進行了訓練”(Devlin et al. 2018)。


雙向模型在自然語言處理(NLP)領域早已有應用。這些模型涉及從左到右以及從右到左兩種文本查看順序。BERT 的創新之處在於使用 Transformer 來學習雙向表徵,Transformer 是一種深度學習元件,不同於遞迴神經網路(RNN)對順序的依賴性,它能夠並行處理整個序列。因此可以分析規模更大的資料集,並加快模型訓練速度。Transformer 會一次性處理句子中所有其他詞與某個詞的關係,而不是逐個處理,並使用注意力機制來收集詞的相關上下文資訊,並將該上下文編碼成一個包含豐富資訊的向量來表示它。該模型能夠學習如何從句段中的每個其他詞語衍生出給定詞語的含義。


之前的詞嵌入技術(如 GloVe 和 Word2vec)都是在不考慮上下文的情況下為序列中的每個詞生成表示。例如,無論是指運動裝備還是夜行動物,“bat”一詞都會以同樣的方式表示。ELMo 通過雙向長短期記憶模型(LSTM),對句中的每個詞語引入了基於句中其他詞語的深度情景化表示。但 ELMo 與 BERT 不同,它單獨考慮從左到右和從右到左的路徑,而不是將它們視為整個上下文的統一視圖。


由於絕大多數 BERT 參數專門用於創建高品質上下文化詞嵌入,因此該框架非常適用於遷移學習。通過使用語言建模等自我監督任務(不需要人工標注的任務)訓練 BERT,例如語言建模,可以使用包含超過 33 億個單詞的 WikiText 和 BookCorpus 等大型未標注資料集。要學習其他任務(如問答),可以使用適合相應任務的內容替換並微調最後一層。


下圖中的箭頭指示了三種不同的 NLP 模型中資訊從一層流向下一層的過程

圖片來源: Google AI Blog


BERT 模型能夠更精細地理解表達的細微差別。例如,處理序列“Bob 需要一些藥。他的胃不舒服,可以幫他拿一些抗酸藥嗎?” BERT 能更好地理解 “Bob”、“他的”和“他”都是指同一個人。以前,在“如何填寫 Bob 的處方”這一查詢中,模型可能無法理解第二句話引用的人是 Bob。應用 BERT 模型後,該模型能夠理解所有這些關聯點之間的關係。


雙向訓練很難實現,因為預設情況下,在前一個詞語和下一個詞語的基礎上調節每個詞都包括多層模型中預測的詞語。BERT 的開發者通過遮蔽語料庫中的預測詞語和其他隨機詞語解決了這個問題。BERT 還使用一種簡單的訓練技術,嘗試預測給定的兩個句子 A 和 B:B 和 A 是先後還是隨機關係。


2. 為何選擇 BERT?

自然語言處理是當今許多商業人工智慧研究的核心。例如,除了搜尋引擎外,NLP 還用在了數位助理、自動電話應答和車輛導航領域。BERT 是一項顛覆性技術,它提供基於大型資料集訓練的單一模型,而且已經證實該模型能夠在各種 NLP 任務中取得突破性成果。


BERT 的開發者表示,模型應用範圍很廣(包括解答問題和語言推理),而且無需對任務所需的具體架構做出大量修改。BERT 不需要使用標記好的資料預先進行訓練,因此可以使用任何純文字進行學習。


主要優勢(用例)

BERT 可以針對許多 NLP 任務進行微調。它是翻譯、問答、情感分析和句子分類等語言理解任務的理想之選。


目標式搜索

雖然如今的搜尋引擎能夠非常出色地理解人們要尋找的內容(在人們使用正確查詢格式的前提下),但仍可以通過很多方式改善搜索體驗。對於語法能力差或不懂得搜尋引擎提供商所用語言的人員而言,體驗可能令人不快。搜尋引擎還經常需要使用者嘗試同一查詢的不同變體,才能查詢到理想結果。

用戶每天在 Google 上執行 35 億次搜索,搜索體驗改進後,一天就可以減少 10% 的搜索量,長期累積下來將大幅節省時間、頻寬和伺服器資源。從業務角度來看,它還使搜索提供商能夠更好地瞭解用戶行為,並投放更具針對性的廣告。

通過説明非技術使用者更準確地檢索資訊,並減少因查詢格式錯誤帶來的錯誤,可以更好地理解自然語言,從而提高資料分析和商業智慧工具的效果。


輔助性導航

在美國,超過八分之一的人有殘疾,而且許多人在物理和網路空間中導航的能力受到了限制。對於必須使用語音來控制輪椅、與網站交互和操作周圍設備的人員而言,自然語言處理是生活必需品。通過提高對語音命令的回應能力,BERT 等技術可以提高生活品質,甚至可以在需要快速回應環境的情況下提高人身安全。



3. BERT 的重要意義

機器學習研究人員

BERT 在自然語言處理方面引發的變革等同於電腦視覺領域的 AlexNet,在該領域具有顯著的革命性意義。僅需替換網路的最後一層,便可針對一些新任務定制網路,這項功能意味著用戶可輕鬆將其應用於任何感興趣的研究領域。無論使用者的目標是翻譯、情感分析還是執行一些尚未提出的新任務,都可以快速配置網路以進行嘗試。截至目前,有關該模型的引文超過 8,000 篇,其衍生用例不斷證明該模型在處理語言任務方面的先進水準。


軟體發展者

由於針對大型資料集預先訓練過的模型的廣泛可用性,BERT 大大減少了先進模型在投入生產時受到的計算限制。此外,將 BERT 及其衍生項納入知名庫(如 Hugging Face)意味著,機器學習專家不需要啟動和運行基礎模型了。


BERT 在自然語言解讀方面達到了新的里程碑,與其他模型相比展現了更強大的功能,能夠理解更複雜的人類語音並能更精確地回答問題。


4. BERT 為何可在 GPU 上表現更突出

對話式 AI 是人類與智慧型機器和應用程式(從機器人和汽車到家庭助手和移動應用)互動的基礎構建塊。讓電腦理解人類語言及所有細微差別,並做出適當的反應,這是 AI 研究人員長期以來的追求。但是,在採用加速計算的現代 AI 技術出現之前,構建具有真正自然語言處理(NLP)功能的系統是無法實現的。


BERT 在採用 NVIDIA GPU 的超級電腦上運行,以訓練其龐大的神經網路並實現出色的 NLP 準確性,從而影響已知的人類語言理解領域。雖然目前有許多自然語言處理方法,但讓 AI 具有類似人類的語言能力仍然是難以實現的目標。隨著 BERT 等基於 Transformer 的大規模語言模型的出現,以及 GPU 成為這些先進模型的基礎設施平臺,我們看到困難的語言理解任務快速取得了進展。數十年來,這種 AI 一直備受期待。有了 BERT,這一刻終於到來了。


模型複雜性提升了 NLP 準確性,而規模更大的語言模型可顯著提升問答、對話系統、總結和文章完結等自然語言處理(NLP)應用程式的技術水準。BERT-Base 使用 1.1 億個參數創建而成,而擴展的 BERT-Large 模型涉及 3.4 億個參數。訓練高度並行化,因此可以有效利用 GPU 上的分散式處理。BERT 模型已證明能夠有效擴展為 39 億個參數的 Megatron-BERT 等大規模模型。


BERT 的複雜性以及訓練大量資料集方面的需求對性能提出了很高的要求。這種組合需要可靠的計算平臺來處理所有必要的計算,以實現快速執行並提高準確性。這些模型可以處理大量無標記資料集,因此成為了現代 NLP 的創新中心,另外在很多用例中,對於即將推出的採用對話式 AI 應用程式的智慧助手而言,這些模型都是上佳之選。


NVIDIA 平臺提供可程式設計性,可以加速各種不同的現代 AI,包括基於 Transformer 的模型。此外,資料中心擴展設計加上軟體庫,以及對先進 AI 框架的直接支援,為承擔艱巨 NLP 任務的開發者提供無縫的端到端平臺。








*與NVIDIA產品相關的圖片或影片(完整或部分)的版權均歸NVIDIA Corporation所有。