BERT 101:了解來自 Transformer 的雙向編碼器表示
BERT(Bidirectional Encoder Representations from Transformers)是一種用於自然語言處理(NLP)的機器學習模型,能作為超過 11 種常見語言任務的多功能解決方案。它由 Google AI Language 於 2018 年開發,透過提供單一模型即可在廣泛應用上超越先前的特定任務模型,徹底改變了該領域。
核心能力與使用案例
BERT 設計用來處理各種 NLP 任務,從情感分析到複雜的閱讀理解皆在其列。主要應用包括:
- 情感分析: 判斷文字的極性(正面或負面),例如電影評論。
- 問答系統: 為聊天機器人提供精確的使用者查詢答案。
- 文字預測與生成: 預測電子郵件(如 Gmail)中的後續文字,或根據短輸入生成文章。
- 摘要: 將長文件(如法律合約)濃縮成較短的摘要。
- 多義詞消歧: 根據上下文區分具有多重意義的詞彙(例如「bank」)。
自 2020 年 11 月起,BERT 已整合至 Google Search,以提升對英文查詢的理解。例如,它能讓搜尋引擎辨識處方相關搜尋中「for someone」指的是為他人領藥,而非僅僅是開處方。
技術架構與訓練
BERT 的效能來自於使用 Transformer 架構以及兩階段的訓練流程:先在大規模未標記資料上進行無監督預訓練,然後在少量人工標註資料上微調。
訓練資料與基礎設施
BERT 使用了 33 億字的資料集,包含 Wikipedia(約 25 億字)與 Google 的 BooksCorpus(約 8 億字)。為處理如此龐大的資料,Google 採用了 Tensor Processing Units(TPU)。BERT‑base 在 4 台 TPU 上訓練 4 天,BERT‑large 則在 16 台 TPU 上訓練 4 天。
掩碼語言模型(MLM)
BERT 採用掩碼語言模型(Masked Language Model,MLM)以實現雙向學習。訓練時,隨機隱藏 15% 的詞彙(掩碼),模型必須利用掩碼左右兩側的上下文來預測這些詞彙。這與以往線性閱讀文字的模型不同。
下一句預測(NSP)
為了理解句子之間的關係,BERT 使用下一句預測(Next Sentence Prediction,NSP)。模型在 50/50 的正確句對(第二句緊接第一句)與隨機句對上訓練,以判斷給定句子是否在語義上緊接前句。
Transformer 編碼器
BERT 使用 Transformer 架構的編碼器部分,透過注意力機制為詞彙分配不同權重,聚焦關鍵資訊並忽略不相關資料。與某些其他 Transformer 模型不同,BERT 不使用解碼器。
模型變體與規格
BERT 提供不同尺寸的版本,以平衡效能與計算需求。
| Model | Transformer Layers | Hidden Size | Attention Heads | Parameters | Processing | Training Length |
|---|---|---|---|---|---|---|
| BERTbase | 12 | 768 | 12 | 110M | 4 TPUs | 4 days |
| BERTlarge | 24 | 1024 | 16 | 340M | 16 TPUs | 4 days |
為了滿足手機等較小計算環境的需求,2020 年 3 月釋出 23 種較小的 BERT 模型。此外,DistilBERT 提供更輕量的版本,運行速度提升 60%,且仍保有超過 95% 的 BERT 效能。
效能基準
BERT 在 11 項常見 NLP 任務上達到最先進的準確度,且首次在多項基準上超越人類表現:
- SQuAD(Stanford Question Answering Dataset): 包含 108k 問題的閱讀理解資料集。BERT 超過了先前的最先進模型與人類表現。
- SWAG(Situations With Adversarial Generations): 包含 113k 多選題的常識推理資料集。BERT 亦在此超越人類水平。
- GLUE(General Language Understanding Evaluation): 包含九項困難任務的基準,用於比較語言模型的表現。
開源影響與倫理考量
BERT 的原始碼在 GitHub 上公開,讓開發者能在不需承擔巨額預訓練成本的情況下,針對特定應用微調模型。此民主化促成了數千個專門的開源模型,涵蓋 Twitter 情感分析、臨床筆記分析、毒性評論偵測等領域。
環境影響
訓練大型模型耗費大量計算資源,產生顯著的碳足跡。開源分享預訓練模型被視為降低整體計算成本與環境衝擊的主要方式。
模型偏見
BERT 會反映其訓練資料中的固有偏見。例如,對提示 "The man worked as a [MASK]" 的預測會出現木匠、機械師等職業;而對提示 "The woman worked as a [MASK]" 則會出現護士、服務生、女傭等,顯示出明顯的性別職業偏見。
Sources
相關
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch