モデルの「訓練」とは何を意味し、何を学びますか?
訓練とは、大量のテキストデータを使ってモデルの内部パラメータを調整するプロセスです。LLMを数百億の数値(「パラメータ」または「重み」と呼ばれる)を持つ巨大な計算機と考えてください。訓練はこのように機能します:大量のテキストを与え、次のトークンを繰り返し予測させ、予測が外れたときはより正確に予測できるよう数値を調整します。これを何十億回も繰り返し、それらの数値が正確な予測を生成する状態に達するまで続けます。
訓練後、モデルが学んだのは「事実のリスト」ではなく「言語の統計的なパターン」です:どのような単語がどのような単語に続くか、どのような概念がどのような概念と関連するか。これにより、以前に見たことのない質問に対しても、もっともらしい回答を生成できます——言語の構造とパターンを理解しているからです。
同じ質問をしても、Claudeが毎回少し異なる回答をするのはなぜですか?
主な理由は温度設定です。低い温度でも、モデルは常に最も確率の高いトークンを選ぶわけではありません——確率分布からサンプリングします。温度がゼロ(完全な決定論的)に設定されていない限り、各サンプルはわずかに異なる結果を生成する可能性があります。
もう一つの理由はコンテキストへの敏感性です:「まったく同じ質問」をしたと思っていても、会話に微妙な違いがある場合があります——以前に言ったこと、タイミングのわずかな差異、システムレベルの小さな変動——これらすべてが次のトークンについてのモデルの判断に影響します。このばらつきはクリエイティブなタスクには長所ですが(毎回異なる結果)、正確な一貫性が必要なタスク(コード生成など)では注意すべき特性です。
LLMは自分が言っていることを本当に「理解」していますか?
これは深く哲学的な問いで、確定した答えはありませんが、わかっていることを説明できます。LLMは言語の複雑な構造と概念間の関係を本当に学んでおり、非常に洗練された方法で類推・推論・知識の組み合わせを行うことができます。これにより多くの状況で「理解しているように」見えます。
しかしその「理解」は人間の理解と根本的に異なります。人間の理解は身体的な知覚・社会的経験・感情・現実世界との相互作用に基づいています。LLMの「理解」は言語パターンの統計的関係に基づいています——「火」という単語が通常「熱い」「危険」「光」などの単語と共に現れることを知っていますが、熱さを感じたことはありません。この違いはほとんどの実用的なアプリケーションでは重要ではありませんが、感情的な共鳴・具体的な判断・現実世界の真の知覚が必要な場面では現れてきます。
上級:モデルが「賢い」とはどういう意味ですか?パラメータが多いほど賢いですか?
「賢い」はLLMの文脈では曖昧な言葉で、通常は特定のベンチマークでのより良いパフォーマンスを意味します——数学的推論、コード生成、複数ステップのロジックなど。より多くのパラメータ(より大きなモデル)は一般的にベンチマークでのより良いパフォーマンスと相関しますが、この関係は線形ではなく、多くの例外があります。
第一に、同じ数のパラメータを持つモデルでも、訓練データの品質と多様性、訓練技術の設計によって結果が大きく異なることがあります。第二に、大きなモデルは一部のタスクではより良いパフォーマンスを発揮しますが、速度とコスト効率が必要なタスクでは小さいモデルの方が適切かもしれません。最も重要なのは:「賢い」と「あなたのタスクに最も適している」は同じことではありません。Claude Sonnetはほとんどの日常的なタスクで十分なパフォーマンスを発揮し、Opusよりはるかに速い。Opusの優位性は主に複雑な推論や長文分析などの境界ケースで現れます。
「AIはどうやって質問に答えるのか?」これは多くの人が予想するより興味深い問いです。そして理解することでより上手に使えるようになります。この記事では、技術的な背景不要で、LLM(大規模言語モデル)がテキストを生成する実際のメカニズムを説明します。「たくさん学んだから」という程度ではなく、話すたびに実際に何をしているかを解説します。
LLMはテキストを人間のように——文章全体を考えてから話す——という方法では生成しません。そのプロセスはむしろ:現在のすべての入力を見て、最も可能性の高い次のトークン(言語単位)を1つ選び、そのトークンを出力に追加し、完了するまで繰り返すというものです。
トークンは言語モデルが扱う基本単位で、単語より少し小さいと考えてください。英語では約4文字が1トークン、日本語では約1〜2文字が1トークン。「The cat sat」は約3〜4トークンです。モデルは1回に1トークンを生成し、コンテキストに追加し、次のトークンを生成します。これを終わるまで繰り返します。
次のトークンを選ぶ際、モデルはランダムに推測するのでも、固定のルールを参照するのでもありません。内部では膨大な数値計算が実行され、現在のすべてのコンテキストを確率分布——「それぞれの可能な次のトークンが出現する確率はどのくらいか」——に変換します。
たとえば「フランスの首都は」と尋ねると、モデルの確率分布は「Paris」に99%を割り当て、他の選択肢はほぼゼロになります。「海についての詩を書いて、最初の行は」と尋ねると、多くの候補トークンに確率が分散します。
確率分布が計算されたら、モデルはそこから1つのトークンを選択します。temperature(温度)というパラメータがこの選択方法を制御します。温度が低い(ゼロに近い)と、モデルはほぼ常に最も確率の高いトークンを選びます——出力は非常に一貫して予測可能で、精度が必要なタスク(事実調査、コード作成)に向いています。温度が高いと、確率の低いトークンを選ぶ可能性が高まります——出力はより多様で創造的ですが、予想外の方向に行きやすくもなります。
Claudeはタスクによって異なるデフォルトの温度設定を持ち、APIで調整することもできます。このメカニズムを理解することで、同じ質問を2回すると少し異なる回答が得られる理由がわかります。
LLMの動作方式がその根本的な特性の一つを決定します:モデルが生成する各トークンは「現在のコンテキストを踏まえて最も可能性の高い続き」であり、「述べる前に検証された事実」ではありません。つまり、「わからない」と立ち止まる内部感覚がなく——その続きが間違っていても、もっともらしい続きを生成し続けます。
これがAIが「ハルシネーション(幻覚)」を起こす理由です——嘘をついているのではなく、動作メカニズムが根本的に「最も可能性の高い次のトークンを予測する」ものであり、「事実データベースを照会して検証済みの回答を出力する」ものではないからです。これを理解することで、高精度が必要なタスクではAIの出力を確認する理由がわかります。
LLMのテキスト生成方法を理解することの2つの直接的な実用的効果があります。第一に、会話間に記憶がないことがわかります——すべての返答は、現在の会話のすべてを最初から読むことを含み、長期記憶から引き出すのではありません。第二に、最も言語的にもっともらしい続きを出力することがわかります——検証された事実ではなく。これにより、正しく使えるようになります:包括的な知識を持つ誤りのない百科事典としてではなく、強力な言語コラボレーターとして扱いましょう。