BERT

AI・機械学習 | IT用語集

この用語をシェア

BERTとは

BERT(Bidirectional Encoder Representations from Transformers)は、2018年10月にGoogleのAI研究チームが論文「BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding」(Devlin et al.)として発表した自然言語処理(NLP)の事前学習モデルです。同年11月には学習済みモデルと実装コードがオープンソースとして公開され、その後数年間にわたりNLP分野の標準的な基盤モデルとして広く使われました。

従来の言語モデル(例えばOpenAIのGPTの初代モデルや、ELMoのような手法)は、左から右へ(または右から左へ)の一方向、あるいは順方向・逆方向を後から連結する形でしか文脈を扱えませんでした。これに対しBERTは、Transformerのエンコーダ構造とマスク言語モデル(Masked Language Model)という学習手法を組み合わせることで、ある単語の意味をその「前」と「後ろ」の両方の文脈から同時に推定できるようにした点が最大の革新でした。

発表当時、BERTはGLUE(General Language Understanding Evaluation)ベンチマークやSQuAD(Stanford Question Answering Dataset)などの主要な言語理解タスクで軒並み最高性能(State-of-the-Art)を更新し、学術界・産業界の双方に大きなインパクトを与えました。公開されたモデルには、12層のTransformerエンコーダとパラメータ数が約1.1億の「BERT-Base」、24層・パラメータ数約3.4億の「BERT-Large」の2種類があり、用途や計算資源に応じて使い分けられていました。

主な特徴(仕組み)

双方向エンコーダとマスク言語モデル(MLM)

BERTの最大の革新は双方向の文脈理解です。学習時には入力文中の単語の一部(一般に約15%程度)をマスクし、そのマスクされた単語を前後の文脈から予測させる「マスク言語モデル(MLM)」というタスクを解かせます。マスク対象のうち、実際に[MASK]トークンに置き換えるのは一部で、残りはランダムな別の単語に置き換えたり、そのままにしたりする工夫が加えられています。これは、ファインチューニング時には[MASK]トークンが登場しないため、事前学習と実運用の入力分布のズレ(ミスマッチ)を減らす目的があります。

オリジナルのBERTでは、MLMに加えて「Next Sentence Prediction(NSP)」という2つ目の事前学習タスクも採用されていました。これは2つの文が連続する文かどうかを判定させるもので、文書レベルの文脈理解を狙ったものでしたが、後継モデルであるRoBERTaの研究でNSPの有効性には疑問が呈され、以降の多くのモデルではNSPを廃止し、MLMのみで学習する構成が主流になりました。

Transformerアーキテクチャと入出力表現

BERTはTransformerのエンコーダ部分のみを積み重ねた構造です(デコーダは使いません)。各層には自己注意機構(Self-Attention)とフィードフォワード層があり、文中の全単語同士の関連度を同時に計算することで、離れた位置にある単語同士の依存関係も効率よく学習できます。入力文はWordPieceという単語分割アルゴリズムでサブワード単位のトークン列に変換され、文頭には分類タスク用の特殊トークン[CLS]、文の区切りには[SEP]が付与されます。[CLS]トークンに対応する出力ベクトルは、文全体の意味を集約した表現として、文書分類や含意判定などのタスクにそのまま利用できます。

事前学習とファインチューニングの二段階構成

BERTは、Wikipediaの英語版全文(約25億語)とBooksCorpus(約8億語)という大規模なテキストコーパスを用いてMLM・NSPタスクで事前学習(Pre-training)を行い、その後、感情分析や質問応答など目的のタスクに応じたラベル付きデータで追加学習(ファインチューニング、Fine-tuning)を行うという二段階の学習方式を採用しています。事前学習済みモデルの重みを初期値として使うため、タスクごとの学習データが数千〜数万件程度と比較的少なくても実用的な精度が出せる点が、当時としては画期的でした。

具体例・ユースケース

BERTは公開後、研究用途にとどまらず実際のプロダクトにも組み込まれました。代表的な事例と、タスク別の応用分野を挙げます。

Google検索アルゴリズムへの採用

最もよく知られた事例は、Googleが2019年10月に発表した検索アルゴリズムの「BERTアップデート」です。Googleはこれにより、検索クエリに含まれる前置詞(「for」「to」など)のニュアンスまで踏まえた文脈理解が可能になったと説明しており、当初は英語の検索クエリの約10%に影響を与えるとされ、その後多言語へも展開されました。「2019 brazil traveler to usa need a visa」のような、単語の並びだけでは意図が読み取りにくい検索クエリでも、BERTによって「brazil国民がusaに行くために」という文脈が正しく解釈できるようになった例として紹介されています。

