lance: 為多模態 AI 提供高效能向量搜尋與隨機存取的開放式 Lakehouse 格式

lance: 為多模態 AI 提供高效能向量搜尋與隨機存取的開放式 Lakehouse 格式

它解決了什麼問題

Lance 提供了一種專為多模態 AI 設計的高效能開放式 Lakehouse 格式。它解決了傳統以 SQL 為中心的 Lakehouse 格式(如 Parquet 或 Iceberg)在現代 ML 訓練與特徵工程中,對於隨機存取、向量搜尋以及多模態數據儲存方面的侷限性。

運作原理

Lance 實作了一種可以建立在物件儲存之上的檔案格式、資料表格式與目錄規範。它能夠在單一統一的格式中,高效地儲存嵌入向量 (embeddings)、圖像、影片、音訊與文本。它支援混合搜尋——結合了向量相似度、全文搜尋 (BM25) 與 SQL 分析——並為取樣與探索提供極速的隨機存取。

目標對象

它是為 AI 工程師與資料科學家所打造的,這些專業人士需要管理大規模多模態數據集、利用混合搜尋建立搜尋引擎或特徵儲存庫 (feature stores),以及為大規模 ML 訓練執行高效能 IO。

重點特色

  • 混合搜尋: 在單一數據集上結合向量相似度、BM25 全文搜尋與 SQL 分析。
  • 快速隨機存取: 隨機存取速度比 Parquet 或 Iceberg 快上達 100 倍。
  • 多模態支援: 對於圖像、影片、音訊與文本提供原生儲存與延遲載入 (lazy loading)。
  • 數據演進: 允許在不需重新寫入整張資料表的情況下,新增帶有回填值的欄位。
  • 零拷貝版本控制: 包含 ACID 事務、時間旅行 (time travel)、標籤與分支,且無需額外基礎設施。
  • 廣泛整合: 相容於 Apache Arrow、Pandas、Polars、DuckDB、Ray 與 Apache Spark。

Sources