Encoder-only models — エンコーダのみのモデル
エンコーダのみのモデル (Encoder-Only Models) は、Transformer アーキテクチャのエンコーダ部分のみに基づいた大規模言語モデル (LLM) のアーキテクチャクラスです。デコーダや完全なエンコーダ・デコーダアーキテクチャを使用するモデルとは異なり、これらのモデルは自然言語理解 (Natural Language Understanding, NLU) のタスクに特化しています。
このアプローチの代表的なモデルであり、その先駆けとなったのが、2018年にGoogleによって開発されたBERT (Bidirectional Encoder Representations from Transformers) です。
コンセプトとアーキテクチャ
エンコーダのみのモデルの基本的な考え方は、入力シーケンス内の各トークンに対して、深く文脈化された表現 (埋め込み) を生成することです。Transformerの自己注意機構 (self-attention) により、各トークンはシーケンス内の他のすべてのトークンを「見て」相互作用することができ、モデルは豊かな文脈を捉えることができます。
主な特徴は双方向性です。各トークンの表現は、左側と右側の両方の文脈に基づいて同時に形成されます。これは、本質的に一方向性である自己回帰型のデコーダのみのモデル (GPTなど) とは根本的に異なる点です。
アーキテクチャ的には、モデルは個の同一のエンコーダ層のスタックで構成されています。各層は、2つの主要なサブレイヤーから成ります。
- マルチヘッド自己注意機構 (Multi-Head Self-Attention): 各トークンの文脈化された表現を計算します。
- 全結合順伝播型ニューラルネットワーク (Feed-Forward Network): 各トークンの表現に非線形変換を適用します。
モデルの出力は、入力シーケンスと同じ長さのベクトルのシーケンスであり、各ベクトルは対応する入力トークンの豊富な表現となります。
事前学習タスク
モデルが双方向の文脈で言語を理解できるように学習させるために、特別な自己教師あり事前学習タスクが使用されます。
Masked Language Modeling (MLM) - マスク付き言語モデリング
これは、BERTで初めて導入された、エンコーダのみのモデルにとって最も重要で中心的なタスクです。
- 動作原理: 入力シーケンスからトークンの一部 (通常15%) がランダムに隠されます (マスクされます)。モデルのタスクは、周囲の双方向の文脈を利用して、これらのマスクされたトークンの元の値を予測することです。
- 目的: このタスクにより、モデルは単語間の深い意味的・構文的な関係を学習することができます。
Next Sentence Prediction (NSP) - 次文予測
このタスク (これもオリジナルのBERTに由来) は、モデルに文と文の関係を理解させるために設計されました。
- 動作原理: モデルに文のペアが与えられ、2番目の文が元のテキストにおいて最初の文の論理的な続きであるかどうかを判断する必要があります。
- 現状: 後の研究 (例えばRoBERTaモデル) で、NSPはMLMほど効果的ではなく、他のタスクに置き換えられたり、完全に削除されたりすることが多いと示されました。
応用
エンコーダのみのモデルは、自己回帰型のデコーダを持たないため、自由形式のテキスト生成には適していません。その強みはテキストの分析と理解にあります。モデルの出力ベクトル表現は、幅広いNLUタスクを解決するために使用されます。
- テキスト分類: 感情分析やトピック分類などのタスクでは、各シーケンスの先頭に追加される特殊なトークン `[CLS]` の表現が使用されます。このトークンの最終的なベクトルは、シーケンス全体の情報を集約します。
- トークン分類: 固有表現抽出 (NER) や品詞タグ付け (POS-tagging) などのタスクでは、個々のトークンのベクトル表現が使用されます。
- 質問応答 (Question Answering): 与えられたテキストの一部が回答となるタスク (extractive QA) では、モデルは回答の開始トークンと終了トークンを予測するように学習します。
- 埋め込みの取得: エンコーダモデルは、文や文書の高品質な埋め込みを取得するための汎用テキストエンコーダとして頻繁に使用されます。これらの埋め込みは、検索エンジンや意味的類似性のタスクで利用できます。
主なモデルとその進化
- BERT (2018): このアーキテクチャの先駆けであり、多くのNLPベンチマークで新記録を樹立しました。
- RoBERTa (2019): 「堅牢に最適化されたBERT (Robustly optimized BERT)」。より多くのデータでより長く学習させ、NSPタスクを廃止することでBERTの性能を大幅に向上できることを示しました。
- ALBERT (2019): 「軽量版BERT (A Lite BERT)」。埋め込みの因子分解や層間のパラメータ共有といった技術により、パラメータ数を大幅に削減したモデルです。
- DistilBERT (2019): 知識蒸留を用いて作成されたBERTの縮小版で、より高速かつ軽量でありながら、オリジナルの性能の大部分を維持しています。
- ELECTRA (2020): より効率的な事前学習タスクであるトークン置換検出 (replaced token detection) を導入しました。このタスクでは、モデルは小さな生成モデルによって生成された「偽の」トークンと元のトークンを区別することを学習します。
- DeBERTa (2020): コンテンツと相対位置を別々にエンコードする「分離アテンション (disentangled attention)」機構を導入しました。
関連項目
- BERT