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
- undefinedlance-format/lance