LLMとは?「次の言葉を予測する」から生成AIの仕組みをつかむ

ChatGPTやClaudeのようなAIチャットに質問すると、人が書いたような文章が返ってきます。その裏側で動いているのがLLM(大規模言語モデル)で、基本の仕組みは「入力された文章の続きを、少しずつ作っていく」ことです。

この記事では、LLMがどのように文章を続けるのか、その力をいつ身に付けるのか、そして自然な文章と正しい情報がなぜ別物なのかを、図を使って順に見ていきます。数式やプログラミングの知識は要りません。

この記事でわかること
  1. LLMは、入力の続きを小さな区切り(トークン)単位で1つずつ選び、文章にしていること
  2. 文章のパターンを身に付ける「学習」と、質問に答える「利用時」は別の段階であること
  3. 自然な文章であることと、内容が正しいことは別であること

生成AIは、どんな仕事をしている?

生成AIは、文章、画像、音声などを新しく作るAIの総称です。この記事で扱うのは、そのうち文章を扱うものです。チャットでの質問応答、長文の要約、メール文面の作成は、見た目は違っても、入力を受け取って文章を出力するという点で共通しています。

入力出力質問返答の文章資料と要約の指示要約文メール文面の依頼メール文面LLM文章を生成する
図1 チャット、要約、文章作成はどれも「入力を受けて文章を出力する」点が共通している

入力にあたるのは、質問や指示、要約したい資料などです。出力は、それに対する返答の文章です。この入力と出力の間で働いているのが、LLMです。

LLMは大量の文章からパターンを学ぶ

LLMはLarge Language Model(大規模言語モデル)の略です。大量の文章を読み込み、言葉がどんな順序で並びやすいかというパターンを学んだモデルを指します。

大量の文章LLM傾向を学ぶ身に付く傾向の例(模式図)「明日の」の後に「天気」が続きやすい「お願い」の後に「します」が続きやすい質問の後には、答えの文が続きやすい
図2 LLMは、大量の文章から「どんな言葉の後に何が続きやすいか」という傾向を身に付ける(傾向の例は説明用の模式図です)

学習した文章をそのまま取り出して返す仕組みではありません。言葉の並び方の傾向をもとに、入力に合わせて新しい文章を組み立てます。ただし、学習に使った文章に近い内容が出力に現れることもあります。

「次に来るもの」を選ぶと文章になる

「明日の天気は」と入力されたとします。続きとしてあり得る言葉は、「晴れ」「雨」「曇り」など複数あります。LLMは、入力された文脈をもとに、こうした候補それぞれがどれだけ続きとして自然かを計算し、その中から1つを選びます。

入力文 明日の天気は 次の候補(模式図) 晴れ 雨 曇り 棒が長いほど続きとして自然 選んだ1つ 晴れ 選んだ言葉を入力文の末尾に足して、次の候補を選ぶ作業を繰り返す
図3 次の言葉を選び、入力文に足して繰り返す流れ(候補は説明用の例で、棒の長さは自然さを示す模式図です)

候補の顔ぶれと自然さは、文脈によって変わります。「明日の天気は」の前に「来週の旅行の予定を立てています。」という文があれば、候補の並びも変わります。

1回で全文を書くのではなく、少しずつ続ける

LLMは、完成した文章を一度に出力しているわけではありません。1回目に「晴れ」を選ぶと、入力文は「明日の天気は晴れ」になります。この入力文から2回目の候補を出し、「でしょう」を選ぶと、入力文は「明日の天気は晴れでしょう」に伸びます。3回目に「。」を選び、最後に文章を終わらせる選択をすると、生成が止まります。

入力文次の候補選んだ1つ明日の天気は晴れ雨曇り晴れ選んだ言葉を入力文の末尾に足して、次の候補を選ぶ明日の天気は晴れでしょうですになりでしょう選んだ言葉を入力文の末尾に足して、次の候補を選ぶ明日の天気は晴れでしょう。がね。選んだ言葉を入力文の末尾に足して、次の候補を選ぶ明日の天気は晴れでしょう。終わりただしなお生成を終了1回目2回目3回目4回目
図4 選んだ言葉が入力文に足され、その入力から次の言葉を選ぶ作業を、文章が終わるまで繰り返す(候補は説明用の例です)

