第8章: 「読む」専門家 — BERTとエンコーダ系
2018 年 10 月、Google が BERT というモデルを発表した。
その翌年、Google 検索は 「世界中で BERT を導入した、過去 5 年で最大の検索品質改善」 とブログでアナウンスする。 意味の取りづらい複雑な検索クエリ ── たとえば「ブラジル人が 2019 年に米国に渡航する手続き」のような自然な言い方 ── でも、検索結果が劇的に正確になった。
BERT は 「読む」専門家 だ。 第7章で出てきた Transformer のエンコーダ部分を、巨大なテキストで先に事前学習しておいて、後から検索・分類・質問応答・固有表現抽出などに転用できる。
本章では、BERT がどうして「読む」のがそんなに上手いのか ── その秘密を内側から見ていく。
8.1 事前学習という発想 ── 「先にたくさん本を読ませておく」
第7章までで、Transformer という強力なアーキテクチャを手に入れた。 だが、Transformer を 特定のタスク (たとえば「ニュース記事を 10 カテゴリに分類」)で動かすには、各タスクに 大量のラベル付きデータ が必要だった。
ラベル付きデータは高価だ。 「このメールはスパムか / スパムでないか」を人間が 10 万件タグ付けする ── これを各タスクごとにやるのは現実的でない。
ここで BERT が示した発想はこうだ:
事前学習 + 微調整(Pre-training + Fine-tuning)の発想
- 事前学習 (pre-training): まず、ラベル不要で大量のテキスト(Wikipedia や本)を読ませる。ここでモデルは「言葉の使い方」を広く学ぶ
- 微調整 (fine-tuning): その後、少量のラベル付きデータ で、目的のタスク(分類・抽出・回答など)に合わせて仕上げる
これにより、各タスクごとに大量のラベル付きデータを用意する必要がなくなる。 「広く言葉を知っている人材」を 1 体作っておいて、後から専門教育で微調整する ── そんなイメージだ。
この「先にどっさり読ませる」工程が、本書のここからの主役だ。 そしてここで本質的な問いが出てくる:
ラベルがない大量のテキストで、機械に 何を学ばせる のか?
ラベルがないのに、何を予測させればいいのか。 BERT の答えがまさに天才的だった。
8.2 BERT の発明 ── 「穴埋め問題」を解かせる
BERT が選んだ事前学習タスクは、こうだ:
Masked Language Model(穴埋め予測)
文中のトークンをランダムに 15% ほどマスク(隠す) し、 モデルにその 隠れたトークンを当てさせる。
例:「私 は [MASK] を 食べた」 → 機械は [MASK] の位置に何が入るかを予測
- 正解候補が多い:パン、ご飯、ピザ、寿司、…
- でも文脈から絞り込める:周囲の単語と整合する単語が選ばれる
これを 数十億単語ぶん やらせる。 すると機械は、副産物として 言葉の使い方・文法・常識 を体得していく。
これは、第2章で出てきた Word2Vec の「周辺単語を予測することで意味が学べる」という発想の、Transformer 版・大規模版 と言っていい。 言語学者 J.R. Firth の「単語の意味は、その周りに現れる単語によって決まる」がこの形でも生きている。
なぜ穴埋め問題が効くのか
穴埋めを正確に解くには、機械は 隠れた単語の前後の文脈 を 同時に 見る必要がある。
たとえば「I went to the [MASK] to deposit my paycheck.(給料を [MASK] に預けに行った)」と来れば、bank が入る。
ここで bank を当てるには、deposit my paycheck を見る必要がある(前章までで議論した「文脈で意味が動く」の話)。
そして、Transformer エンコーダの Self-Attention は、文中のすべての位置を同時に見られる。
だからこそ BERT は 前後両方の文脈 を活かせる ── これが BERT の名前 Bidirectional Encoder Representations from Transformers(双方向な Transformer エンコーダ表現)の由来だ。
双方向 (Bidirectional)「前から読む」「後ろから読む」の両方を同時に行うこと。 第5章で出てきた RNN/LSTM は、基本的には 片方向(前から読むか、後ろから読むかのどちらか)だった。 BERT は Transformer の Self-Attention によって、前後を同時に見る ことが当然のように可能になった ── これが「読む」タスクで圧倒的な強さに繋がる。
8.3 BERT の使い方 ── 1 体で多タスクをこなす
事前学習が終わった BERT は、いわば「広く言葉を知っている読書家」だ。 ここから 特定のタスクに合わせて微調整 することで、いろいろな仕事ができる。
| タスク | やり方 |
|---|---|
| 文書分類(感情、トピック、スパム判定) | BERT の出力に分類層を載せ、ラベル付きデータで微調整 |
| 固有表現抽出(NER) | 各トークンに「人名・地名・組織名・その他」のタグを予測 |
| 質問応答(QA) | 文書の中から、質問の答えに該当する範囲を抜き出す |
| 文ペアの判定(含意関係、類似度) | 2 文を入れて、関係を分類 |
| 検索ランキング | クエリと文書のペアの関連度を予測 |
事前学習 + 微調整のパラダイムによって、1 体の BERT を様々な NLP タスクに展開できる。 これが BERT の最大の革命性だった。
それまでは:
- 感情分析モデル
- スパム判定モデル
- 質問応答モデル
- …
各タスクで 別々にモデルを設計・訓練 していた。 それが BERT 以降、「BERT を事前学習する → 用途別に微調整する」 という共通レシピで全部いけるようになった。
これがどれほど画期的だったか、当時の NLP 研究者でないと体感しづらいかもしれない。
本書執筆現在から振り返ると、ChatGPT や Claude のような汎用 LLM の登場を「何が来てもいいオールラウンダー」として認識するのが普通だ。
だが BERT 以前は、タスク 1 つに 1 モデル が常識で、それを変えるのは想像もできない世界だった。
8.4 BERT が変えた具体的な現場 ── Google 検索
最も有名な BERT の応用先は、Google 検索だ。 2019 年、Google は BERT を検索ランキングに導入し、英語検索のおよそ 10% に影響 した(その後、全言語に拡大)。
具体例として、Google が公式に挙げた次の検索クエリがある:
2019 brazil traveler to usa need a visa
BERT 以前の検索エンジンは、brazil, traveler, usa, visa という キーワード単位 で検索結果を出していた。
そのため、結果として「アメリカ人がブラジルに行くときのビザ情報」のような 逆向きの記事 も上位に出てしまっていた。
BERT 導入後は、brazil traveler to usa という 文脈の流れ を理解し、「ブラジル人 → 米国への渡航」 が正しく読み取られるようになった。
これは検索エンジンが、はじめて 「自然な文章を、本当に意味として読む」 ようになった瞬間だった。
8.5 BERT の遺産と限界
BERT 登場から 5 年以上経ったが、いまだに広く使われている。 特に:
- 検索・分類・抽出 などの「読む」系タスクでは、LLM より BERT 系の方が小さく・速く・安く動く
- 企業内システム では、Llama などの大型 LLM ではなく BERT 系の派生(DistilBERT、RoBERTa など)が現役
- 多言語対応: 多言語版(mBERT、XLM-R)が国際的なサービスで使われる
ただし、BERT には 本質的な制約 がある:
制約①: 文章を「生成」できない
BERT は穴埋めで学習されたので、「短く隠れた単語を当てる」 のは得意だが、「長い文を生成する」 のは苦手だ。 左から右へと長文を書き続けるような用途には向かない。
制約②: 規模を大きくしても、生成側の用途では弱い
BERT のパラメータ数を増やしても、得意なのはやはり「読む」系。 チャットや会話のような 「書く」系の応用 には、別の方向のモデルが要る。
ここで、もう一つの巨人が登場する ── 第9章の主役、GPT だ。 こちらは BERT とは対照的に、「次の単語を当てる」 という違うタスクで事前学習され、「書く」専門家 として進化していった。
8.6 エンコーダ系の系譜
BERT は「エンコーダ系」LLM の元祖だが、その後も多くの派生・改良が続いた。
| モデル | 特徴 |
|---|---|
| BERT (2018, Google) | 元祖。穴埋め予測で事前学習 |
| RoBERTa (2019, Meta) | BERT の学習設定を最適化、より高精度 |
| DistilBERT (2019) | BERT を圧縮して軽量化、速度重視 |
| ALBERT (2019, Google) | パラメータ共有で軽量化 |
| DeBERTa (2020, Microsoft) | Attention の改良で精度向上 |
| 多言語版(mBERT, XLM-R) | 100 言語以上の同時学習 |
これらは現在も実務で広く使われている。 特に 検索エンジン、企業の文書分析、メールフィルタリング、医療文書の解析 などで、軽量・高速な BERT 系は依然として第一選択肢だ。
LLM 全盛のいま、「BERT は古い」と思われがちだが、それは違う。 BERT 系は 「読む系のタスクをちゃんと、軽く、安く解く」 ための主力モデルとして、いまも検索・分類・抽出の現場で大量に動いている。
GPT 系が脚光を浴びる一方、BERT 系は 縁の下の主役 として実用界を支えている。
8.7 この章の振り返り
- 2018 年に Google が発表した BERT は、Transformer エンコーダを巨大なテキストで事前学習する手法
- 事前学習 + 微調整 という新しいパラダイムを定着させた
- 事前学習タスクは Masked Language Model(穴埋め予測) ── ラベルなしで言葉の使い方を学ぶ
- Self-Attention により、前後両方の文脈を同時に見る「双方向(Bidirectional)」が実現
- 1 体の BERT を、分類・抽出・質問応答・検索ランキングなど 多様なタスクに微調整 できる
- Google 検索に導入され、自然な検索クエリの理解が劇的に改善
- 「読む」系タスクでは今も実務の第一選択肢 ── 軽量・高速で、検索・分類・抽出の縁の下の主役
- 制約: 「書く」系タスクは苦手 ── これを次章の GPT が引き受ける
次章は、BERT と対をなすもう一人の巨人 ── GPT に踏み込む。 「次の単語を当てる」というシンプルな目標だけで、なぜ会話・翻訳・コード生成までできるようになったか、その物語だ。