🛠Tools🔥🔥

推論エンジン Jwenv を my_web_app に組み込み検証──候補8行の lm_head と支出14例をソフトウェア WebGPU で実測

Qwen3-0.6B ベースの推論特化モデル Jwenv をブラウザ上で動作させ、全語彙ではなく候補8行に絞った lm_head 計算と支出メモ14件の分類精度を WebGPU で検証した。
リリース: 2026-09-23 · 読了 4

記事の要約

1. 核心(What)

  • きしだ氏が公開した Qwen3-0.6B ベースの推論特化モデル「Jwenv」の固定リビジョンとデモを自作アプリ「my_web_app」に組み込み、GitHub Actions上の Chromium(SwiftShader)で検証を行った。
  • モデルのパラメータ数は596,049,920個(28層、隠れ状態1,024次元、語彙151,936トークン)であり、GGUFファイルサイズは639,446,848バイトである。
  • 語彙射影において、選択肢の候補8行(A〜H)のみのロジットを計算するシェーダー(lm_head_slice.wgsl)を実装し、全語彙の約0.0053%に相当する8 × 1,024回の積和演算で処理した。
  • 12カテゴリの支出メモ14件に対し、yes/no形式の質問で System One 形式の検証を実施し、参照データやBERT版との比較結果を取得した。

2. 影響(Why)

  • ブラウザ内ローカル推論の実装コスト評価: サーバーサイドの API 費用をかけずにブラウザの WebGPU で LLM の分類タスクを実行できるため、外部通信ゼロのプライバシー重視型アプリを構築する際のアーキテクチャの指針になる。
  • 国内の個人開発・小規模 SaaS への示唆: 国内の個人開発者やプライバシー要件が厳しいバックオフィス向け SaaS 開発チームは、クラウド GPU 不要でローカル完結する分類パイプラインの性能限界を具体的数値で把握できる。

3. 根拠・詳細(How)

  • 候補8行に限定した lm_head シェーダーの設計: dist/web/src/shaders/lm_head_slice.wgsl を用いて、系列1つ×候補1つを1ワークグループ(256スレッド)で担当させ、候補8行分のテンソルのみを GPU に転送して内積を計算する。
  • 検証環境とシステム構成: AMD EPYC 9V45(4 vCPU、メモリ約15.6GiB)の GitHub Actions ランナー上で Chromium 140 とソフトウェア WebGPU 実装(google / swiftshader)を使用し、ネットワーク要求ゼロのループバック環境で実行した。

4. 展望・課題(Next)

  • 実機 GPU でのパフォーマンス計測: 今回はソフトウェア実装(SwiftShader)での検証にとどまったため、今後は実機 GPU 環境での処理速度やレイテンシを計測する予定である。