BERT (language model) — バート
BERT (Bidirectional Encoder Representations from Transformers, 「トランスフォーマーによる双方向エンコーダ表現」) は、Googleの研究者によって開発され、2018年に発表された自然言語理解のための大規模言語モデル (LLM) です。BERTは、幅広いタスクで前例のない性能を示し、「事前学習+ファインチューニング」(pre-train & fine-tune) というパラダイムを業界標準として確立することで、自然言語処理 (NLP) の新時代を切り開きました。
BERTの主要な革新は、モデルがネットワークの全ての層で単語の文脈を左右同時に考慮することを可能にする、深く双方向的なアーキテクチャです。これは、新しい事前学習タスクであるMasked Language Modeling (MLM) によって実現されています。
名称と動作原理
頭字語BERTは、Bidirectional Encoder Representations from Transformersの略です。
- Bidirectional (双方向): モデルの主要な特徴を示しています。つまり、単語の文脈を両方向(左から右、右から左)から同時に処理する能力です。単方向モデル(GPTなど)が単語を処理する際に先行する文脈しか見ないのとは対照的に、BERTは系列全体を一度に見るため、単語の意味をより深く正確に理解することができます。
- Encoder (エンコーダ): BERTがトランスフォーマーアーキテクチャのエンコーダ部分のみを使用していることを意味します。エンコーダのタスクは、入力されたテキスト系列を読み取り、各トークンに対してリッチな文脈表現(ベクトル)を生成することです。BERTは、デコーダモデルのように自由形式のテキストを生成するようには設計されていません。
- Representations (表現): モデルは、単語や文に対する高品質な数値表現(ベクトルまたは埋め込み)を生成するように学習します。これらはその後、さまざまなNLPタスクを解決するために使用できます。
- from Transformers: モデルのアーキテクチャが完全にトランスフォーマーに基づいていることを示しています。
開発の歴史
BERTの開発は、NLPにおけるいくつかの重要なブレークスルーの結果です:
- 文脈を考慮した埋め込み: Word2vecやGloVeのようなモデルは、文脈を考慮しない静的な単語ベクトルを生成していました。ELMo (2018) は、双方向LSTMネットワークを用いて文脈依存の表現を生成することで一歩前進しましたが、その双方向性は「表面的」なものでした(2つの単方向モデルの連結)。
- 転移学習とGPT: 2018年半ば、OpenAIはGPTモデルを発表し、ラベルなしデータで大規模なトランスフォーマーモデルを事前学習し、その後特定のタスクでファインチューニング (fine-tuning) する有効性を示しました。しかし、GPTは厳密に単方向 (left-to-right) であり、完全な文脈の理解を必要とするタスクでの能力を制限していました。
これらの制約を認識し、ジェイコブ・デブリン率いるGoogleの研究者たちは、真に深く双方向なモデルを構築するためにBERTを開発しました。BERTに関する論文は2018年10月にarXivで公開され、コードと事前学習済みモデルがオープンソース化されたことで、科学コミュニティで爆発的な関心を呼びました。BERTはGLUEやSQuADを含む11の主要なNLPベンチマークで記録を更新し、1つの汎用モデルが多くのタスクに容易に適応できることから、NLPにおける「ImageNetの瞬間」と呼ばれました。
アーキテクチャ
BERTは、トランスフォーマーアーキテクチャのエンコーダ部分に完全に基づいています。複数の同一の層が積み重ねられて構成されています。主に2つのバージョンが存在します:
- BERT-Base: 12層、12アテンションヘッド、隠れ状態のサイズ768、総パラメータ数約1億1000万。
- BERT-Large: 24層、16アテンションヘッド、隠れ状態のサイズ1024、総パラメータ数約3億4000万。
各層には、2つの主要なサブレイヤーが含まれています:
- マルチヘッド・セルフアテンション機構 (Multi-Head Self-Attention): 入力系列の各トークンが他のすべてのトークンに「注意を払い」、自身の文脈的意味を決定するためにそれらの重要性を重み付けすることを可能にします。
- 全結合順伝播型ネットワーク (Feed-Forward Network): 各トークンに個別に適用されます。
入力データ
BERTが正しく機能するためには、入力データを特別にフォーマットする必要があります。入力されるトークン系列は、常に特別なトークン`[CLS]` (classification) で始まり、これはテキスト全体の分類タスクに使用されます。入力が一対の文である場合(例えば、質疑応答タスクなど)、それらはトークン`[SEP]` (separator) で区切られます。
入力における各トークンの最終的な表現は、3つの埋め込みの合計です:
- トークン埋め込み: 辞書内の特定のトークンに対応するベクトル(BERTはWordPieceトークン化を使用)。
- セグメント埋め込み: トークンがどちらの文(1番目か2番目か)に属するかを示します。
- 位置埋め込み: トランスフォーマーアーキテクチャ自体は単語の順序を考慮しないため、系列内でのトークンの位置を示します。
事前学習タスク
深い双方向性を確保するために、BERTは2つのユニークなタスクで同時に学習されます。
Masked Language Modeling (MLM) - マスク化言語モデリング (MLM)
これはBERTの主要な革新です。標準的な言語モデルのように次の単語を予測するのではなく、BERTは文中のランダムに「マスクされた」単語を予測します。 プロセスは次のようになります:
- 入力系列からランダムに15%のトークンが選択されます。
- この15%のうち:
- 80%が特別なトークン `[MASK]` に置き換えられます。
- 10%が辞書からランダムなトークンに置き換えられます。
- 10%は変更されずに残ります。
- モデルのタスクは、周囲の(左と右の)文脈に基づいて、これら15%のトークンの元の値を予測することです。
この仕組みにより、モデルは単語間の深い意味的・構文的関係を学習し、真に双方向であることが可能になります。
Next Sentence Prediction (NSP) - 次文予測 (NSP)
このタスクは、質疑応答システムや自然言語推論 (NLI) のようなタスクで重要な、文間の関係をBERTに理解させるために開発されました。 モデルには一対の文 (AとB) が入力され、文Bが文Aの論理的な続きであるかどうかを予測する必要があります。
- 50%のケースでは、Bは実際に元のテキストの次の文です。
- 50%のケースでは、Bはコーパスの別の場所から取られたランダムな文です。
後の研究(例えばRoBERTaモデル)では、NSPタスクはMLMほど重要ではなく、より効率的な学習スキームのために省略できることが示されましたが、オリジナルのBERTでは重要な役割を果たしていました。
応用とファインチューニング (Fine-Tuning)
BERTの強みは転移学習のパラダイムにあります。大規模でコストのかかる事前学習を巨大なコーパス(Wikipedia + BooksCorpus)で行った後、事前学習済みモデルを簡単かつ迅速にファインチューニング (fine-tune) して、特定の応用タスクを解決することができます。
ファインチューニングのプロセスは通常、次のようになります: 1. 事前学習済みのBERTアーキテクチャに、タスク固有の小さな未学習の層(例:感情分析用の分類器)を追加します。 2. モデル全体(BERTの重みと新しい層を含む)を、その特定のタスクのための小さなラベル付きデータセットで学習させます。
BERTが適応されるタスクの例:
- テキスト分類(感情分析、スパムフィルター): `[CLS]`トークンの出力に分類器が追加されます。
- 質疑応答システム(例:SQuAD): モデルは、与えられたテキスト内の回答の開始トークンと終了トークンを予測するように学習します。
- 固有表現抽出 (NER): 各トークンの出力に、そのトークンが人名、組織名、日付などの一部であるかどうかを決定する分類器が追加されます。
派生モデルとバリエーション
BERTの成功は、そのアイデアに基づいたモデルファミリーの登場につながりました:
- RoBERTa (Facebook AIより): 「頑健に最適化されたBERT」。新しいアーキテクチャではなく、より多くのデータで、NSPタスクなしで、動的マスキングを用いて、より慎重かつ長時間BERTを学習させた結果です。RoBERTaは、オリジナルのBERTが「学習不足」であったことを示し、すべての主要なベンチマークでそれを上回りました。
- DistilBERT (Hugging Faceより): 知識蒸留技術を用いて作成されたBERTの縮小版。DistilBERTは40%小さく、60%速く、BERTの性能の97%を維持しており、本番環境やリソースが限られたデバイスでの使用に最適です。
- ALBERT (A Lite BERT, Googleより): パラメータ数を削減するために最適化されたバージョン。2つの主要な技術を使用しています:埋め込みの因子分解と層間パラメータ共有 (cross-layer parameter sharing)。これにより、より少ないパラメータ数で、はるかに大きなモデルを作成できます。
- mBERT (Multilingual BERT): 104言語で同時に事前学習されたBERTのバージョン。驚くべきクロスリンガル知識転移能力を示しました。
- ドメイン特化モデル: BioBERT(生物医学)、SciBERT(科学論文)、FinBERT(金融)など、特定の分野のデータで追加学習された多数のモデル。
- ModernBERT (2024-2025): Answer.AIとLightOn社による新世代のBERTライクモデル。RoPE (Rotary Position Embeddings) のような現代的なアーキテクチャ改良や、より長いコンテキスト(最大8192トークン)のサポートを含みつつ、BERTの基本原則を維持しています。
他のモデルとの比較
| モデル | 開発元 | アーキテクチャ | コンテキストの方向 | 主なタスク |
|---|---|---|---|---|
| BERT | エンコーダ | 双方向 | テキスト理解、分類、抽出 | |
| GPT | OpenAI | デコーダ | 単方向(左から右) | テキスト生成、系列の継続 |
| XLNet | Google / CMU | 自己回帰(順列ベース) | 双方向(理論上) | テキスト理解(MLMの代替) |
| T5 | エンコーダ・デコーダ | 双方向(エンコーダ)+単方向(デコーダ) | 汎用的なText-to-Text変換 |
影響
BERTはNLPに真の革命をもたらし、その後の多くの開発の基礎を築きました:
- 「事前学習+ファインチューニング」のパラダイムをNLPにおける支配的なアプローチとして確立しました。
- 言語理解における深い双方向コンテキストの重要性を証明しました。
- 研究者や開発者が各タスクごとに複雑なアーキテクチャをゼロから構築する必要がなくなったため、高性能なNLPシステムを構築するための参入障壁を下げました。
- Google検索に統合され、これは検索エンジンの歴史上最大級のアップデートの1つとなり、モデルの実用的な有用性を明確に示しました。
- 派生モデル、ツール、研究のエコシステム全体を生み出し(「BERTology」)、AI分野で最も引用される論文の1つとなりました。
GPT-3やGPT-4のような、より新しく大規模なモデルが多くのベンチマーク(特に生成タスク)でBERTを上回っていますが、BERTとその派生モデルは、深いテキスト理解を必要とするタスクにおいて、依然として強力で広く使用されているツールです。
外部リンク
参考文献
- Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
- Peters, M. E. et al. (2018). Deep Contextualized Word Representations. arXiv:1802.05365.
- Liu, Y. et al. (2019). RoBERTa: A Robustly Optimized BERT Pretraining Approach. arXiv:1907.11692.
- Lan, Z. et al. (2020). ALBERT: A Lite BERT for Self-supervised Learning of Language Representations. arXiv:1909.11942.
- Sanh, V. et al. (2020). DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter. arXiv:1910.01108.
- Yang, Z. et al. (2019). XLNet: Generalized Autoregressive Pretraining for Language Understanding. arXiv:1906.08237.
- Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. arXiv:1910.10683.
- Lee, J. et al. (2020). BioBERT: a pre-trained biomedical language representation model for biomedical text mining. arXiv:1901.08746.
- Warner, B. et al. (2024). Smarter, Better, Faster, Longer: A Modern Bidirectional Encoder for Fast, Memory Efficient, and Long Context Finetuning and Inference. arXiv:2412.13663.