チャット画面で返答が少しずつ表示されるサービスがあるのは、この性質と関係しています。

ここまで「言葉」と書いてきましたが、実際にLLMが扱う単位は、単語や文字ではなく「トークン」という区切りです。トークンは、単語の一部や記号になることもあります。図3と図4では分かりやすさのために単語で描いています。トークンの詳しい話は、別の記事で扱います。

スマートフォンの予測入力との違い

スマートフォンで文字を打つと、次の候補が並び、1つ選ぶと続きが入力されます。LLMの流れはこれに似ているため、入口のイメージとしては役に立ちます。ただし、これは仕組みそのものではありません。LLMは長い文章の文脈全体を手掛かりにして、多くの予測入力よりはるかに複雑な計算で候補を決めます。

学習と、質問に答えるときは別の段階

LLMの「次の言葉を選ぶ力」は、質問を受けた時点で身に付けるものではありません。利用の前に、大量の文章を使った学習で身に付けています。

① 学習:大量の文章から、言葉の並び方を身に付ける段階 学習用の文章 LLM パラメータが調整される 次の言葉を当てる練習を 大量の文章で繰り返す ② 利用時:学習済みのLLMが、入力の続きを生成する段階 入力文 LLM パラメータは変わらない 続きの文章
図5 学習と利用時の違い(パラメータはモデル内部の数値を指します)

学習では、文章の途中までを見せて「次に来る言葉」を当てさせ、外れていればモデル内部の数値(パラメータ)を調整する、という作業を大量の文章で繰り返します。文章そのものが正解になるので、人が1つずつ正解を付ける必要はありません。実際のサービスでは、この後にさらに調整が加わることがあります。調整の話は、別の記事で扱います。

利用時は、完成したLLMに入力を渡して、続きを生成させます。このときパラメータは変わりません。

項目学習利用時
行うタイミングサービスとして使えるようになる前質問や指示を受けるたび
入力するもの大量の文章利用者の質問や指示、資料など
パラメータ調整される変わらない
目的次に来る言葉を当てられるようにする入力に続く文章を生成する
補足

多くのチャットサービスで、AIが前の発言を踏まえて答えられるのは、前の発言が入力に含まれているからです。モデル内部に書き込まれているわけではありません。サービスによっては利用データを今後の学習に使うことがありますが、それは別に行われる学習であり、返答を作っている最中に起きるものではありません。

「自然な文章」と「正しい情報」は別

LLMが選んでいるのは、文脈の続きとして自然な言葉です。「明日の天気は晴れでしょう」と続けたとき、LLMが明日の実際の天気を調べたとは限りません。天気予報などの外部の情報につながっていない場合、この文は、天気の話題でよく使われる言葉の並びから作られたものです。

明日の天気はLLM「晴れでしょう」続きとして自然LLMが選んでいる基準?実際の天気と一致するかLLMは確認していない(外部の情報につながっていない場合)
図6 自然な文章かどうかと、内容が事実かどうかは別の話(外部の情報につながっていない場合の例です)

学習に使った文章には時期の区切りがあるため、それより新しい出来事は含まれていません。学習した文章に誤りがあれば、その傾向も引き継ぎます。文章が滑らかでも、内容が正しいことの保証にはなりません。

もっともらしいのに事実と異なる出力は、ハルシネーションと呼ばれます。起こる場面と確認の仕方は、別の記事で扱います。

全体像と用語

ここまでの内容を1枚にまとめると、次の図のようになります。

生成AI(文章を生成するもの)の全体像大量の文章(学習用)学習LLMパラメータ入力文トークンに分けて処理利用時出力文もっともらしいが誤った出力=ハルシネーション
図7 この記事の全体像(学習、パラメータ、トークン、ハルシネーションの位置付け)
用語意味
生成AI文章、画像、音声などを新しく作るAI
LLMLarge Language Model(大規模言語モデル)。大量の文章から、言葉の並び方のパターンを学んだモデル
トークンLLMが文章を扱うときの小さな区切り。単語や文字と一致しない場合がある
学習大量の文章を使い、次に来る言葉を当てられるようにパラメータを調整する段階
パラメータモデル内部の数値。学習で調整され、利用時には変わらない
ハルシネーションもっともらしいが事実と異なる出力

コメント