Llamaなどの大規模言語モデル(LLM)はどのように動くのか
Llamaは答えを検索しているのではなく、学習データから得たパターンに基づき、細かな単位で文章を組み立てています。この仕組みを知れば、得意なことや誤りの原因がよくわかります。

チャットで質問を入力したとき、Llamaはどこかを検索して答えを探しているわけではありません。トレーニング中に学習したパターンに基づいて、テキストを少しずつ生成しています。この仕組みを理解するだけで、大規模言語モデル(LLM)が得意なことや、失敗してしまう原因の大半が分かります。ここでは難しい数式を使わず、当サイトのチャットで使えるLlamaモデルを例に、その仕組みを解説します。
トークン:モデルがテキストを読む仕組み
言語モデルは文字や単語をそのまま認識しているわけではありません。テキストはトークンと呼ばれる単位に分割されます。よく使われる単語は1つのトークンになり、長い単語や珍しい単語は複数の破片に分割され、句読点もトークンとしてカウントされます。各トークンは数値のリストに変換され、モデル内で計算できるようになります。
このトークンという仕組みを知ると、AIの不思議な挙動が腑に落ちます。例えば、長い英単語の中に文字「r」が何回現れるか尋ねたり、単語を逆から綴るように指示したりすると、モデルが間違えることがあります。これは、モデルが最初から個別の文字を見ていないためです。また、モデルが一度に読めるテキスト量や生成できる長さの制限が、単語数ではなくトークン数で測られるのも同じ理由です。1文あたりのトークン数が多くなる言語では、それだけ早く上限に達します。
予測:1トークンずつの生成
LLMの本質的な役割は1つだけです。それまでに入力されたテキストをもとに、次に続く可能性が最も高いトークンを予測することです。1つのトークンを選び、それをテキストに追加し、次のトークンを予測する……この処理を繰り返します。長い回答は、このステップが何百回、何千回と繰り返されて作られます。
ただし、モデルは常に確率が最も高いトークンを選ぶとは限りません。「temperature(温度)」と呼ばれるパラメータで適度なランダム性を持たせることで、多様で自然な回答を生成します。同じ質問をしても毎回少しずつ言い回しが変わったり、再生成するとより良い回答が得られたりするのはこのためです。
トレーニング:テキスト予測からアシスタントへ
事前学習(Pre-training)
まず、モデルは膨大なテキストを読み込み、次のトークンを予測する方法を学習します。Metaのモデルカードによると、Llama 3.3および3.1の事前学習データは15兆トークンを超える「公開されているオンラインデータの新たな組み合わせ」です。Llama 4は公開データ、ライセンスデータ、およびMeta製品からの情報を組み合わせたデータで学習しており、Scoutは約40兆トークン、Maverickは約22兆トークンを使用しています。この学習過程で、文法、知識、文体、コード、論理的な思考パターンなどが身につきます。これらすべてが、次のトークンを正確に予測する役に立つからです。
指示チューニング(Instruction tuning)
単なるテキスト予測モデルのままでは、続きの文章を書くだけで、ユーザーの質問に役立つ回答をしてくれません。そのため、指示と適切な回答のペアの例や、どの回答が優れているかに関する人間のフィードバックを用いて追加学習を行います。MetaのLlama 3.xモデルカードでは、これらの工程を「教師ありファインチューニング(SFT)」および「人間のフィードバックによる強化学習(RLHF)」と呼んでいます。こうして完成したのが、チャットで使える「Instruct」バージョンです。
知識の制限(カットオフ)
トレーニング用のデータには収集期限があり、モデルはその日付以降の出来事を知りません。Metaのモデルカードによると、知識のカットオフ日はLlama 4 MaverickおよびScoutが2024年8月、Llama 3.3 70BおよびLlama 3.1 8Bが2023年12月です。それ以降の話題について尋ねると、モデルは「知らない」と答えるか、あるいは推測で適当なことを言ってしまいます。当サイトのチャットには、そのギャップを埋めるためのウェブ検索機能はありません。
コンテキスト:モデルの作業メモリ
モデルが回答を生成する際に考慮するすべての情報(システム指示、これまでの会話履歴、新しく送信したメッセージ)をコンテキストと呼びます。コンテキストの外部に記憶は保持されません。新しいチャットを開始すると、以前の会話内容は完全にリセットされます。
扱える最大サイズはコンテキストウィンドウと呼ばれ、トークン数で表されます。Metaのモデルカード上の数値は、Llama 3.3および3.1が128Kトークン、Llama 4 Maverickが1Mトークン、Llama 4 Scoutが10Mトークンです。当サイトの提供環境ではMaverickに約524K、Scoutに約1.3Mトークンを割り当てています。チャットの応答速度を維持するため、送信する会話履歴は一定の長さに絞り込まれており、長い会話の冒頭にあるメッセージは次第に回答へ反映されなくなります。
Mixture of Experts:Llama 4の構造
Llama 3モデルは「Dense(密)」な構造を採用しており、1つのトークンを処理するたびにすべてのパラメータ(学習された数値パラメータ)が使われます。これに対してLlama 4では、Mixture of Experts(MoE)構造を採用しています。モデルの中に「エキスパート」と呼ばれる多数の専門サブネットワークがあり、トークンごとにその一部だけが稼働します。Metaのモデルカードによると、Llama 4 Scoutは総数1090億パラメータのうち170億パラメータ(エキスパート数16)、Llama 4 Maverickは総数4000億パラメータのうち170億パラメータ(エキスパート数128)がアクティブになります。これにより、膨大な知識を保持しながら、同等サイズの密なモデルよりも低い計算コストでトークンを処理できます。
また、Llama 4はネイティブマルチモーダルです。Metaはこれを「アーリーフュージョン(早期融合)」と表現しており、追加の外部モジュールを使わずに1つのモデル内でテキストと画像を同時に処理します。そのため、MaverickやScoutは添付された画像についての質問に回答できますが、テキスト専用のLlama 3モデルでは画像入力に対応していません。
モデルが「知ったかぶり」をする理由
言語モデルは「それらしいテキスト」を生成するように訓練されており、内容が真実かどうかを検証するようには作られていません。しっかりと学習した事実であれば「それらしさ」と「真実」が一致します。しかし、よく知らない事柄(珍しい人名、正確な数字、最近の出来事、参考文献の引用など)について聞かれると、事実無根でも響きの良い文章を捏造してしまいます。これは一般にハルシネーション(幻覚)と呼ばれます。嘘をつこうとしているわけではなく、参照すべき事実データベースを別途持っていないだけなのです。
- 正確な数値、日付、引用、出典などは、特に間違えやすい部分です。
- 「本当に合っていますか?」と尋ねると、合っている内容でも謝罪して訂正することがあります。これは事実確認の手段としてはあてになりません。
- 元となるテキストを提供し、「その情報のみに基づいて答えるように」指示すると、誤りを大幅に減らせます。
同じリクエストでも、指定の仕方で精度が大きく変わります。
記憶に頼る指示(不正確になりやすい例): [私の街]の市立図書館はいつ設立され、誰が資金を提供しましたか? 資料を渡す指示(正確で安全な例): 以下のテキストのみを使用して、図書館がいつ設立され、誰が資金を 提供したかを答えてください。テキストに記載がない場合は「記載なし」 と回答してください。 """ [図書館の公式サイトから該当の段落を貼り付け] """
最初の例では、モデルはおそらく地域の図書館に関する情報をほとんど持っておらず、自信満々に適当な推測をする可能性があります。2つ目の例では必要な事実がコンテキスト内にあるため、テキストを読み取って答えるだけで済みます。当サイトの要約ツールも同様の仕組みで、入力されたテキストに基づいて正確に回答します。
より実践的な確認手順については、AI回答のファクトチェック方法のガイドをご覧ください。
チャットを使う際の実践ポイント
| 仕組み | おすすめの対処法 |
|---|---|
| 検索ではなくパターンから予測する | 重要な事実は必ず自分で確認する |
| コンテキストにある情報しか参照できない | 必要な資料や背景情報はチャット内に貼り付ける |
| 知識にカットオフがあり、ウェブ検索ができない | ニュース、価格、法律などは最新の一次情報を確認する |
| 回答ごとに多少のランダム性がある | 再生成して別の回答パターンを比較する |
| チャットごとに記憶はリセットされる | 新しいチャットを始めたら、前提条件や希望を再度伝える |
| 文字ではなくトークン単位で読む | 厳密な文字数制限や特定文字のカウントを任せない |
実際の動きを確かめたい方は、Llamaに自己解説させてみてください。効果的な指示の出し方についてはプロンプトの書き方を、モデル自体の詳細についてはLlamaとはやLlamaファミリーの歴史をご覧ください。
よくある質問
Llamaは自分の発言内容を理解していますか?
「理解」の定義によって見解が分かれており、研究者の間でも意見が一致していません。実用的には、要約、翻訳、論理的思考などのタスクをこなすのに十分な意味の処理ができますが、人間の子どもなら簡単に分かることで失敗することもあります。流暢な語り口にとらわれず、出力された結果そのものを検証して判断してください。
私の会話内容からモデルが学習することはありますか?
いいえ、ありません。チャット中にモデルのパラメータが更新されることはありません。同一チャット内では発言内容がコンテキストとして参照されますが、新しいチャットを開始すると、そのコンテキストは完全に消去されます。
LlamaとChatGPTの違いは何ですか?
どちらも似た原理で構築された大規模言語モデルを採用しています。LlamaはMetaが開発したモデル群で、Metaのライセンス下でオープンウェイトとして公開されており、誰でもダウンロードして実行できます。一方、ChatGPTはOpenAIが提供するWebサービスであり、OpenAIのモデルをホスト環境上で利用します。詳細はLlamaとChatGPTの比較をご覧ください。
パラメータとは何ですか?
モデル内部の数値データのことで、トレーニング中に継続的に調整されます。パラメータ数が多いほど多くのパターンを保持できますが、それだけ動作に高い計算能力が必要になります。モデルの質はサイズだけで決まるわけではなく、学習データの質やチューニングの精度も大きく影響します。
一部のモデルしか画像に対応していないのはなぜですか?
Llama 4 MaverickとScoutは、テキストと画像を一緒に事前学習させているためです。Llama 3.3 70BとLlama 3.1 8Bはテキスト専用モデルとして作られているため、画像を読み取ることはできません。詳しい比較はLlamaモデルの選び方ガイドをご覧ください。


