このプロジェクトについて
Drowseは、大規模言語モデルに対する機構的解釈可能性(mechanistic interpretability)のためのローカル作業台です。ローカルダッシュボード、Python API、そしてOpenAIクライアントとOllamaクライアントの両方と互換性のあるHTTPサーバを同梱しています。
クイックスタートでは、ソースチェックアウトから仮想環境にインストールし(`uv pip install -e .`)、`drowse serve google/gemma-3-4b-it`で起動して、localhost:8000にダッシュボードを開きます。初回起動時にモデルをダウンロードし、17個のバンドルされた概念プローブを適合させ、`~/.drowse/`に保存します。CUDAとApple Silicon MPSをサポートし、オプションでFlashAttentionとbitsandbytes量子化エクストラがあります。
ホスト型ブラウザエディションも含まれており、オンデバイスWebGPU推論のための独立したSvelte PWAとして提供されます。READMEはその限界について率直です:ランタイムと配布ロックは検証済みとされていますが、リリースチェックはモデル負荷時のGPU安定性を保証しません。Gemma PTにはマッチした重みの数値的不一致があり、Qwen 3.5はまだマッチした量子化の検証が必要です。デバイスチェックはGPUベンダーとアーキテクチャを報告し、記録されたデバイス損失を持つブロックプロファイルを報告し、特定されたIntel gen-9アダプタ上のWindows Chromiumを保守的にブロックします。WebGPUは推論に必須であり、クラウドやCPUのみのフォールバックはなく、プロンプト、会話、アクティベーション、適合済みアーティファクトはすべてデバイス上に留まります。
WebUIは、分岐するスレッドツリーとして会話を整理し、リロール、保存/読み込み、標準的なサンプリング制御を備えます。チャットモードは、モデルテンプレートを折りたたみ可能な思考と動的なロール処理を持つターンとしてレンダリングし、生モードはベースモデル用に単一バッファを公開します。トークンはプローブスコアまたはログプロブのサプライズによってハイライトでき、トークンをクリックすると、幾何、ロジット(トークンフォークを含む)、SAE、Jレンズビューを含む詳細ドロワーが開きます。計器はSubspace、Manifold、SAE、Lensタブにグループ化され、多様体の適合、マージ、インストール、検査、制限付き選択テンプレートのスコアリング、steeringの管理、サーバヘルスのチェックのための追加分析ツールがあります。
概念は多様体または部分空間として抽出されます:1次元の平坦な部分空間はsteeringベクトルであり、より高ランクの平坦な部分空間は直交グループであり、曲がった多様体は非線形曲面を適合させます。バンドルされたプローブは、認識論的、アライメント、レジスタ、文化的概念ペアをカバーし、ペルソナ、感情、月のためのより大きなオプションセットもあります。統一されたsteering式構文は、Python、YAML、OpenAI、Ollama、ネイティブAPIで機能し、加算/減算、共有コンポーネントの保持/削除演算子、平均アブレーション、多様体ノード選択、トークンフェーズ制限、デコードウィンドウ制限、ライブプローブゲートをサポートします。
抽出では、モデルに各概念のベースラインプロンプトを回答させ、その後、隠れ状態を多様体または部分空間に適合させ、レイヤー割り当てにマハラノビス距離を使用し、識別的なレイヤー選択を行います。モニタリング測定には、適合座標、部分空間割合、ソフト割り当てによる最近傍ノード、曲がった多様体のオフサーフェス残差が含まれます。ヤコビアンレンズは公開された言語化可能なワークスペースの研究に従い、SAEサポートは公開されたSAELensリリースを使用するか、ローカルSAEを訓練できます。
CLIには8つの動詞があります:serve、manifold、pack、experiment、config、template、lens、sae。これらは再現可能な準備、配布、バッチ作業をカバーします。多様体パックはローカルパスからインストールするか、Hugging Faceモデルリポジトリとして配布でき、`.drowse` ZIPは1つの多様体クロージャとその参照テンプレートを輸送します。適合済みの2ノードPCA多様体は、llama.cppコントロールベクトルGGUFとしてエクスポートできます。ホスト型ブラウザのディスカバリは、`drowse-manifold`タグが付き、ルートに単一の`.drowse`とルート`manifold.json`を持つHugging Faceリポジトリのみを受け入れ、不変コミットに解決し、宣言されたリポジトリとリビジョンを検証します。
1つの`drowse serve`プロセスは、1つのポートで4つのサーフェスを公開します:WebUI、OpenAI互換の`/v1/*`、Ollama互換の`/api/*`、そしてセッション、ルームツリー、プローブ、多様体、テンプレート、SAE/J-LENSライフサイクルとリプレイ、SSE、トークンプラス測定WebSocketのためのネイティブ`/drowse/v1/*` APIです。Python APIは`DrowseSession`を中心とし、`extract`、`add_probe`、`generate`、`generate_stream`、`generate_batch`、`generate_sweep`、`score_choices`に加えて、ノートブックプロットヘルパーを備えます。
モデルサポートには、Qwen 2/3/3.5、Gemma 2/3/4、Mistral 3とMinistral 3、Llama、GLM、gpt-oss、Talkieのエンドツーエンドテスト済みパスが含まれ、追加のアーキテクチャは汎用の残差レイヤーインターフェースを介して配線され、未テストの場合は警告が出ます。READMEは、Drowseを堅牢なマルチテナントサービスではなく、信頼できるローカルマシンまたはラボネットワークを対象としていると明示的に位置付け、信頼できるホストを超えてバインドする場合は、APIキー、TLS、レート制限、分離を推奨します。リポジトリのPython実行はデフォルトで無効になっており、明示的なオプトインが必要です。状態は`~/.drowse/`の下に置かれ(`$DROWSE_HOME`で移動可能)、会話の保存はオートセーブではなく、ブラウザで明示的にダウンロードされるJSONファイルです。プロジェクトはAGPL-3.0-or-laterでライセンスされ、Representation Engineering、repeng、difference-of-means抽出、Goodfireの多様体研究、AnthropicのAssistant Axisフレーミング、GurneeらのJレンズ手法にクレジットを与えています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.