6 ポイント 投稿者 GN⁺ 2025-05-06 | 1件のコメント | WhatsAppで共有
  • VectorVFSは各ファイルごとにベクトル埋め込みをメタデータとして保存し、Linuxファイルシステム自体をベクターデータベースとして活用できるようにするPythonパッケージ
  • 外部インデックスやDBなしで、ファイルシステムのxattrs(拡張属性)機能を通じてゼロオーバーヘッドのインデックス化を実現
  • 埋め込み検索による類似ファイル探索が可能で、特定のモデルに依存せずさまざまな埋め込みモデルを接続できる
  • MetaのPerception Encoders (PE) を使って画像・動画ベースのベクトル埋め込みを生成し、これは他モデルより高いゼロショット性能を示す
  • 軽量でポータブルな構造により、別途デーモンやサービスなしですぐに利用可能

紹介

  • VectorVFSはLinuxファイルシステムの基本機能だけでファイルに対する埋め込みの保存と検索を可能にする軽量Pythonライブラリ
  • 外部データベースなしで、各ファイルの**拡張属性(xattrs)**に埋め込み値を保存する
  • 既存のディレクトリ構造をそのまま維持しながら、セマンティック検索が可能なシステムへ拡張できる

主な機能

  • Zero-overhead indexing

    • ベクトル埋め込みをファイルのxattrとして直接保存する
    • 外部インデックスサービスや追加ストレージは不要で、ファイルの横にメタデータとして存在するだけ
  • Seamless retrieval

    • ファイルシステム全体を対象にベクトルベースの類似度検索を実行可能
    • 例: find_similar_images('example.jpg') のような方法で類似画像ファイルを検索できる
  • Flexible embedding support

    • MetaのPerception Encoders (PE) モデルをデフォルトで使用
    • 今後はさまざまな埋め込みモデル(例: テキスト、オーディオ、マルチモーダル)に対応予定
    • ユーザー定義の埋め込みモデルもプラグイン方式で連携可能
  • Lightweight and portable

    • Linux VFS(xattr)機能ベースのため、別途デーモンやサーバー構成は不要
    • ポータブルな方式で、ローカルディレクトリや外部ストレージでも活用可能
  • 使用された埋め込みモデル: Meta Perception Encoders

    • PEはMetaが発表した画像・動画ベースのビジョン言語モデル
    • 競合モデルであるInternVL3、Qwen2.5VL、SigLIP2よりゼロショット性能に優れる
    • 今後さまざまなバックエンド埋め込みモデルが追加される予定

要約

  • 既存のファイル構造をそのまま維持しながら意味ベースの検索が可能なベクトルシステムを構築できる
  • 埋め込み保存コストはほぼなく、別途インフラなしで動作可能
  • オフライン/エッジ機器でのプライバシー確保と検索機能の実装に適している

1件のコメント

 
GN⁺ 2025-05-06
Hacker Newsの意見
  • Vector Databaseと比較するのは紛らわしい。データベースは通常、インデックスとクエリのサポートを意味する

    • 埋め込みをファイルとして保存するのは興味深い概念。一部のファイル形式(EXIF)ではすでに使われている。しかし、大規模処理には実際のデータベースが必要
    • さまざまなモデルと埋め込み形式をサポートして、データの移植性を高めることが課題。どのシステムにファイルを入れても、埋め込みがスムーズに統合される必要がある
  • メタデータをファイルに付加することで、LLMsや埋め込みベクトルを理解できるツールが、ファイルの内容を読まなくてもファイルを理解できるようにするということ

    • 興味深いユースケースが多い。たとえば、「先月キャンプに行って七面鳥の群れを見たビデオを再生」のようなプロンプトでファイルシステムを素早く検索できる。しかし、実際のベクトルDBがシステム上で動作している必要がある
  • プロジェクトに任意でWeaviateとflat-indexを追加するのは面白いかもしれない

    • 外部サービスを使わず、完全にディスクベース。ファイルシステム全体を検索できる(ファイルあたり約1.5kb、384次元)
  • 素晴らしいアイデア

    • ドキュメントにはさらに多くの情報が必要。たとえば、どのGPUバックエンドがサポートされているのか、埋め込み情報を削除する方法など
    • 試してみる価値はある
  • VectorVFSが不透明な埋め込みの背後に検索ロジックを隠すなら、ユーザーはそのファイルがなぜ表示されたのか、あるいはなぜ表示されなかったのかをどうデバッグできるのか疑問

  • ファイルシステムとデータベースをめぐる古くからの議論はいつも興味深い。こういう内容を読むと、いつも疑問がさらに増える

  • 似たようなことをしたが、EXT4の要件を使った

    • ハードリンク(バックアップではtarだけが動作)
    • 小さいファイルサイズ(ディスク容量より先にinodeが枯渇する)
    • 世界中に分散したリアルタイムデータに有用。CAPのPは書き込みには不要
  • 埋め込みをinodeに保存するという面白いアイデア。とても賢い

    • ベクトルデータベースとして実際に使えるものではない。検索インデックスの概念がない。すべてのファイルを O(N) の線形検索で調べる
    • それでも面白いアイデア
  • 数年前に似たようなものを調べた。xattrsに埋め込みを保存した