メインコンテンツまでスキップ
build-your-own LLM · from scratch

大規模言語モデルをゼロから作って学ぶ

大規模言語モデルをゼロから作って学ぶ。トークナイザーから Transformer、学習ループまで。 ブラックボックスを開けて、行列とベクトルの手触りごと理解する。

FORWARD PASS

ゼロから組み立てる、LLM の 5 工程

テキストが行列とベクトルに姿を変え、次の一語になるまで。1 工程ずつ自分の手で。

  1. 01text → [T]
    ▁猫

    トークナイズ

    Tokenizer

    BPE で文字列をサブワード ID 列へ分解する。

  2. 02[T] → [T, d]
    0.21-1.30.740.08-0.5

    埋め込み

    Embedding

    トークン ID を意味を持つベクトルへ写像。

  3. 03[T, d] → [T, d]

    Transformer ×N

    Self-Attention

    注意機構で文脈を混ぜ、層を重ねて磨く。

  4. 04[T, d] → [V]

    次トークン予測

    LM Head

    語彙全体の確率分布を出力する。

  5. 05loss → ∇ → θ

    学習ループ

    Training

    損失から勾配を求め、重みを更新し反復。

WHY FROM SCRATCH

なぜ、ゼロから作るのか

01 / principle

原理から理解する

Attention も勾配降下も、数式と動くコードの両輪で。 右のヒートマップのような「中で起きていること」を、ブラックボックスにしない。

02 / hands-on

手を動かして作る

読むだけで終わらせない。1 行ずつ自分で実装し、動かして確かめる。

03 / polyglot

TypeScript と Python

ドキュメントは TypeScript ベース。将来は Python のサンプルも扱えるよう設計している。