CHAT / LOCAL LLM
初期化中

ローカルLLMと対話する

推論はお使いのデバイス内で実行されます。チャット履歴と設定はブラウザ内に保存されます。

WEBLLM · 0.5B–4B · WEBGPU
MESSAGE COMPOSER
ローカル実行 · Enterで送信 · Shift + Enterで改行
Runtime & Models

モデルマネージャー

WebLLMが現在提供している組み込みモデルから、0.5B〜4Bの会話向け軽量モデルを検出し、取得・切り替えできます。

Inference observability

LLM内部モニター

チャット履歴とは独立してモデルへ生テキストを渡し、トークン選択と確率分布を1ステップずつ観察します。

独立したテキスト生成テスト

チャット履歴や通常チャットのシステムプロンプトとは独立して実行します。Gemma等のInstruct/ITモデルは、既定の「書きかけ方式」で、入力文を“アシスタントが話しかけている途中の発話”としてテンプレートに埋め込み、通常の文章生成として続きを出力させます。実際の入力は下の「実際に送信した入力」で確認できます。

上位候補:各ステップ最大5トークン

生成ステータス

待機中
実効生成速度
—tok/s
出力トークン
—
入力トークン
—
経過時間
—sec
MODEL —TASK —ステップ 0

トークン生成速度の上限

次のストリームステップを取得する間隔を制御します。生成中にも変更できます。

0は速度制限なしです。1〜60を指定すると、次のデコードステップを要求する間隔を調整します。

デコード統計

Prefill速度
—tok/s
初回tokenまで
—ms
総token
—
適用上限
—

推論完了後にWebLLMから返された実測usageを表示します。

ロジット(トークン発生確率)加工コード

モデルが次トークンを選ぶ直前に、語彙全体のスコア logits(Float32Array、添字=トークンID)をJavaScriptで書き換えられます。書き換えるかreturnしてください。ctx.step(ステップ数)、ctx.recent(これまでの出力ID)、ctx.topIds(k)(上位kのID)、ctx.softmax()(確率配列)が使えます。反復抑制の後に実行され、「続きを生成」にも適用されます。

トークンIDと文字列の対応表はWebLLMから取得できないため、コード内ではIDで扱います。上位候補の文字列は下の逐次表示で確認できます。ここでの加工はlogits(温度適用前)に対して行われます。

サンプリング設定(このモニター専用)

温度が低いほど1位候補に集中し、高いほど平坦になります。top-pは累積確率がpに達するまでの候補だけから選ぶ方式です。次回の推論開始時に反映されます。

logit加工の前後比較

推論中、最新ステップのlogit加工前後がここに表示されます。

灰=加工前 / 緑=加工後(T=1換算の確率)。反復抑制・コードの効果を確認できます。

トークン選択の逐次表示

各ステップの選択トークンと、その位置での対数確率から算出した確率、および上位候補を表示します。候補はモデルが返したlogprobsであり、文章から推定した値ではありません。

推論を開始すると、トークンごとの選択結果がここに追加されます。

logprobs待機中です。

確率の推移とモデルの「迷い」

緑=選ばれたトークンの確率、青=その時点の1位候補の確率。両者が離れるのはサンプリングで1位以外が選ばれたステップです。

パープレキシティ(exp(−平均logprob))
—
平均エントロピー(上位5候補で近似)
—bit
選択トークンの平均確率
—%

実際に送信した入力

まだ推論リクエストはありません。

生成されたテキスト

トークンが追加されるたびに更新されます。

生成待機中です。
確率はWebLLMが返す各出力トークンのlogprobをexp(logprob)で変換した値です。
Interactive learning

LLM学習ラボ

モデルを読み込まなくても動く教材です。スライダー・数値・ルール・コードを自由に書き換えて、LLMの仕組みを体験できます。実モデルの観察は「LLM内部モニター」で行えます。

LLMが1トークン出力するまで

Configuration

生成設定

チャット生成に使用する基本パラメーターを調整します。

基本パラメーター

設定・チャット履歴はIndexedDBに自動保存されます。生成速度の上限は「LLM内部モニター」で設定できます。

トークン反復抑制

続き生成の方式

書きかけ方式は、入力文を「モデルがすでに話し始めた発話」としてテンプレートに埋め込み、そこから通常の文章生成として継続させます。Gemma・Qwen・Llama 3・Phi-3・Mistral・SmolLMに対応し、実際の入力は「LLM内部モニター」の「実際に送信した入力」で確認できます。