向量數據庫越來越重要了

數據有着悠久的歷史。自古以來,我們一直使用 “記錄” 來整理信息,但如今我們所熟知的數據庫真正出現是在大約 60 年前。有人認爲數據庫隨着應用邏輯和圖形用戶界面的誕生在 20 世紀 60 年代同時崛起,但也有人將其推遲到十年後。隨着數據庫在過去的半個世紀中的不斷髮展,它們逐漸擴展和增強了攝取、捕獲、快照、查詢、分析和管理信息的能力。

我們使用這些工具的情況現在正處於一個拐點。正如我們之前強調過的,那些因爲能給我們的智能手機和其他設備帶來全新的 “應用程序” 而備受喜愛的軟件開發人員並不一定接受過數據科學家的培訓。自動化可以緩解數據開發科學家所面臨的一些壓力,但同時也有一種更廣泛的發展正在迅速興起,當然,這是由生成式 AI 推動的。

01 向量數據庫登場

對於商界人士來說,數據科學中的一個元素可能暫時超出他們的範疇(直到我們開發出無需編碼的拖放工具來使其普及),但瞭解爲什麼向量數據庫的功能對我們都很重要。它影響着我們應用程序的工作方式,並推動着在各種商業環境中出現的新的用例。那麼,簡單來說,什麼是向量數據庫呢?

向量數據庫利用生成式 AI 來進行與相似性搜索和異常檢測相關的分析,通常利用時間數據,即時間戳數據,它不僅告訴我們發生了什麼,還告訴我們發生的時間以及與任何給定 IT 系統中的其他事件的順序和關係。向量是數據的 “對象”,也就是說,它們是表示空間、位置、時間和其他分類特徵的數值,使我們能夠對數據賦予精確的價值和含義。

由於向量具有固有的時間感知能力,它們在追蹤物聯網(IoT)中傳感器的運行狀態方面非常有用。除了在計算能力方面非常快速(它們可以高速處理數據,並執行復制和分片等操作,用於數據的分區),向量還使我們能夠以更復雜的方式構建能夠 “理解” 不同數據格式中保存的值的數據存儲。傳統上直到現在,例如,對於一個文檔來說,很難了解有關音頻文件、圖像或視頻的許多信息,但是通過向量 “嵌入”,我們獲得了新的存儲、索引和查詢處理方式的強大推動。

由於在網絡和雲環境中構建的關係,我們擁有許多不同格式和位置的數據源。在這個信息流的龐雜中找到我們所需的內容可能是困難的,這就是爲什麼像谷歌這樣的公司開發了強大的相似性搜索功能。與類似的技術一起,這些算法風格是我們今天瀏覽信息的基礎。向量數據庫綜合運用了所有這些功能,並且與軟件應用程序開發邏輯緊密結合。這意味着它們能夠以新的方式處理海量數據集。

02 簡單的向量示例

大多數人知道,爲了創建表示任何給定數據源的標籤,信息會使用元數據進行標記。音樂文件不僅包含將聲音傳輸到音頻播放器應用程序所需的數據,還包含元數據,用於記錄藝術家是誰、歌曲的時長以及作品的名稱。因此,我們常說元數據是 “關於信息的信息”,以便我們知道每個數據的含義。

進一步解釋向量,如果一個 AI 過程需要確定一張圖片是狗還是貓,僅僅檢查圖片的基本數據可能是不夠的;畢竟,這兩種動物都有四條腿、毛髮、鋒利的牙齒,被認爲是家養寵物。如果我們使用向量爲圖片賦予更廣泛的 “屬性”,那麼我們可以利用生成式 AI 中的 LLM 來檢查圖片中的其他特徵。如果圖片的說明中提到這個動物可能被 “遛彎”,那麼我們更有理由推斷它是一隻狗。這是因爲 LLM 尋找最有可能相互跟隨的單詞序列。儘管有 1/1000 的人會牽着貓散步,但這種異常會納入向量邏輯,不會阻止機器判斷該圖片是一隻狗。

回到音樂的例子,我們可能想使用向量根據用戶當前的播放列表推薦其他歌曲。如果使用傳統的數據庫技術,我們需要通過 “循環” 過程逐個檢查用戶的所有歌曲數據記錄。如果使用向量,我們可以爲每首音軌分配屬性(每分鐘節拍數、風格、錄製年份、藝術家、使用不當語言等),以創建具有時間相關性的列表,從而實現更精細、快速和準確的數據分析。