ドメイン特化モデルへの派生

BERTのアーキテクチャは、特定分野のコーパスで追加事前学習した派生モデルの土台としても広く使われました。生命科学・医学分野の論文で事前学習した「BioBERT」、金融分野に特化した「FinBERT」、法律文書向けの「Legal-BERT」などがその代表例です。日本語では、東北大学の乾・鈴木研究室が公開した「cl-tohoku/bert-base-japanese」シリーズが、日本語NLPタスクにおける事実上の標準的な選択肢の一つとして長く使われました。

タスク別の応用分野

  • 感情分析:レビューやSNS投稿のポジティブ/ネガティブ判定、コールセンターの応対品質分析
  • 質問応答(QA):SQuADのように、文書中から質問への回答箇所を抽出するFAQボットや検索補助
  • 文書分類:問い合わせメールの部署振り分け、スパム・迷惑コメントの検出
  • 固有表現認識(NER):契約書や診療記録から人名・組織名・日付・金額などを抽出する情報抽出基盤
  • 自然言語推論(NLI):2つの文が矛盾するか、含意するかを判定するファクトチェックや要約評価
  • 文の埋め込み・意味検索:Sentence-BERTなどの派生形を用いた類似文書検索、FAQのセマンティック検索、後述のRAGにおける検索コンポーネント

メリット・デメリット

BERTを選定・活用する際は、以下のような長所と短所を踏まえて判断することが実務上のポイントになります。

観点 メリット デメリット・注意点
文脈理解 前後双方向の文脈を同時に見るため、単方向モデルより文意の把握精度が高い 生成的なタスク(文章の続きを書く等)にはそもそも向かない構造
学習コスト ファインチューニングは比較的少量のラベル付きデータでも実用精度に達しやすい 事前学習そのものは大規模データ・計算資源が必要で、個人でゼロから行うのは非現実的
推論コスト GPT系の大規模言語モデルと比べてモデルサイズが小さく、推論が高速・低コスト 入力トークン数の上限(原則512トークン程度)があり、長文はそのままでは扱いにくい
エコシステム Hugging Face等に事前学習済みモデルが多数公開され、導入のハードルが低い 2023年以降はLLM(GPT系・Claude・Gemini等)に単体利用の場面を奪われつつある
多言語対応 多言語版(mBERT)や日本語特化版など、言語ごとの専用モデルが充実 言語やドメインに応じてモデルを選定・追加学習する手間が発生する

実務では、生成AIブーム以降も「大規模なLLM APIを呼ぶほどではないが、精度は欲しい」分類・抽出・検索用の埋め込みタスクにおいて、BERT系モデルの費用対効果の高さが評価され続けています。

混同されやすい用語・類似技術との違い

BERT と GPT

両者ともTransformerを基盤としますが、BERTはエンコーダのみ、GPTはデコーダのみを使う構造です。BERTは文全体を一度に見て双方向に文脈を理解する「理解」タスクに強く、GPTは左から右へ次の単語を予測しながら文章を生成する「生成」タスクに強いという役割分担があります。分類・抽出・検索であればBERT系、要約や対話生成、コード生成のような生成タスクであればGPT系(あるいはClaude・Geminiのような大規模言語モデル)が向いているのが基本的な使い分けです。

BERT と T5 / BART

T5(Text-to-Text Transfer Transformer)やBARTは、エンコーダとデコーダの両方を持つ「エンコーダ・デコーダ型」のモデルです。あらゆるタスクをテキストからテキストへの変換として扱えるため、分類も要約も翻訳も同じ枠組みで扱える柔軟性がありますが、BERTのようなエンコーダ専用モデルに比べると構造がやや複雑で、推論コストも高くなる傾向があります。

BERT と ELMo・Word2Vec・GloVe

Word2VecやGloVeは、単語ごとに文脈に関係なく固定の1つのベクトルを割り当てる「静的な」単語埋め込み手法です。ELMoはLSTMを使い文脈に応じてベクトルを変化させる「文脈化埋め込み」の先駆けでしたが、順方向・逆方向のLSTMの出力を後から連結する擬似的な双方向性にとどまっていました。BERTはTransformerの自己注意機構によって、より深いレベルで真に双方向な文脈化埋め込みを実現した点が技術的な違いです。

BERT と RAG

