![見出し画像](https://assets.st-note.com/production/uploads/images/119339597/rectangle_large_type_2_32a7bf7eeff2ce97dd8a2d71ebcebb80.png?width=1200)
大規模言語モデルの仕組みをざっくり理解する
大規模言語モデル
Large Language Model
英語名の頭文字をとって、LLMとも呼ばれています
ChatGPTの登場以降、よく聞くようになりましたね。
というのも、ChatGPTの優れた性能の裏に、
この大規模言語モデルがあるからです。
それでは、大規模言語モデルとは一体何者なんでしょうか?
数回に分けて、解説してきたいと思います。
第1回目は、
大規模言語モデルの仕組みをざっくり理解するです。
高校生にも理解できるように、
なるべく分かりやすく解説していきます。
だいたい分かればいいやという方々は、この回だけでいいかもしれません。
大規模言語モデルとは「大規模な」「言語モデル」
当たり前のことのようですが、
このように分けて考えると理解が進みます。
その名の通り、大規模言語モデルとは
言語モデルを大規模化したものなのです。
言語モデルとは何か?
なぜ、大規模化するのか?
をそれぞれ見ていくことにしましょう。
言語モデルとは何か?
🏈簡単に言うと?
言語モデルは、
すごく簡単に言うと
ある単語の後にどの単語が来るかを予測するモデルです。
例えば、スマートフォンで文章を打っているとき、
次に打つ単語を予測してくれる機能がありますよね?
それも言語モデルが使われている一例です。
🏀例示で理解する
具体的な例を使ってもっと深く理解してみましょう。
例えば、
「私は毎日____を飲む」という文章を考えます。
この空欄に入る単語を予測するのが言語モデルの役割です。
「私は毎日コーヒーを飲む」
「私は毎日靴を飲む」
「私は毎日風呂を飲む」
これらの選択肢から、自然な文章を選ぶとしたら、
ほとんどの人が1の「コーヒー」を選ぶでしょう。
これは、私たちが「コーヒーを飲む」という組み合わせに慣れていて、
それが自然に感じられるからです。
言語モデルも同じように、
単語の組み合わせがどれくらい自然かを評価します。
この場合、
言語モデルは「私は毎日コーヒーを飲む」という文章に
高い確率を割り当て、それが正解だと予測します。
⚽️どうやって学習している?
言語モデルは確率を推定するために、
大量のテキストデータを学習して、
単語のパターンや組み合わせを学習しています。
この学習方法に採用されているのが、
中高生のテストによくある「穴埋め」問題です。
文章中から特定の単語を消去して、
周りに残された単語から消去された単語が何なのかを予測する
この際に使われているのが「条件付き確率」です。
例えば、
日本の首都は**である。
という問題を与え、言語モデルに**を解かせるのです。
言語モデルは、「日本の首都は」「である」という条件のもとで、
この**に当てはまる確率が高い単語を予測するのです。
言語モデルはこうした問題をたくさん解き、
間違えた場合には正解が何かを教えてもらい、
次からは間違えないように確率計算を修正していきます。
🥎深層学習モデルの進化とTransformer
言語モデルの進化とともに、
「条件付き確率」の計算がより精緻になっています。
特に、最近の深層学習モデルでは、
単語や文脈の意味まで捉えた計算を行なっています。
それを支える画期的な技術が、Transformerです。
ChatGPTをはじめ、最近のLLMは全てTransformerが使われています。
Transfomerについてはまた、別途、詳しく解説していきますが、ここでは簡単に説明します。
Transformerは、アテンション機構という技術を用いて、
文中の各単語が他の単語とどのように関連しているかを学習します。
これにより、文脈に応じた条件付き確率の推定が可能になり、
例えば、同じ単語でもその意味が異なる場合に、
文脈に応じて適切な確率を割り当てることができます。
🏐条件付き確率の推定の応用
条件付き確率の推定は、
テキスト生成だけでなく、機械翻訳、音声認識、画像認識など、
多くのAIアプリケーションで核心的な役割を果たしています。
例えば、機械翻訳では、
ある言語のフレーズが与えられたときに、
別の言語でそれに対応する最も自然なフレーズを生成するために、
条件付き確率が用いられます。
以上が言語モデルの説明です。
なぜ、大規模化するのか?
言語モデルには、
1️⃣モデルのサイズ(パラメータ数)、
2️⃣学習データ、
3️⃣計算資源(GPUなど)
の3つを大きくすればするほど、性能が上がるという特性があります。
このことをスケール則と呼んでいます。
言葉を選ばずにいうと、カネをかければ性能はあがるということですね。
このため、言語モデルはこぞって大規模化が進められてきました。
![](https://assets.st-note.com/img/1697287876582-PO5hMG7Woi.png?width=1200)
ちなみに、
モデルサイズを巨大にすると、
当然、性能が大幅に上がったりする現象も観測されています。
これは面白いですね
![](https://assets.st-note.com/img/1697287985031-9MGzel8Mz9.png?width=1200)
いかがでしたでしょうか。
次回はTransformerアーキテクチャーについて見ていきたいと思います。
よろしければサポートお願いします! いただいたサポートはクリエイターとしての活動費に使わせていただきます!