LLM とは何か
数学は一切使わず、実験を通して LLM の基本的な事実を理解します。トークン、次トークン予測、温度、コンテキストとコスト、埋め込み、そしてモデルの選び方。
レッスン一覧
- 01トークン:モデルから見た文字
DeepSeek と OpenAI のトークナイザーで中国語、英語、漢文、コードを実際に分割し、モデルが文字を何に切り分けているのか、それがなぜ料金を決めるのか、そしてモデルが文字数をうまく数えられない理由を見ていきます。
35 分 · 入門 - 02モデルがすることは一つだけ:次のトークンを予測する
モデルに各ステップの候補トークンと確率を見せてもらい、回答がトークン一つずつ生成される様子を観察します。さらに、続きを書くだけの機械がアシスタントになるまでの過程と、ハルシネーションがどこから来るのかを説明します。
35 分 · 入門 - 03温度とサンプリング:同じ質問への答えが毎回違うのはなぜか
モデルの本物の候補トークン確率を取得し、numpy で温度と top_p サンプリングを自分で実装します。さらに API で温度が回答の多様性に与える影響を実測し、温度 0 でも結果が同じになるとは限らない理由を説明します。
40 分 · 入門 - 04コンテキストウィンドウとコスト
httpx のドキュメント全体を 1 回のリクエストに詰め込み、いくらかかるのか、途中に隠した一文を見つけられるのかを確かめます。さらにキャッシュで 2 回目の呼び出しが 30 倍以上安くなる仕組みを見て、最後に usage から料金を計算する関数を書きます。
40 分 · 入門 - 05埋め込み:意味を数値にする
オープンソースの中国語埋め込みモデルを手元で動かして文をベクトルに変え、コサイン類似度で意味を比べます。何が得意で、何が区別できないのかを見ていきます。この先のセマンティック検索と RAG の土台です。
35 分 · 入門 - 06モデルの選び方
ランキングはモデルの平均的な水準を教えてくれますが、あなたのタスクでどうかは教えてくれません。20 問で四つのモデル構成の正答率、速度、費用を比べ、自分の小さなテストセットで選ぶ方法を身につけます。
40 分 · 入門
このモジュールでは、ニューラルネットワークの内部でどんな計算が行われているかは扱いません。それは第 2 部の話です。ここで扱うのは、使う側が必ず知っておくべき事実だけです。モデルには何が見えているのか、出力はどうやって生まれるのか、お金はどこにかかるのか。
どの課も実験に基づいて話を進めます。DeepSeek のトークナイザーで中国語の文を自分の手で分割し、logprobs パラメータでモデルが各ステップでどの語の間で迷っているかを見て、実際の確率分布を手元に持ってきて numpy で温度をシミュレーションし、httpx のドキュメント全体を 1 回のリクエストに詰め込んでキャッシュでどれだけ節約できるかを確かめます。ネットで広まっている説と違う実験結果もありましたが、すべてありのままに書いています。
なぜこの順番なのか
まずトークンを扱います。料金、コンテキストの長さ、出力の上限と、この後のすべてがトークン単位で決まるからです。次に、モデルがトークンを一つずつ生成して回答を作る仕組みを説明します。これでハルシネーションとランダム性が説明できます。温度は「確率に従ってくじを引く」ことの上に成り立っているので、第 3 課に置きました。第 4 課ではそれまでの知識をお金とコンテキストに結びつけます。第 5 課の埋め込みは別の種類のモデルで、文章を生成するのではなく文章をベクトルに変えます。モジュール 04 の RAG で使います。最後の課では、自分のタスクに合ったモデルの選び方を扱い、それまでの知識をすべて使います。
修了の目安
- 文章を渡されたら、トークナイザーでトークン数を数え、それをモデルに送るといくらかかるか見積もれる。
- 同じ質問を 2 回すると回答が違う理由と、温度 0 でも完全に同じになるとは限らない理由を説明できる。
- モデルが具体的なバージョン番号や API パラメータを示したとき、確認が必要だとわかり、どこで確認すればよいかも知っている。
usageから 1 回の呼び出しの費用を計算する関数を、キャッシュヒット分も含めて書ける。- 自分で用意した 20 問を使って、二つのモデルのどちらが自分のタスクに向いているか比較できる。
このモジュールのコード
コードと実行結果は実際に動かしたときのまま載せているため、コメントと出力は中国語です。