生成AIはどう動く? 大規模言語モデルのしくみ
文章を作る生成AIの中心にあるのは、「大規模言語モデル」と呼ばれる計算のしくみです。していることは、それまでの文章に続く「次のひと区切り」を予測して書き足す、というくり返しです。学んだ文章の傾向をもとに書くので、流れるような文でも事実と違うことがあり、大事な内容は確かめる必要があります。
この記事でわかること
- 大規模言語モデルが実際にしていること(続きの予測)と、トークンという単位
- 1トークンずつ文章を作るしくみと、答えが毎回変わる理由
- パラメータの意味と、学習のよくある3つの段階
- Transformerとアテンション、一度に見られる長さの上限
- もっともらしい間違いが起きる理由と、安全な使い方
前提知識: 特にありません。AIの計算の中身(数を掛けて足すくり返し)は「なぜAIにGPUが使われるの?」で説明しています。
身近なところでは
質問を打ち込むと、AIが文章で答えを返してくれます。メールの下書き、長い文書の要約、外国語の翻訳にも使われています。このように、文章や画像などを新しく作るAIを「生成AI」と呼びます。
この記事では、生成AIのうち文章を作るものを扱います。その中心にあるのが「大規模言語モデル」です。英語の頭文字をとって、LLMとも呼ばれます。ニュースでは製品の名前が先に出てきますが、中のしくみの基本は共通しています。
製品ごとの細かな作りは、公開されていないことも多くあります。そこでこの記事では、論文や公的な資料で確かめられる、多くのモデルに共通する考え方に絞って説明します。
していることは「続きを当てる」
言語モデルとは、文章の続きに何が来やすいかを、確率で表す計算のしくみです。確率は、その候補がどのくらい来やすいかを0〜100%で表した数です。「大規模」の意味は、後で説明します。
例えば「今日はとても天気が」と入力されたとします。モデルは、次に来うる候補の1つ1つに確率をつけます。「いい」は高く、「悪い」はそれより低く、関係のない言葉はほぼ0です。
この確率は、だれかが表に書き込んだものではありません。大量の文章から学ぶうちに、計算のしかたが少しずつ決まっていった結果です。どう学ぶかは、後の「学習のよくある3つの段階」で説明します。
トークン: 文章を区切る単位
図の候補は、単語とは限りません。言語モデルは、文章を小さな区切りに分けて扱います。この区切りを「トークン」と呼びます。1文字のことも、数文字のまとまりのこともあります。
例えば「今日は晴れです」は、「今日」「は」「晴れ」「です」のように分けられることがあります。ただし、これは説明のための例です。区切り方はモデルごとに決まっていて、同じ文でもモデルが違えば、トークンの数は変わります。
モデルが一度に扱える文章の長さや、サービスの利用料金は、トークンの数で数えられることがよくあります。文字数とは一致しないので、目安として考えるのがよいでしょう。
1トークンずつ書き足していく
答えの文章は、一度にまとめて作られるわけではありません。まず次の1トークンを選び、文章の最後に書き足します。書き足した文章全体を手がかりに、また次の1トークンを選びます。これを、「ここで終わり」を表す特別なトークンが選ばれるか、決めた長さに達するまでくり返します。
次のトークンは、いちばん確率の高いものが選ばれるとは限りません。多くの場合、確率に応じた当たりやすさのくじ引きのように選びます。この選び方を「サンプリング」と呼びます。同じ質問をしても答えが毎回少し違うのは、主にこのためです。
いつも1位だけを選ぶと、文章が単調になったり、同じ言い回しをくり返したりしやすくなります。Holtzmanらの研究(2019年発表)はこの問題を調べ、確率の低い候補を切り捨ててからくじを引く方法を提案しました。また、くじの偏り方は「温度」という設定で変えられます。温度を低くすると上位の候補がさらに選ばれやすくなり、答えのばらつきが小さくなります。
パラメータ: 学習で調整される大量の数
文字はそのままでは計算できないので、モデルはトークンを数の並びに直してから計算します。その数に、決まった数を掛けて足す計算を、何段も重ねます。この計算で、どの入力をどれだけ重く見るかなどを決める数を「パラメータ」と呼びます。
パラメータは、人が1つずつ決めるのではありません。学習の始めはでたらめな値で、予測が当たるように少しずつ直していきます。直し終えたパラメータの値の組に、モデルが学んだことが詰まっています。掛けて足す計算の中身は「なぜAIにGPUが使われるの?」で説明しています。
大規模言語モデルの「大規模」は、主にこのパラメータがとても多いことを指します。例えば、Metaが2024年に公開したLlama 3.1の最大のモデルは、パラメータが約4,050億個です。中身を公開していないモデルも多く、その数は外から確かめられないため、ここでは公開されたモデルを例にしました。
学習のよくある3つの段階
大規模言語モデルは、ふつう何段階かに分けて学習します。ここでは、よく使われる3段階の流れを紹介します。段階の分け方や方法は、開発元によって違います。
1つめは「事前学習」です。インターネット上の文章や本など、大量の文章を用意します。文章の途中までを見せて次のトークンを予測させ、外れたらパラメータを少し直します。正解は文章そのものの中にあるので、人が正解を書く必要はありません。Llama 3では、約15兆トークンの文章が使われました(2024年の論文)。
事前学習を終えたモデルは、文章の続きを書くのは得意です。でも、質問に答えてくれるとは限りません。質問の続きとして、似た質問を書き並べてしまうこともあります。
そこで2つめに、すでに学習したモデルを、目的に合わせて少し追加で学習させます。これを「ファインチューニング」と呼びます。ここでは、質問と、よい答えの手本(人が書いたものなど)の組を見せます。正解の手本から学ぶので、「教師あり」ファインチューニングと呼ばれます。
3つめに、人の好みに合わせます。同じ質問への答えを複数作り、どれがよいかを人が比べます。この評価を手がかりに、好まれる答えを出しやすくします。よく知られたやり方は、結果につく評価から学ぶ強化学習を使うもので、RLHF(人のフィードバックによる強化学習)と呼ばれます。
この3段階の流れは、OpenAIの研究者による2022年の論文で、まとまった形で示されました。一方、Metaは2024年の論文で、3つめにDPOという方法を選んだと説明しています。強化学習を使わず、比べた結果から直接学ぶ方法です。大きなモデルでは計算が少なく、成績もよかったためです。必ずこの3段階というわけではありません。
Transformerとアテンション
今の大規模言語モデルの多くは、「Transformer」という計算の組み立て方を使っています。2017年に、Googleの研究者らが「Attention Is All You Need」という論文で発表しました。もとは、文章を別の言語に訳すために考えられたものです。
それまでの文章のAIでは、トークンを先頭から1つずつ順に読む方式が主流でした。前の結果を待たないと次に進めないので、計算を同時に進めにくいという弱点がありました。Transformerは、すでにある文章のトークンをまとめて同時に計算できます。大勢の計算回路で同時に計算するGPUと、相性がよいのです。ただし答えを書き足すときは、やはり1トークンずつです。
Transformerの中心にあるのがアテンションです。英語で「注意」という意味です。文章を作るモデルでは、各トークンが、それより前のどのトークンにどれだけ注目するかを計算します。そして、注目した相手の情報を、その度合いに応じて取り込みます。
例えば「鈴木さんにペンを借りた。それは青かった。」では、「それ」が何を指すかが大事です。図のように「それ」が「ペン」に強く注目できれば、意味に合った続きを書きやすくなります。ただし、図は説明のために単純化した例です。実際のモデルの中で、どの段が何に注目しているかを人が読み解くのは、簡単ではありません。
コンテキストウィンドウ: 一度に見られる長さ
答えを作るとき、手がかりにできる文章の長さには上限があります。質問、それまでの会話、書きかけの答えを合わせたトークンの数の上限です。これを「コンテキストウィンドウ」と呼びます。
上限はモデルによって違います。例えばLlama 3.1は、最大128K(約13万)トークンを扱えます(2024年)。上限を超えた分は、モデルからは見えません。そのため、サービスによっては、長い会話の古い部分を省いたり、要約して渡したりします。
会話の中で教えた内容は、その場の手がかりとして使われます。でも、会話をしても、モデルのパラメータがその場で書き換わるわけではありません。ただし、入力された内容を保存して、後の学習に使うサービスもあります。この点は「安全に使うために」で説明します。
なぜもっともらしい間違いをするのか
言語モデルは、もっともらしい続きを書くように学習しています。書いた内容が事実かどうかを確かめるしくみは、モデルそのものにはありません。そのため、流れるような文章で、根拠のない内容を書くことがあります。これを「ハルシネーション」(幻覚)と呼びます。
米国の国立標準技術研究所(NIST)の2024年の手引きは、この現象を「自信を持って述べられた、誤った内容の生成」と説明しています。例えば、実在しない本の題や、どこにも出ていない数字が、それらしく出てくることがあります。
モデルは、答えの書かれた辞書を引いているわけではありません。学習した文章の傾向が、パラメータの値に溶け込んでいるだけです。学習に使った文章が集められた時点より後のできごとは、そのままでは知りません。
そこで、検索などの外の道具とつなぎ、見つけた資料を読ませてから答えさせる方法があります。Lewisらの2020年の論文では、これを「検索拡張生成(RAG)」と名づけています。間違いは減らせますが、資料そのものの誤りや読み違いもあるので、なくなるわけではありません。
学習と推論: 計算と電力
パラメータを決める学習は、開発元が大量のGPUを長い期間動かして行います。一方、できあがったモデルで答えを作る計算を、推論と呼びます。推論は、だれかが使うたびに行われます。2つの違いは「AIの学習と推論の違い」で表にまとめています。
推論では、1トークンを作るたびに、大量のパラメータをメモリから読み出して計算します。そのため、計算の速さだけでなく、メモリからデータを運ぶ速さも大事です。AI用のGPUが特別なメモリを使う理由は、「HBMとは?」で説明しています。
こうした計算は、データセンターという専用の建物で、大量の電気を使って行われます。国際エネルギー機関(IEA)の2025年の報告では、2024年のデータセンターの電力は世界全体の約1.5%でした。AI以外の用途も含む数字ですが、IEAは、データセンターの電力が増える最大の要因をAIとしています。データセンターについては「クラウドとは?」で説明しています。
安全に使うために
大事な内容は、元の資料で確かめましょう。特に、数字・日付・法律・健康・お金に関わる答えは、公式の資料などで裏づけをとります。答えに資料の名前やURLが書かれていても、実在するか、本当にそう書いてあるかを開いて確かめます。
入力する内容にも注意が要ります。サービスによっては、利用規約や設定しだいで、入力した文章が後の学習に使われることがあります。会社の秘密や他人の個人情報は、扱いを確かめないまま入力しないようにしましょう。個人情報保護委員会も2023年6月に、入力した個人情報がAIの学習に使われるおそれがあるとして、注意を呼びかけました。
会社で使うときは、会社の決まりと、入力の扱いが契約で定められたサービスを使います。データを外の事業者に預けるという点で、クラウドを使うときと同じ考え方です。AIの答えを使うときも、内容を確かめて使うかどうかを決めるのは人です。
よくある誤解
誤解: AIは、答えのデータベースを検索して答えている
実際は、言語モデルそのものは答えの一覧を引いているのではなく、パラメータを使って次のトークンを1つずつ予測しています。だから、同じ質問でも言い回しが変わり、どこにも書かれていない間違いを作ることもあります。検索とつないだサービスでも、検索結果を読んだ後に文章を作る部分のしくみは同じです。答えがすらすら出てくるので、どこかに正解がしまってあるように見えるのが、誤解のもとです。
誤解: 人のように話せるのだから、人と同じように理解し、意識もある
実際は、はっきりしているのは、言語モデルが続きを予測するように学習し、調整された計算のしくみだということです。人が書いたような文章を作れるので、人のように考えているように見えます。ただ、言語モデルが何らかの意味で「理解」しているといえるかは、研究者の間でも意見が分かれています。この議論は、MitchellとKrakauerの2023年の解説にまとめられています。意識の有無も、この記事で説明したしくみからは答えが出ない問いです。少なくとも、話し方が自然なことは、内容が正しいことの保証にはなりません。
誤解: 大きなモデルほど、必ず正しく答える
実際は、パラメータが多いほど多くのことをうまく扱える傾向はありますが、正しさの保証にはなりません。2022年のOpenAIの研究者による論文では、指示に従うよう調整した13億パラメータのモデルが、人の評価で好まれました。比べた相手は、調整していない1,750億パラメータのモデルです。大きなモデルでもハルシネーションは起きます。大きさだけでなく、学習のしかたと、使う側が確かめることが大事です。
数字で見る
| 項目 | 数字 | 補足 |
|---|---|---|
| Transformerの発表 | 2017年 | 論文「Attention Is All You Need」 |
| Llama 3.1の最大のモデルのパラメータ | 約4,050億個 | 2024年、Metaの公表 |
| Llama 3の事前学習に使った文章 | 約15兆トークン | 2024年の論文 |
| Llama 3.1のコンテキストウィンドウ | 最大128K(約13万)トークン | 2024年 |
| 人の評価で調整したモデル | 13億パラメータ | 1,750億パラメータのモデルより答えが好まれた(2022年の論文) |
| 世界のデータセンターの電力 | 世界全体の約1.5% | 2024年、IEA。AI以外も含む |
モデルの大きさや上限の長さは年ごとに変わるので、数字は「その時点の一例」として読んでください。
もっと詳しく学ぶ
- 違いを表で見る: AIの学習と推論の違い、教師あり学習・教師なし学習・強化学習の違い(事前学習やRLHFの土台になる学び方)
- 学び方の用語: 転移学習(学習済みのモデルを別の目的に生かす考え方)
- しくみの用語: KVキャッシュ(推論で、前のトークンの計算結果をとっておくメモリ)、RNN(Transformerの前に主流だった、順に読む方式)
- 計算の量を数える: 「行列の積は何回の計算?」
- 部品から読む: 「なぜAIにGPUが使われるの?」、「HBMとは?」