BERT・BART・GPT・RAGの違いを整理してみた話
最近のAI、色々ありすぎてわけわからん
最近、ChatGPTとかGeminiとか、生成AIがめちゃくちゃ話題になってますよね。で、調べてると「BERT」「BART」「GPT」「RAG」とか、似たような名前がいっぱい出てきて「で、結局何が違うの?」ってなりませんか?...私だけかもですが、、、
私も正直よく分かってなかったので、ちゃんと調べてみることにしました。せっかくなので、その内容を記事にしてみます。
実はここ10年くらいで技術が大きく変わってる
今の生成AIを理解するには、ちょっとだけ歴史を知っておくと分かりやすいです。ざっくり言うと、こんな流れで進化してきたようです。
2013年頃:word2vec登場
Google Word2Vecが登場したのがここ。これ、何が革命的だったかというと、「単語を数字(ベクトル)で表現できるようになった」んです。
例えば「king - man + woman = queen」みたいな計算ができるようになって、めちゃくちゃ話題になりました。これのおかげで、コンピュータが単語の「意味」をある程度理解できるようになったんですよね。
今でも推薦システムとか、商品の類似度計算とかに使われてます。Amazonの「この商品を買った人はこんな商品も買っています」みたいなやつですね。
2014年頃:seq2seq(Sequence to Sequence)
次に出てきたのがseq2seq。これはGoogleが機械翻訳のために開発したもので、「文章を別の文章に変換する」ことができるようになりました。
構造としては「Encoder(読む部分)」と「Decoder(書く部分)」の2つから成り立ってて、Encoderで入力文を理解して、Decoderで翻訳文を生成するって感じです。
厳密には違いますが、先程のword2vecでEncorderを使って入力をベクトルに変換してベクトル空間にプロットし。今度はその文字や概念がベクトルとして存在する世界からDecorderを使って文章を生成するという感じです。
Google翻訳先生が2016年に劇的に精度が上がったのは、このseq2seqを導入したからなんです。それまでの翻訳と比べて、めちゃくちゃ自然な翻訳ができるようになりました。
2017年:Transformer登場で一気に進化
で、ここから本番なんですが、2017年にGoogleが「Attention is All You Need」という論文でTransformerを発表します。
これが革命的だったのは、seq2seqの構造をベースにしつつ、「Attention」という仕組みで文章のどこが重要かを学習できるようになったこと。計算も並列化できるので、めちゃくちゃ大規模なモデルを作れるようになりました。
そして、このTransformerをベースに、BERT、BART、GPTといったモデルが次々と生まれていったんです。
Transformerの3つのパターン
Transformerベースのモデルって、実は大きく3つのパターンに分かれます。
| タイプ | 使う部分 | 処理方向 | 代表モデル |
|---|---|---|---|
| Encoder-only | Encoderだけ | 双方向 | BERT |
| Decoder-only | Decoderだけ | 単方向 | GPT, Gemini |
| Encoder-Decoder | 両方 | 双方向+単方向 | BART, T5 |
それぞれ何が得意なの?
BERT:文章を理解するのが得意
BERTは2018年にGoogleが発表したモデルで、「文章の意味を理解する」ことに特化してます。文章を生成することはできないんですが、その代わり文章を読んで意味を捉えるのがめちゃくちゃ上手いんです。
何に使われてる?
- Google検索(2019年から検索アルゴリズムに組み込まれてます)
- Amazon Comprehendの感情分析
- メールの自動分類
- 似た意味の文章を探す意味検索
要するに、BERTは「文章を読んで理解するAI」って感じですね。後で説明するRAGシステムでも、検索部分でめちゃくちゃ重要な役割を果たしてます。
BART:文章を書き換えるのが得意
BARTはFacebookAI(現Meta)が2019年に発表したモデル。EncoderとDecoderの両方を使って、「入力を理解して、別の形に変換する」のが得意です。
何に使われてる?
- Grammarly(文法チェック・文章改善)
- DeepL Write(より良い文章への書き換え)
- ニュース記事の自動要約
BARTは「文章を読んで、より良い形に書き換えるAI」って理解すると分かりやすいかも。
例えば
「グダグダな日記Encorder→ベクトル化した意味空間に全部プロット→Decorder→意味空間から必要な部分だけを抽出したきれいな文章」というイメージ。(私個人の雑なイメージです。。。)
翻訳とか要約みたいに、入力と出力の関係がはっきりしてるタスクに向いてます。
GPT:文章を生成するのが得意
GPTはOpenAIが開発したモデルで、Decoderだけを使ってます。「次の単語は何か?」を予測しながら、どんどん文章を生成していくんです。
何に使われてる?
- ChatGPT(これは説明不要ですよね)
- GitHub Copilot(コード生成)
- Gemini、Claude、Copilot
GPTは「会話したり、文章を書いたりするAI」。今の生成AIブームの主役ですね。
RAG:外部知識を使いながら答える
RAGは正確にはモデルというより、「システムの組み方」です。BERTみたいなEncoder(検索)とGPTみたいなDecoder(生成)を組み合わせて、外部のデータベースから情報を引っ張ってきながら回答を生成します。
何に使われてる?
- 企業の社内FAQシステム
- NotionAI(Notionのデータを参照しながら回答)
- カスタマーサポートのチャットボット
RAGは「自社のデータを使って賢く答えるAI」って感じ。今、企業がAIを導入する時は、だいたいこのRAG構成になってます。
なんでGPTが主流になったの?
ここで疑問なのが、「BARTって構造的には複雑だし高性能そうなのに、なんでGPTの方が主流なの?」ってことですよね。
| 項目 | BART | GPT |
|---|---|---|
| 構造 | Encoder + Decoder | Decoderだけ |
| 学習方法 | 文章を壊して復元 | 次の単語を予測 |
| 計算量 | 重い | 比較的軽い |
| 拡張性 | 微妙 | めちゃくちゃ良い |
理由は主に2つあって:
-
シンプルだから拡張しやすい: Decoder-onlyの方が構造がシンプルなので、どんどん大規模化できる。GPT-4とかGeminiとか、パラメータ数がえげつないことになってますよね。
-
学習方法が進化した: Instruction Tuning(指示を理解させる学習)とかRLHF(人間のフィードバックで学習)とかで、GPTが「理解」も「生成」も両方できるようになった。
つまり、「シンプルな構造だけど、学習方法の工夫で何でもできるようになった」ってことですね。
結局、今どう使い分けられてるの?
| モデル | 役割 | 今の立ち位置 |
|---|---|---|
| BERT | 理解・検索 | 検索基盤として必須 |
| BART | 要約・翻訳 | 特定用途で活躍 |
| GPT | 会話・生成 | 生成AIの主役 |
| RAG | 検索+生成 | 企業導入の定番 |
面白いのは、これらが競合してるわけじゃなくて、それぞれ役割が違うってことです。
特に、BERT(検索)+ GPT(生成)= RAG(実用的なAI) っていう組み合わせが、今の企業向けAIの標準構成になってます。
まとめ
自分なりに整理すると、こんな感じ:
- word2vec(2013): 単語を数字で表現できるようになった → 推薦システムとかに
- seq2seq(2014): 文章を別の文章に変換できるようになった → Google翻訳が進化
- Transformer(2017): 超高性能な基盤技術が登場 → ここから大進化
そしてTransformerベースのモデルは:
- BERT: 文章を理解するAI → Google検索とか
- BART: 文章を書き換えるAI → GrammarlyとかDeepL Write
- GPT: 文章を生成するAI → ChatGPT、Gemini
- RAG: 外部知識を使って答えるAI → 企業の社内AIシステム
個人的には、この10年くらいで技術がめちゃくちゃ進化してて、それぞれが「理解」「変換」「生成」って役割を持ってることが分かってスッキリしました。
今後AIツールを選ぶ時も、「これってどのタイプのモデルを使ってるんだろう?」って考えると、より適切に使い分けられそうですね。
けど進化早すぎて、もう最新のが出たら調査する前にとりあえず使って試す、ぐらいの方が早い気がしますね。。。