BERT自体はRAG(Retrieval-Augmented Generation)という仕組みそのものではありませんが、BERTから派生したSentence-BERTなどの文埋め込みモデルは、RAGにおける「検索」の要(クエリと文書をベクトル化し類似度で検索する部分)として今もよく利用されています。回答文を生成するのは別途GPT系・Claude系などのLLMが担い、BERT系モデルは検索の精度を支える裏方として機能する、という役割分担が2025年時点の典型的な構成です。

BERTの影響と発展、2025〜2026年の最新動向

BERTの登場により、自然言語処理分野は「事前学習モデルをファインチューニングして使う」というパラダイムが一気に主流になりました。その後、以下のような改良モデルが次々と登場しています。

  • RoBERTa(Facebook AI、2019年):NSPタスクを廃止し、より大きなバッチサイズ・より長い学習でBERTの性能を底上げ
  • ALBERT(Google、2019年):層間でパラメータを共有し、モデルサイズを削減しながら性能を維持
  • DistilBERT(Hugging Face、2019年):知識蒸留によりBERTを軽量化し、推論速度を高めた派生モデル
  • ELECTRA(Google/Stanford、2020年):MLMの代わりに「置き換えられた単語を当てる」タスクで学習効率を改善
  • DeBERTa(Microsoft、2020〜2021年):単語の内容と位置情報を分離して扱うAttention機構により、GLUE等で人間の性能を上回るスコアを記録
  • Sentence-BERT(2019年):文単位の埋め込みベクトルを効率よく得られるよう改良し、意味検索・類似文書検索の定番手法に

BERTの成功で確立された「Transformerベースの事前学習+ファインチューニング」という考え方は、その後のGPTシリーズや大規模言語モデル(LLM)全般の発展の土台にもなりました。

2025〜2026年時点の位置づけ

2023年以降のGPT-4、Claude、Gemini等の高性能な生成AIの台頭により、テキスト生成や対話用途でBERTを単体で使う場面は大きく減少しました。一方で、以下のような領域ではBERT系アーキテクチャ、あるいはその設計思想を継承したモデルが引き続き重要な役割を担っています。

  • 埋め込み(Embedding)モデル:RAGやセマンティック検索、レコメンデーションの基盤として、BGE、E5、Sentence-BERT系列、日本語ではruri等の埋め込みモデルがBERT系アーキテクチャを継承・発展させて使われている
  • 軽量・高効率な分類器:スパム検出、モデレーション、ルーティング判定など、低コストで大量に処理したい分類タスクでは、巨大なLLMを呼ぶよりもファインチューニング済みのBERT系モデルの方がレイテンシ・コストの両面で有利なケースが多い
  • ModernBERTのような後継アーキテクチャ:2024年末にAnswer.AIとLightOnが共同で発表した「ModernBERT」は、より長い文脈長への対応やRotary Position Embeddingの採用など、BERT登場から数年分のアーキテクチャ改善を取り込んだエンコーダ専用モデルとして注目され、2025年にかけて埋め込み・分類用途での採用例が増えている
  • マルチモーダル・エージェント時代の裏方:画像・音声を扱うマルチモーダルAIやAIエージェントが主役になる中でも、テキストの意図分類やルーティング、ガードレール(不適切入力の検知)など、エージェントの内部で使われる補助的なコンポーネントとしてBERT系の小型モデルが使われ続けている

総じて、BERTは「単体の主力モデル」としての役割から、「LLMを中心としたシステムを裏で支える専門部品」としての役割へと位置づけが変化してきているのが2025〜2026年時点の実情です。

実装とツール(実務ポイント)

BERTはオリジナル実装がオープンソースで公開されており、TensorFlow、PyTorch、Hugging Face Transformersなどの主要な機械学習フレームワークで利用できます。特にHugging Face Transformersライブラリは事前学習済みモデルのハブとしても機能しており、BERT-Base、BERT-Large、多言語版のmBERT、日本語特化モデルなど数多くの重みが公開されているため、ゼロから事前学習を行わなくても、目的のタスク用データでファインチューニングするだけで利用開始できます。

Hugging Face Transformersを使った文書分類のファインチューニングの典型的な流れは以下のようになります(Pythonでの疑似コード例)。

from transformers import AutoTokenizer, AutoModelForSequenceClassification, Trainer, TrainingArguments

model_name = "bert-base-uncased"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name, num_labels=2)

# データセットをトークナイズ([CLS] [SEP] を自動付与)
encoded = tokenizer(texts, padding=True, truncation=True, max_length=512)

