Re Reference AI

モデル

BERTとは

Bidirectional Encoder Representations from Transformers

文中の前後の文脈を双方向に参照して単語表現を学習する、Transformerエンコーダベースの事前学習済み言語モデル

NLPTransformer事前学習

ひとことで言うと

文章の前後関係を両方向から読んで意味を理解する、Googleが開発したAIモデル。

概要

BERTは、Googleが開発したTransformerエンコーダ部分のみを用いた事前学習済み言語モデル。 文中の各単語を、その前後(双方向)の文脈を同時に参照して表現する点が特徴で、左から右へ一方向に処理する従来の言語モデルと異なり、文全体の文脈を踏まえた単語表現を獲得できる。 マスク化言語モデル(Masked Language Model, MLM)と次文予測(Next Sentence Prediction, NSP)という2つの事前学習タスクにより、大規模な生テキストコーパスからラベルなしで汎用的な言語表現を学習する。 その後、分類・固有表現認識・質問応答など個々のタスクへファインチューニングして利用する。 GPTなど自己回帰型のデコーダモデルとは異なり、テキスト生成ではなく文の理解(自然言語理解, NLU)タスクに強みを持つ。

背景

従来の単語埋め込み(word2vec等)は文脈に依存しない固定表現しか持たず、ELMoなどの文脈依存表現も片方向または浅い双方向処理に留まっていた。 BERTは、Transformer自己注意機構を用いることで、文中の全単語を同時に双方向に参照した文脈依存表現を、大規模な事前学習によって獲得できるように設計された。

歴史

2018年: Googleの研究チームがBERTを発表し、複数のNLPベンチマーク(GLUE等)で当時の最高性能を達成。 2019年: RoBERTa・ALBERT・DistilBERTなど、学習方法や構造を改良した派生モデルが多数登場。 2019-2020年代: 検索エンジンのクエリ理解などプロダクション用途にも導入される。 2020年代以降: GPT系の生成モデルの台頭により注目度は相対的に下がったが、分類・検索・埋め込み生成など理解系タスクの基盤モデルとして今も広く使われる。

アーキテクチャ

Transformerエンコーダ層のみを積み重ねた構造。 入力トークン列の埋め込み位置埋め込みとセグメント埋め込みを加えたものを入力とし、複数層の自己注意機構とフィードフォワード層を通じて各トークンの文脈依存表現を計算する。 事前学習では、入力トークンの一部をランダムにマスクしてその単語を予測するMLMと、2文が連続するかを判定するNSPを学習目標とする。

ワークフロー

大規模テキストコーパスMLM・NSPにより事前学習 → 分類・固有表現認識・質問応答等のラベル付きデータでタスク固有の出力層を追加してファインチューニング → 推論。

コード例

Hugging Face transformersでのBERT分類

from transformers import AutoTokenizer, AutoModelForSequenceClassification

tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased")
inputs = tokenizer("BERT understands context.", return_tensors="pt")
outputs = model(**inputs)

利点

  • 双方向の文脈を同時に参照するため、文の意味理解を要するタスクで高い性能を発揮する
  • 事前学習済みモデルをファインチューニングするだけで、多様なNLUタスクに転用できる
  • ラベルなしの大規模テキストから汎用的な言語表現を学習できる

欠点

  • エンコーダのみの構造のため、自己回帰的な文章生成タスクには向かない
  • 入力系列長(通常512トークン程度)に制約があり、長文の処理には工夫が必要
  • 大規模モデルでは推論時の計算コストが高い

比較

  • LLMBERTは双方向エンコーダによる言語理解に特化し、GPT系の自己回帰型LLMは生成に強みを持つ
  • TransformerBERTはTransformerのエンコーダ部分のみを積み重ねたアーキテクチャ
  • ファインチューニングBERTは事前学習後、タスク固有データでファインチューニングして使うのが基本的な利用形態
  • EncoderBERTは、TransformerのEncoder部分のみを積み重ねて文章理解に特化させたモデル
  • Sentence-BERTSentence-BERTは、BERTをシャムネットワーク構造で微調整し、文単位の埋め込みを高速に比較できるよう改良したモデル
  • MLMBERTは、MLMを事前学習タスクの1つとして採用した代表的なモデル

関連用語

TransformerLLMファインチューニングAttentionNLPEncoder事前学習MLMSentence-BERT

よくある質問

BERTとGPTの違いは?

BERTはTransformerエンコーダのみを使い、双方向文脈を参照して文の理解に強みを持つ。 GPTデコーダのみを使い、左から右への自己回帰生成に強みを持つ。 用途に応じて使い分けられる。

BERTは今も使われている?

生成タスクでは自己回帰型LLMが主流だが、テキスト分類・検索用の埋め込み生成・固有表現認識など理解系タスクの基盤モデルとして、軽量な派生モデル(DistilBERT等)を含め今も広く使われている。

参考文献

関連する年表

Transformerの歴史

自己注意機構(Self-Attention)のみで構成されるTransformerアーキテクチャが2017年に登場して以降、自然言語処理から画像・音声まで広がっていった変遷をたどる。

アーキテクチャ7件のイベント / 2017 - 2023

LLMの歴史

Transformerの登場から、ChatGPTによる一般普及、オープンウェイトモデルの拡大、推論特化モデルの登場まで、大規模言語モデル(LLM)全体の主要な流れをベンダー横断でたどる。

モデル8件のイベント / 2017 - 2025

関連Zenn記事