- BERT基礎教程:Transformer大模型實戰
- (印)蘇達哈爾桑·拉維昌迪蘭
- 1643字
- 2023-04-21 11:06:31
前言
多Transformer的雙向編碼器表示法(Bidirectional Encoder Representations from Transformers,BERT)已經徹底改變了自然語言處理(natural language processing,NLP)領域,并取得了大量成果。本書是一本入門指南,它將幫助你學習并掌握谷歌的BERT架構。
首先,本書將詳細講解Transformer架構,讓你理解Transformer的編碼器和解碼器的工作原理。然后,你將掌握BERT模型架構的每一部分,同時了解如何進行模型的預訓練,以及如何通過微調將預訓練的結果用于下游任務。隨著本書的深入,你將學習BERT模型的不同變體,如ALBERT模型、RoBERTa模型、ELECTRA模型和SpanBERT模型,并了解基于知識蒸餾的變體,如DistilBERT模型和TinyBERT模型。本書還將詳細講解M-BERT模型、XLM模型和XLM-R模型的架構。接著,你將了解用于獲取句子特征的Sentence-BERT模型和一些特定領域的BERT模型,如ClinicalBERT(醫學)模型和BioBERT(生物學)模型。最后,本書還將介紹一個有趣的BERT模型變體,即VideoBERT模型。
通讀本書后,你將能夠熟練使用BERT模型及其變體來執行實際的自然語言處理任務。
本書適用人群
本書適用于希望利用BERT模型超強的理解能力來簡化自然語言處理任務的專業人士,以及對自然語言處理和深度學習感興趣的所有人士。為充分理解本書中的術語和知識點,你需要對自然語言處理相關概念和深度學習有基本的了解。
本書內容
第1章 Transformer概覽
這一章將詳細講解Transformer模型,通過深入解析Transformer的編碼器和解碼器的組成部分來幫助你理解其工作原理。
第2章 了解BERT模型
這一章將講解BERT模型。你將學習兩種預訓練任務——掩碼語言模型構建和下句預測——對BERT模型進行預訓練,還將了解幾種有趣的子詞詞元化算法。
第3章 BERT實戰
這一章將講解如何使用預訓練的BERT模型提取上下文關聯句子和詞嵌入向量,以及如何根據下游任務(如問題回答、文本分類等)來微調預訓練的BERT模型。
第4章 BERT變體(上):ALBERT、RoBERTa、ELECTRA和SpanBERT
這一章將介紹BERT的幾個變體:ALBERT、RoBERTa、ELECTRA和SpanBERT。你將學習BERT變體與BERT的區別以及它們的應用。
第5章 BERT變體(下):基于知識蒸餾
這一章將講解基于知識蒸餾的BERT模型,如DistilBERT和TinyBERT。你將學習如何將知識從一個預訓練的BERT模型遷移到一個簡單的神經網絡。
第6章 用于文本摘要任務的BERTSUM模型
這一章將講解如何為文本摘要任務微調預訓練的BERTSUM模型。你將了解如何為提取式摘要任務和抽象式摘要任務微調BERT模型。
第7章 將BERT模型應用于其他語言
這一章涉及將BERT應用于非英語的語言,并將詳細論證BERT在多語種中的有效性。你將了解幾個跨語言的模型,如XLM和XLM-R。
第8章 Sentence-BERT模型和特定領域的BERT模型
這一章將講解用來獲得句子特征的Sentence-BERT模型。你將學習如何使用預訓練的Sentence-BERT模型,還將了解特定領域的BERT模型,如ClinicalBERT模型和BioBERT模型。
第9章 VideoBERT模型和BART模型
這一章將介紹VideoBERT這一有趣的BERT變體,還將介紹名為BART的模型。此外,你將了解兩個流行的代碼庫,即ktrain庫和bert-as-service庫。
學以致用
為了更好地學習本書,請使用Google Colab運行本書中的代碼。

下載示例代碼
你可以從圖靈社區本書主頁下載本書的示例代碼。
排版約定
本書使用了一些特定文本格式來標識特有名詞和代碼。
等寬字體用來表示文本中的代碼、數據庫表名、變量名和用戶輸入,舉例如下:“我們將設置maxlen
為100
、max_features
為100000
。”
對應的代碼塊如下。
(x_train, y_train), (x_test, y_test), preproc = \
text.texts_from_df(train_df = df,
text_column = 'reviewText',
label_columns=['sentiment'],
maxlen=100,
max_features=100000,
preprocess_mode='bert',
val_pct=0.1)
黑體用來表示新的術語、重要的詞或屏幕上的選項。例如,菜單或對話框中的選項會像這樣出現在文本中:“從管理面板上選擇系統信息。”
此圖標表示警告或重要說明。
聯系我們
我們一直傾聽讀者的反饋。
反饋:如果你對本書的任何方面有疑問,請發電子郵件至customercare@packtpub.com,并在郵件標題中寫出對應書名。
勘誤表:盡管我們已經竭盡所能確保內容的準確性,但書中難免還是會有錯誤。如果你發現本書有錯誤,敬請指出,我們將不勝感激。
盜版舉報:如果你在互聯網上發現以任何形式非法復制Packt出版物的情況,請將盜版鏈接發至copyright@packt.com,萬分感謝你對正版的支持。
如果有興趣成為一名作家:如果你對某一主題有專長,并有興趣撰寫一本書或參與一本書的出版工作,請訪問authors.packtpub.com。
評價
Packt歡迎各種形式的評價。一旦你閱讀并使用本書,請在你購買本書的網站上留下寶貴的評價。這樣做可以讓我們了解你對本書的看法,作者也可以得到你的反饋,并且潛在讀者可以通過參考公正客觀的意見來做出購買決定。感謝你的支持!
更多信息
掃描下方二維碼,了解更多。

- 敏捷開發的藝術(原書第2版)
- 深度學習訓練營 21天實戰TensorFlow+Keras+scikit-learn
- 軟件研發效能提升之美
- AIDevOps:智能微服務開發、運維原理與實踐
- 卡爾曼濾波原理及應用:MATLAB仿真(第2版)
- 程序員度量:改善軟件團隊的分析學
- Unity AR/VR開發:從新手到專家
- 中國軟件工程師:工作、生活與觀念
- 深入淺出數據結構與算法(微課視頻版)
- 軟件開發的201個原則
- 構建移動網站與APP:ionic移動開發入門與實戰 (跨平臺移動開發叢書)
- 瘋狂Java:突破程序員基本功的16課(修訂版)
- HTML5游戲編程核心技術與實戰
- DDD工程實戰:從零構建企業級DDD應用
- PHP與MySQL高性能應用開發