training_args = TrainingArguments(
    output_dir="./results",
    num_train_epochs=3,
    per_device_train_batch_size=16,
    learning_rate=2e-5
)

trainer = Trainer(model=model, args=training_args, train_dataset=train_dataset)
trainer.train()  # ファインチューニング実行

実務でBERT系モデルを導入する際に押さえておきたいポイントは次のとおりです。

  • 最大トークン長の制約:原則512トークン程度までしか一度に扱えないため、長文書はチャンク分割してから処理するか、長文対応をうたう後継モデル(ModernBERT等)の採用を検討する
  • 学習率とエポック数:ファインチューニングでは学習率を小さめ(一般に2e-5〜5e-5程度)に設定し、エポック数も2〜4程度に抑えるのが定石とされる。大きすぎる学習率は事前学習で得た知識を壊す「破滅的忘却」を招きやすい
  • 推論の高速化:本番環境での推論コストが問題になる場合は、DistilBERTのような蒸留モデルへの置き換えや、ONNX Runtime・量子化(INT8化)による高速化が定石
  • 日本語での利用:日本語は単語間にスペースがないため、形態素解析(MeCab等)を前処理として組み合わせたトークナイザを使う日本語版BERTが多く、英語向けのトークナイザをそのまま流用できない点に注意する

まとめ

BERTは、双方向の文脈理解というアプローチと「事前学習+ファインチューニング」という二段階の学習パラダイムにより、自然言語処理の性能を大幅に向上させた画期的なモデルです。Google検索への採用をはじめ実プロダクトへの導入例も多く、RoBERTa・ALBERT・DistilBERT・DeBERTaなど数多くの派生モデルを生み出しました。2025〜2026年現在は、生成AI・LLMが対話や文章生成の主役を担う一方、BERT系のエンコーダ専用モデルは検索・埋め込み・軽量分類といった領域で「LLMを支える専門部品」として引き続き重要な位置を占めています。用途に応じてLLMとBERT系モデルを使い分ける(あるいは組み合わせる)視点が、実務では欠かせません。

この用語についてもっと詳しく

BERTに関するご質問や、システム導入のご相談など、お気軽にお問い合わせください。

よくある質問(FAQ)

Q. BERTとは何ですか

BERT(Bidirectional Encoder Representations from Transformers)はGoogleが2018年に発表した双方向Transformerエンコーダモデルです。文中の単語を前後双方向の文脈から理解できる点が特徴で、テキスト分類、質問応答、固有表現抽出、意味検索など幅広いNLPタスクに使われています。

Q. BERTとGPTの違いは何ですか

BERTはTransformerのエンコーダ部分のみを使い、文脈理解・分類・抽出のようなタスクに強いモデルです。一方GPTはデコーダ部分のみを使い、次の単語を順番に予測しながら文章を生成するタスクに強いモデルです。BERTは前後双方向、GPTは基本的に単方向(左から右)で処理する点も大きな違いです。

Q. BERTは今でも使われていますか

対話や文章生成の主役はGPT系・Claude・Geminiなどの大規模言語モデルに移りましたが、BERT系のアーキテクチャは、RAGや意味検索を支える埋め込みモデル、スパム検出のような軽量な分類器などの領域で現在も広く使われ続けています。

Q. BERTを学習・利用するのにどのくらいの計算資源が必要ですか

ゼロから事前学習を行う場合は大規模なコーパスと複数のGPU/TPUによる長時間の学習が必要ですが、実務では公開済みの事前学習済みモデルをファインチューニングして使うのが一般的です。BERT-Base程度であれば、1枚のGPUでも数千〜数万件規模のデータで数時間程度のファインチューニングが可能な場合が多いです。

Q. 2025〜2026年のBERTの最新動向は

Embedding用途(RAG・意味検索)での利用が主流になっており、BGE、E5、Sentence-BERT系列や、より長い文脈に対応したModernBERTのような後継アーキテクチャが活用されています。生成AI・LLMの台頭により、対話・生成用途での単体利用は減少傾向にある一方、LLMを支える裏方の部品としての重要性は保たれています。

Q. 日本語でBERTを使うにはどうすればよいですか

東北大学が公開している「cl-tohoku/bert-base-japanese」シリーズなど、日本語コーパスで事前学習された日本語版BERTがHugging Face上で公開されています。日本語は単語間にスペースがないため、形態素解析ベースのトークナイザと組み合わせて使われることが多い点に注意が必要です。

関連用語

外部リンク・参考資料