lance: 高性能なベクトル検索とランダムアクセスを備えたマルチモーダルAI向けオープン・レイクハウス・フォーマット
lance: 高性能なベクトル検索とランダムアクセスを備えたマルチモーダルAI向けオープン・レイクハウス・フォーマット
何を解決するか
Lanceは、マルチモーダルAI向けに特別に設計された高性能なオープン・レイクハウス・フォーマットを提供します。これは、現代のMLトレーニングや特徴量エンジニアリングに必要なランダムアクセス、ベクトル検索、およびマルチモーダルデータのストレージにおいて、従来のSQL中心のレイクハウス・フォーマット(ParquetやIcebergなど)が直面する制限に対処します。
仕組み
Lanceは、オブジェクトストレージ上に構築できるファイルフォーマット、テーブルフォーマット、およびカタログ仕様を実装しています。これにより、埋め込み(embeddings)、画像、ビデオ、音声、およびテキストを単一の統一されたフォーマットで効率的に保存することが可能になります。また、ベクトル類似性、全文検索(BM25)、およびSQL分析を組み合わせたハイブリッド検索をサポートし、サンプリングや探索のための超高速なランダムアクセスを提供します。
対象ユーザー
大規模なマルチモーダル・データセットを管理し、ハイブリッド検索を備えた検索エンジンや特徴量ストアを構築し、大規模なMLトレーニングのために高性能なIOを実行する必要があるAIエンジニアやデータサイエンティスト向けに構築されています。
ハイライト
- ハイブリッド検索: 単一のデータセット上で、ベクトル類似性、BM25全文検索、およびSQL分析を組み合わせます。
- 高速なランダムアクセス: ParquetやIcebergよりも最大100倍高速なランダムアクセスを実現します。
- マルチモーダル対応: 画像、ビデオ、音声、およびテキストのネイティブなストレージと遅延読み込み(lazy loading)をサポートします。
- データの進化: テーブル全体の書き換えを必要とせずに、バックフィルされた値を持つ列の追加を可能にします。
- ゼロコピー・バージョニング: 追加のインフラストラクチャなしで、ACIDトランザクション、タイムトラベル、タグ、およびブランチを含みます。
- 幅広い統合: Apache Arrow、Pandas、Polars、DuckDB、Ray、およびApache Sparkと互換性があります。
Sources
- undefinedlance-format/lance