
2026/09/18 18:42
オープン・イェヴ
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
SemIf は、外部バックエンドサーバーを一切必要とせずに语义推論モデルを個人の GPU 上で直接実行する画期的なライブブラウザ実験を導入します。このアーキテクチャにより、ユーザーはデフォルトのデスクトップパフォーマンス最適化済みの MiniCPM5 2B パラメータバージョンから、モバイルデバイス向けに特別に設計された Qwen3 0.6B のような小型オプションまで、モデルサイズとバリエーションを簡単に切り替えることができます。4B モデルも利用可能ですが、それにははるかに多くのメモリが必要です。Hugging Face から重みを調達し、wllama(ピン留めされた GGUF ビルドを使用)を使用してローカルで管理することで、システムは機密入力がユーザーのページを離れないようにし、プライバシーを最優先としています。最初のロードでは、ネットワーク速度、ハードウェア能力、モデルサイズ(デフォルトでは約 1.56 GB)に応じて数分かかる場合があります。
このプロジェクトは技術的に二つの異なる運用方法を比較しています:直接ロジット読み取り(02A)、これはテキストデコードなしで生の確率スコアを抽出し、JSON 生成(02B)、これはモデルがオプション分布を読める JSON テキストとして書き出すものです。性能は、102行の公開サブセットにおける大文字小文字一致の TypeSafe(等価ケース同意)や、公表済みの値である Jev のような指標を使用して厳密にベンチマークされています。また、準備、ウォームアップ、入力、出力、および最初のトークンを含む壁時計指標は、結果を事前に用意したものを使用せずに performance.now() によってキャプチャされています。ただし、ユーザーは直接ロジットスコアが表示されたオプショントークンのみに関するsoftmaxを表し、完全に校正された確率ではなく未校正の信頼度値であることを留意する必要があります。結局のところ、この革新は、デスクトップ開発者からモバイルユーザーに至るまで、高精度と厳格なデバイスメモリ制約の間での実用的なトレードオフを提供します(wllama による量子化効果を含めて)。
本文
SemIf:ブラウザ上で体験する「意思決定モデル」の実験
SemIf は、オープンソースモデルから得たセマンティクスの**「if(もし)**概念を、ローカル環境で即座に検証できるウェブアプリケーションです。
- バックエンド不要: すべての処理はブラウザ内で完結
- 即時起動: モデルのダウンロードリスト待ちなし
- 自己計測: GPU を使用して両手法の性能差をリアルタイムで測定可能
セットアップ:モデルのロードと準備
一度にモデルをメモリに読み込む手順です。
推奨モデル設定
ブラウザ上の制限やデバイスのスペックに合わせてモデルを選択してください。
- デフォルト:
(デスクトップ環境向け)MiniCPM5 2B - 推奨(スマートフォン・小型デバイス): **「Qwen3 0.6B」**に切り替え
- モデルボックスから設定を変更してください
注意: より大きなモデルを選択すると、読み込みに時間がかかります。一部の低スペックデバイスでは起動しない可能性があります。
ロードプロセス
- ダウンロード/キャッシュ: 「ロード」ボタンクリック時に開始(Hugging Face 経由)。データはブラウザキャッシュに保存され、ページを離れても残ります。
- モデル読み込み: ダウンロードと初期化処理。
- ウォームアップ: 両手法(直接読み出し・生成)に対してコンパイルパスを実行し、性能を安定させます。
⚠️ 所要時間: 選択したモデルサイズやネットワーク環境、GPU の状況により、数分かかる場合があります。
計測指標について
表示される品質値は以下の基準に基づいています:
- ネイティブチェックポイント: オリジナルおよび公開ベンチマークデータに基づく。
- 自製列: 「均衡化精度」。
- TypeSafe: 同じ 102 レコードからなるサブセットにおける大文字小文字不区分の同意率。
- Jev: 公表された値(参照)。
⚠️ 警告: ブラウザ内での量子化により、モデルの精度は変化します。
意思決定:2 つのパスで検証
同じ意思決定課題に対し、異なるアプローチで確率を確認します。
| 手法 | 説明 |
|---|---|
| Logits の直接読み取り | 「A…T」などの選択肢に対する確率を直接取得 |
| トークンに基づく生成 | モデルに「{選択肢} + 確率」の形式で JSON 出力させる |
パス A: 直接読み出し(デコードなし)
モデルが選択した際の生のスコア(Logits)を読み取り、提供された選択肢間でのみ正規化します。
- ステータス: 実行待機
- メトリクス表示:
- トータル時間
- インプット処理時間
- アウトプット時間(1 回の読み出しのみ)
パス B: 生成(JSON 形式の確率分布)
モデルに対して、各選択肢の確率分布を JSON フォーマットで出力させる方法です。各トークンの到着経過も観察可能です。
- ステータス: 実行待機
- メトリクス表示:
- 最初のトークン生成時間
- トータル時間
- インプット処理時間
- アウトプット処理時間
GPU 上での実測壁時間比率
- 実行順序: 両手法は並列ではなく順次実行されます(まず直接読み出し → その後生成)。
- リソース争用なし: 同じモデルをロード済みであり、GPU リソースの競合が生じない設計です。
数値が示すこと・示さないこと
計測結果の解釈における重要なポイント:
-
条件付き確率について
- 直接スコアは、提示された選択肢のトークンに対してのみソフトマックスを適用したものです。
- モデルが好むあらゆる回答を含んでいるわけではなく、校正された絶対的な信頼度を示すものではありません。
-
モデルティア分類
- モバイル向けモデルは精度とサイズのトレードオフを行って設計されています。
はデスクトップ環境のデフォルトです。MiniCPM
バージョンはメモリを多く必要とし、4B
オプションは Jev と同等であると保証されていません。None
-
実際のローカル計測時間
を用い、以下の全工程で実測された値を表示しています:performance.now()- セットアップ
- ウォームアップ
- プロンプト準備
- 直接実行
- 最初の生成トークンの出力
- 生成完了
- 事前に用意された結果は一切表示されません。
-
量子化の影響
- このデモは
を経由してピン付けされたwllama
ビルドを使用しています。GGUF - 量子化により、品質と速度の両方に影響を及ぼす可能性があります。
- このデモは