Millfolio – ローカル/ハイブリッドAIに対する私の見解
MillfolioはMac上で動作するローカルファーストのAIツールで、データをモデルに送信する代わりにプログラムをデータに送信することでプライバシーを保護します。バックエンドにはMojoを使用し、ローカルモデルでファイルをインデックス化し、フロンティアモデル(Claude)が匿名化されたスキーマのみを参照してクエリプログラムを作成します。
Millfolioは、ユーザーが自分のデータに対してAIを利用できるようにする個人プロジェクトで、データをプロバイダーに渡す必要はありません。完全にMac上で動作し、プライバシーを保護する斬新なアプローチを採用しています。データをモデルに送信する代わりに、プログラムをデータに送信します。
ユーザーが質問をすると、ローカルモデルがデバイス上でファイルを読み取り、インデックス化します(チャンク分割、埋め込み、ローカルボールトインデックスへの格納)。これが実際のデータに触れる唯一の部分です。次に、フロンティアモデル(Claude)が質問に答えるための小さなプログラムを作成しますが、このモデルはボールトの匿名化されたスキーマ(列名、タグ名、型、形状)のみを参照し、実際の値は決して見ません。プログラムはデバイス上のサンドボックス内で実行され、回答はローカルで組み立てられます。フロンティアモデルは計画とコーディングを担当し、実際のデータはマシンから離れることはありません。ネットワークを介して送信されるのは、匿名化されたマニフェストとクエリプログラムであり、ユーザーのトランザクションデータではありません。
Millfolioのデータスタックはほぼ完全にMojoで記述されており、カスタムのGPU/Metalカーネルを備えたスクラッチからの推論エンジンも含まれています。ローカルモデルはデバイス上でファイルを読み取り、インデックス化し、対象を絞った質問に回答します。このエンジンは、Mac miniで小さなモデルを実用的にするための地味な作業を実行します:int4 GEMV、テンソルコアアテンション、永続的なMetalパイプラインキャッシュ、プロンプトルックアップ投機的デコード。また、ローカルモデルをバッチモードで異なる優先順位で実行するための追加の作業もあり、ユーザーが無関係な作業を同時に行っている場合でもラップトップの応答性を維持します。
作者はプロジェクトの限界を率直に認めています:個人プロジェクトであり、Apple Siliconのみ対応、コードの大部分はAIによって書かれていますが、作者による設計とテストが行われています。コード作成ステップにはAPIキーが必要です。ローカルモデルはクエリプログラムを確実に作成できるほど強力ではないため、フロンティアモデルがその役割を担います。したがって、ローカルファーストではありますが、完全に隔離されているわけではありません。誰かがローカルモデルでこれらのプログラムをうまく書けることを証明できれば、最後のリモート依存関係がなくなると作者は述べています。
このプロジェクトには保証も責任もありません。プライバシーは設計によって保護されていますが、完全に安全なソフトウェアはありません。ある程度のリスクを許容できるデータで使用してください。
アイデアを素早く理解するには、ライブデモ(Demo: demo.millfolio.app)をご覧ください。合成ボールトを使用し、ワンクリックでインストール不要、キー不要で利用できます。詳細は millfolio.app、コードは github.com/millfolio をご参照ください。作者はフィードバックを歓迎しており、特にプライバシーモデルが批判に耐えられるかどうか、そして実際の推論スタックをMojoに賭ける決断について意見を求めています。