用語:BERT
分類:AIの基礎・学習・モデル
ひとことで:BERTは、入力文の各位置を左右両側の文脈から捉えるよう事前学習されたTransformerエンコーダー型の言語表現モデルで、分類や質問応答など多様な言語理解タスクへ適応できるよう設計されています。
BERTは、Bidirectional Encoder Representations from Transformers の略で、2018年にGoogleが発表したTransformerベースの言語表現モデルです。自然言語処理の分野では、文章分類、質問応答、固有表現抽出、検索、意味表現など、入力された文章を「理解する側」の技術を大きく前進させたモデルとして知られています。
BERTを理解するうえで最も重要なのは、「双方向」という言葉です。ただし、これは文章を前向きと後ろ向きの両方へ生成するという意味ではありません。入力中のある単語の表現を作るときに、その単語より前だけでなく後ろの文脈も同時に利用できる、という意味です。
目次
BERT以前は、文脈の使い方に制約があった
言語モデルでは、ある単語の意味を周囲の文脈から判断します。たとえば「bank」という英単語は、周囲が「money」「account」なら銀行、「river」なら川岸に近い意味だと判断できます。
左から右へ次の単語を予測する自己回帰型モデルでは、ある位置を予測するとき未来側の単語を見ることはできません。対してBERTは、入力全体を与えた状態で一部を隠し、隠された部分を周囲から推測する方法を採りました。これにより、左側と右側の双方を利用した表現を事前学習できます。
原論文では、BERTを「深い双方向表現」を事前学習するモデルとして説明しています。各層で左右双方の文脈に条件づけられる点が、当時の代表的な言語表現モデルとの差でした。
Masked Language Modeling(MLM)とは
BERTの代表的な事前学習課題がMasked Language Modeling(MLM)です。文章中の一部のトークンを学習時に選び、その元のトークンを当てさせます。
たとえば、
「私は朝に [MASK] を飲みます」
という入力に対して、周囲の文脈から「コーヒー」「水」「お茶」などの候補を予測します。実際の原典BERTでは、WordPieceで分割したトークンの15%を予測対象として選び、その一部を [MASK] に置き換えるなどの処理を行いました。
この方式のポイントは、次の語だけを当てるのではなく、左右両側の文脈を使って欠けた語を推測することです。そのため、文章全体を読んだうえで各位置の表現を作る用途に適しています。
Next Sentence Prediction(NSP)とは
原典BERTにはもう一つ、Next Sentence Prediction(NSP)という事前学習課題がありました。2つの文や文断片を与え、2番目が1番目の実際の続きか、それとも別の文脈から取られたものかを判定します。
これは質問応答や自然言語推論のように、複数の文の関係を扱うタスクを意識した設計でした。
ただし、ここはBERTを読むときに注意が必要です。後のBERT系モデルにはNSPを採用しないものもあります。したがって「BERT系モデル=必ずNSPで学習」という理解はできません。BERTの歴史的原型と、その後の派生モデルを区別する必要があります。
事前学習したあと、個別タスクへファインチューニングする
BERTが大きな影響を与えた理由は、ひとつの大規模な言語表現モデルを大量のラベルなしテキストで事前学習し、その後に比較的小規模な教師ありデータで個別タスクへ適応するという流れを強く定着させたことにあります。
たとえば感情分類なら、BERTの出力表現に分類用の出力層を加え、「肯定/否定」などのラベル付きデータでファインチューニングします。質問応答なら、文章中のどこが答えに当たるかを予測するよう調整します。
原論文は、質問応答や自然言語推論など複数のタスクで、大きなアーキテクチャ変更をせずに高い性能を得られることを示しました。
BERTとGPTは何が違うのか
BERTとGPTはどちらもTransformerを使い、大規模なテキストで事前学習するという共通点があります。しかし、典型的な役割は異なります。
BERTは、入力全体を見ながら各位置の文脈表現を作るエンコーダー型です。文章分類、検索用表現、トークン分類、抽出型質問応答などに向いています。
一方、GPT系は基本的に、それまでのトークンを使って次のトークンを順番に予測する自己回帰型モデルです。文章を続きを生成していく用途との相性がよく、現代のチャット型生成AIの基盤として広く使われています。
非常に単純化すれば、BERTは「文章を読んで表現する」方向、GPTは「続きを生成する」方向に強い設計だと考えると、最初の整理としては有効です。ただし現在は派生方式が多く、この二分法だけですべてのモデルを分類できるわけではありません。
BERTは文章生成に使えないのか
「使えない」と断言するのは行き過ぎです。BERTの表現を利用した生成システムや、BERT的なマスク予測を応用した生成手法は存在します。
しかし、原典BERTの事前学習目的は、自由な長文を左から右へ順番に生成することを主目的にはしていません。Hugging Faceの実用ドキュメントでも、BERTはマスクされたトークンの予測や自然言語理解には有効だが、テキスト生成には最適ではないと整理されています。
したがって製品説明で「BERTを採用している」と書かれていても、それだけでChatGPTのような生成機能を想像するのは早計です。
「BERTベース」と書かれていたら何を確認するか
BERTは多数の派生モデルを生みました。そのため「BERTベース」という表現だけでは、実際のモデル仕様はほとんど決まりません。
最低限、次の点を確認するとよいでしょう。
- どのBERT系モデルか。原典BERTか、RoBERTaなどの派生か。
- どの言語・どのコーパスで事前学習したか。
- どのタスクへファインチューニングしたか。
- 入力長の上限やトークナイザーは何か。
- モデルサイズはどの程度か。
- 評価指標は何で、どのデータセット上の結果か。
たとえば「医療文書向けBERT」と書かれていても、一般BERTを医療データでファインチューニングしたのか、医療コーパスで追加事前学習したのか、最初から専門領域で事前学習したのかで意味は変わります。
BERTという名前から推論してはいけないこと
BERTを使っているというだけで、「最新のAIである」「大規模言語モデルである」「生成AIである」「文章の意味を人間のように理解している」「高精度である」と結論づけることはできません。
BERTはあくまでモデル設計と学習方式の系譜を示す言葉です。実際の性能は、モデルサイズ、学習データ、タスク、ファインチューニング、評価条件などに左右されます。
元の文脈に戻るためのチェックリスト
BERTという語を見つけたら、次を確認してください。
- 入力理解・分類・検索のために使っているのか、生成の一部なのか。
- 原典BERTそのものか、BERT系の派生モデルか。
- 事前学習済みモデルをそのまま使うのか、追加学習しているのか。
- 「双方向」が何を意味するかを、生成方向と混同していないか。
- 性能値はどのタスク・データセット・指標に基づくか。
BERTの本質は「左右両側の文脈を使って入力表現を学ぶTransformerエンコーダー型モデル」です。この軸を押さえておけば、GPTや一般的な生成AIとの違いを読み分けやすくなります。
関連するAI用語
- Transformer
- GPT
- Masked Language Model
注・出典
- Devlin et al., BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, ACL Anthology. — https://aclanthology.org/N19-1423/
- Google Research publication page for BERT. — https://research.google/pubs/bert-pre-training-of-deep-bidirectional-transformers-for-language-understanding/
- Hugging Face BERT documentation for practical model behavior and generation limitation. — https://huggingface.co/docs/transformers/model_doc/bert
AI協働制作について
本記事は、著者が独自に設計した指示、参照資料、出典確認規則、著作権確認および監査工程を組み込んだChatGPT等の生成AIを、情報収集の補助、資料整理、構成検討、草稿作成、文章校正および監査補助に使用して制作しました。記事の対象範囲、情報源の採否、構成、解釈および最終表現は著者が判断し、最終稿を承認しています。著者は、本記事の正確性、独自性、引用、著作権処理および公開内容について責任を負います。制作工程の詳細は「AI協働制作方針」をご覧ください。
