学習テキスト
文字レベルで学習します。連続する空行が多いテキストは、生成時にも改行が多く再現されます。気になる場合は正規化を有効にしてください。複数ファイルを選ぶと連結されます。20万字を超えると欄内はプレビュー表示になりますが、全文が学習に使われます。目安: ナノ〜マイクロは数万〜数十万字、スモール以上は数百万字以上を推奨。
規模プリセット
エキスパート数1でMoE無効(通常の密なFFN)。MoEでは各トークンがtop-k個の専門家だけを使うため、総パラメタが増えても1トークンあたりの計算規模(有効パラメタ)は抑えられます。本実装は選ばれた専門家だけを計算する真のスパース実行のため、有効パラメタの少なさがそのまま速度に効きます。
学習
GPU学習の仕組みと自己診断について
WebGPU対応ブラウザでは学習ステップ全体(順伝播・逆伝播・Adam)がGPU常駐で走ります。初回はCPUエンジンとlossおよび全勾配テンソルを突き合わせる自己診断を行い、合格した場合のみGPUを使います。GPU学習中のaux表示は「—」になります(数学は同一)。学習停止時に重みをCPUへ自動回収し、生成の順伝播は下の独立スイッチでGPU/CPUを選べます。サンプリング・表示・保存はCPU側です。
文章生成
top-pは確率上位の候補だけからサンプルする設定です(1.00で無効)。改行や記号など低確率トークンの暴発を抑えます。
生成backend: —
GPU生成とKVストリーミングについて
GPU生成では入力文脈を1回の一括prefillでK/Vへ展開し、その後は1文字ずつKVキャッシュを更新します。GPU生成は既定OFFです。小さいモデルではCPUの方が速いことが多く、GPUを選んだ場合も失敗時は同じ生成位置からCPUへ自動で切り替わります。表示速度にはprefillや初回GPU準備も含みます。
チャット
チャットの内部動作(KV継続・思考表示・深く考える)について
会話用の役割記号が語彙にある場合は自動で使い、なければ改行形式へ切り替えます。応答後のKVを次ターンへ継続するため、2通目以降は新しい入力差分だけを追加します。再生成・履歴消去・モデル変更時は安全のためprefillから再構築します。入力に未学習文字がある場合は、文字を勝手に削らず送信前に知らせます。モデルが[思考]…[答]形式を学習している場合、思考部分は折りたたみ表示になり、長すぎる思考は[答]を強制注入して打ち切ります。「深く考える」をONにすると同じ文脈からN本の候補を生成し、応答先頭の数字列(なければ応答全文)の一致数→平均logprobで最良を選びます(その分時間がかかります)。
思考実験ラボ
「答えの前に途中計算を書く場所(スクラッチパッド)を与えると、同じパラメタ数でも解ける問題が増える」——CoTの核心を筆算の足し算で再現する実験です。①下のボタンでコーパスを生成 → ②上の手順どおり初期化・学習(ナノ2桁なら2000step以上、思考ありは長い系列を学ぶため多めに推奨) → ③正答率を測定。思考ありと直答を同じ規模・同じstep数で学習して比べてください。
コーパス形式・採点方法・test集合について
形式 — 思考あり: [利用者]47+85は[助手][思考]7+5=12→2繰1 4+8+1=13→3繰1 →1 答132[答]132です / 直答: [利用者]47+85は[助手]132です。測定はCPU KV+greedy(argmax)で行い、[答]の直後(なければ応答先頭)の数字列を答えとして採点します。測定問題は「問題列seed」の全ペア列挙シャッフル先頭200問(学習から除外されたtest集合)から選ばれるため、seedを合わせれば未見問題への汎化を測れます。
モデルの保存と読み込み
重み・語彙表・構成をまとめた JSON を端末に保存します(形式: tinylm-lab-v2。GPU版TinyLM Labと相互に読み込み可能)。読み込めば続きから学習できます。すべての処理はこの端末内で完結し、通信は行いません。目安として2,000万パラメタを超えるとファイルが数百MBになり、ブラウザによっては保存に失敗します。