“向量就像地圖一樣,任何對象(從數據的角度來看)都可以基於時間序列信息以列表和表格的形式表達,” KX 公司的 CEO Ashok Reddy 說。“我們生活在一個大部分信息都是非結構化的世界(文本文檔、社交媒體動態、聊天記錄、圖像和視頻文件等),但是如果我們給這些信息賦予向量,我們就可以開始以新的方式跨行業進行管理。向量使我們能夠以任何特定主題的細節爲基礎,爲所選擇的數據對象列出數百個屬性。 在這些屬性中,時間序列信息始終是關鍵。也就是說,除非信息有時間元素,否則人類無法理解信息 —— 想想天氣、健康、軍事防禦、交通或商業,所有的決策都取決於時間。”

03 生成式 AI 與向量數據庫的結合

爲了將生成式 AI 和向量數據庫融合爲一種新的統一技術方案,KX 團隊今年將其核心 kdb + 數據庫推向了一個新的水平,並創造了名爲 KDB.AI 的向量數據庫,專門用於雲原生向量數據管理、向量嵌入以及類似 GPT 的自然語言處理(NLP)查詢探索。

正如 CEO Reddy 所言:“我們現在使用人類語言向機器提問,並作爲一種編程語言。我們將生成式 AI 引入數據領域,因爲單獨的 OpenAI 可能對數據有所瞭解,但在我們的上下文中,它無法以本地級別支持數據。如果用戶向 OpenAI 詢問有關數據的問題,它將基於人們對該數據集或信息流的言論提供結果,而不是關於數據及其屬性、價值和商業領域中的核心價值。”

Reddy 提醒我們,即使將生成式 AI 與數據層結合,我們仍然受限於人類語言表達查詢和意圖的範圍。“如果我們的機器發現某個過程可以比我們最初預期的更好地進行優化,只要在可解釋性和治理的約定水平內,我們可能會接受該發展,而我們將始終在這方面對 AI 設立邊界作爲保護措施,” 他補充道。

該公司目前在其完整的 KX 技術堆棧上進行推進,旨在將其定位爲簡化 “傳統” 數據科學工作流程的工具,其中許多工作流程依賴於之前描述的關係型數據庫管理系統中的循環處理。KX 通過整合和打包向量編碼、內置算法、數據連接和組織工具,並支持流行和相關的數據科學語言,如 Python、Java 和 SQL 等,來實現這一目標。

04 精簡技術棧

Reddy 將此過程稱爲 “精簡技術棧”,即減少應用程序對數據的依賴並加速處理,以簡化數據探索。該公司堅稱,KDB.AI 通過將一系列功能合併到一個引擎中,簡化了相關數據工具和技術的 “數據流程”。這個機制有效地革新了傳統的結構化和非結構化數據處理技術,通過將數據轉化爲向量。

在工作過程中(一旦數據工程師或開發人員啓動虛擬引擎),KDB.AI 首先通過平臺上的 “本地” 連接器從外部數據庫、ETL 或流數據源中獲取數據。接下來的步驟將對這些數據進行聚合、彙總和 “清理”(用於檢測重複或損壞),爲數據存儲做準備和組織。然後將數據存儲到數據庫中,KDB 的內置算法會將向量嵌入編碼到數據庫中。

第四個核心是使用編程語言創建的接口,用戶可以通過命令提示符提出交互式問題,針對向量嵌入進行復雜查詢。第五個和最後一個階段是 KDB.AI 與各種集成工具進行協作,這些工具可以在商業智能(BI)和數據管理產品(如 Informatica、Dataiku、Matlab、Power BI 或 Tableau)中展示分析結果。

05 數據顛覆的標誌

KX 並不是唯一一家關注向量數據庫開發的時間序列數據組織公司。其他時間序列專家包括 Milvus、Pinecone、Weaviate、Vald、Deephaven 和 Qdrant。但是在實踐中,客戶是否願意將他們的數據通過基於向量的數據平臺(例如 KDB.AI)暴露給生成式 AI 呢?

KX CEO Reddy 總結道:“總體而言,我們知道客戶不希望將他們的全部私有數據集完全暴露給開放的 AI 引擎和 LLM。許多公司正在採取使用開放 LLM 並在內部構建自己的小語言模型(SML)的方式,以保留更多的控制權。這並不意味着他們不與開放模型共享數據,大多數大型組織仍然會在公共領域共享一些數據集,以幫助訓練開放的 AI。分離私有和公共數據集是明智和合理的實踐。 總的來說,我們已經從循環處理發展到了更強大和高性能的向量技術。”

2014 年 ACM 圖靈獎得主 Michael Stonebraker 曾說:“要真正具有顛覆性,一個數據庫必須比其前任快 50 倍。” 向量數據庫的支持者認爲,這項技術的速度比傳統數據庫技術快了多達 100 倍。在搜索、數據處理以及整個網絡領域,向量技術正變得越來越重要。因此,許多企業應用程序現在需要考慮向量技術的價值了。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/YFB6p5i2wo8Wg1LUso9C0w