盡管生成式人工智能在今年極其引人注目,但新時代的最大變革可能深藏在軟件堆棧中。AI算法在視野之外改變著世界,生成式人工智能正在顛覆傳統數據庫中的固定結構表格,用更復雜、適應性強且更直觀的新AI能力來追蹤和處理這個世界的數據。
數據庫的更新涉及到數據存儲堆棧的每個層級,基本數據結構正在被審查。數據庫廠商正在改變我們存儲信息的方式,以更好地與AI模型配合工作。數據庫管理員的角色,曾經沉悶而枯燥,但現在正演變為更加廣泛的角色。
以下是數據庫隨著AI的發展而發生變化、適應或改進的10種方式。
向量和嵌入
AI開發人員喜歡將信息存儲為一長串數字的向量。過去,數據庫將這些值存儲為行,每個數字位于單獨的列中。現在,一些數據庫支持純向量,因此無需將信息拆分為行和列,用于存儲的某些向量可能由數百甚至數千個數字組成。
這樣的向量通常與嵌入配對使用,嵌入是一種將復雜數據轉換為單個數字列表的模式。設計嵌入仍然是一門藝術,并且常常依賴于對底層領域的知識。當嵌入設計良好時,數據庫可以提供快速訪問和復雜查詢。
像Pinecone、Vespa、Milvus、Margo和Weaviate等公司正在構建專門用于存儲向量的新型數據庫。其他公司如PostgreSQL正在將向量添加到其現有工具中。
查詢模型
將向量添加到數據庫帶來的不僅僅是方便。新的查詢函數不僅可以搜索精確匹配,還可以定位“最接近”的值,這有助于實現推薦引擎或異常檢測等系統。將數據嵌入向量空間簡化了涉及匹配和關聯的棘手問題,使其變為純粹的幾何距離。
Pinecone、Vespa、Milvus、Margo和Weaviate等向量數據庫提供向量查詢。一些意想不到的工具,如Lucene或Solr,也提供相似度匹配功能,可以通過大塊非結構化文本提供類似的結果。
推薦
新的基于向量的查詢系統比過去的查詢方式更神奇且富有神秘感。舊的查詢只會尋找匹配項;而這些由人工智能驅動的數據庫有時更像是在讀取用戶的思維。它們使用相似度搜索來找到“接近”的數據項,這些數據項通常與用戶所需相符。底層的數學原理可能僅僅是在n維空間中計算距離,但不知何故,這已經足以提供意想不到的結果。這些算法長期以來一直作為完整應用程序獨立運行,但它們正在逐漸被融入數據庫本身,從而可以支持更好、更復雜的查詢。
Oracle只是一個針對這個市場的數據庫示例。Oracle長期以來一直提供各種模糊匹配和相似度搜索功能。現在它直接提供了針對在線零售等行業定制的工具。
索引范例
過去,數據庫構建了簡單的索引,支持按特定列進行更快的搜索。數據庫管理員擅長使用連接和過濾子句來創建復雜查詢,通過適當的索引可以提高查詢速度。現在,向量數據庫被設計為創建跨向量所有值的有效索引。我們剛剛開始探索各種應用程序來找到彼此“相鄰”的向量。
但這只是個開始。當AI在數據庫上進行訓練時,它會吸收其中所有信息。現在,我們可以用普通語言向AI發送查詢,而AI將以復雜但自適應的方式進行搜索。
數據分類
人工智能不僅僅是在數據庫中添加一些新的結構,有時,它會在數據的內部添加新的結構。有些數據以一堆凌亂的位表示。可能存在沒有注釋的圖像或很久以前某人寫的大塊文本。人工智能算法會清理混亂,并對混亂的數據集進行排序。它們可以自動填寫表格,對一塊文本進行情感分類,猜測照片中面部的態度,從圖像中提取細節,并且算法還可以學會檢測模式。它們對數據進行分類、提取重要細節,并創建一個規則清晰的信息表格視圖。
亞馬遜網絡服務(Amazon Web Services)將SageMaker等人工智能工具與Aurora等數據庫連接起來,提供各種數據分類服務,。
更好的性能
好的數據庫可以處理許多數據存儲的細節。在過去,程序員仍然需要花時間糾結于數據庫使用的各種參數和模式,以使其高效運行。數據庫管理員的角色是為了處理這些任務而設立的。
現在許多這些高級元任務都正在自動化進行,通常通過使用機器學習算法來理解查詢模式和數據結構。它們能夠監控服務器上的流量,制定調整策略以滿足需求,并且可以實時適應并學會預測用戶所需。
Oracle提供了最好的例子之一。過去,公司為數據庫管理員支付高薪。現在,Oracle將其數據庫稱為自主數據庫,因為它們配備了先進的人工智能算法,可以實時調整性能。
數據清潔度
運行一個良好的數據庫不僅需要保持軟件的正常運行,還需要確保數據盡可能干凈且沒有故障。人工智能通過搜索異常、標記異常并可能提出修正建議簡化了這項工作量。它們可以找到客戶姓名拼寫錯誤的地方,然后通過搜索其他數據找到正確的拼寫。它們還可以學習傳入數據格式,并將數據攝取到一個單一統一的語料庫中,使所有名稱、日期和其他細節以盡可能一致的方式呈現。
微軟的SQL Server是一個與數據質量服務緊密集成的數據庫示例,可以清理具有問題(如缺失字段或重復日期)的數據。
欺詐檢測
創建更安全的數據存儲是機器學習的一個特殊應用。一些人正在使用機器學習算法來查找其數據流中的異常情況,因為這些異常情況往往是欺詐行為的很好指標。某人是否在深夜首次去自動取款機?此人是否曾在該大陸使用過信用卡?AI算法可以嗅探出危險信號,并將數據庫轉變為欺詐檢測系統。
例如,Google的Web服務提供了幾種選項,可以將欺詐檢測集成到您的數據存儲堆棧中。
更嚴密的安全性
一些組織正在內部應用這些算法。人工智能不僅僅是為了優化數據庫的使用模式,它們還在尋找可能表明有人正在入侵的異常情況。遠程用戶不會每天都請求完整復制整個表格。一個好的AI可以嗅出可疑之處。
IBM的Guardium Security就是一個與數據存儲層集成以控制訪問并監測異常情況的工具示例。
將數據庫和生成式AI融合
過去,人工智能與數據庫相分離。在訓練模型時,數據會從數據庫中提取出來,重新格式化,然后輸入到人工智能中。現在的新系統直接從現有的數據中訓練模型。對于最大的任務來說,這樣做可以節省時間和能源,因為僅僅將數據遷移可能需要幾天甚至幾周的時間。這也簡化了開發運維團隊的生活,使得訓練一個人工智能模型就像發出一個命令一樣簡單。
甚至有人提議完全替換數據庫。不再將查詢發送到關系型數據庫,而是直接發送給一個人工智能,它會以任何格式回答查詢。谷歌提供了Bard,微軟則推出了ChatGPT。它們都是取代搜索引擎的嚴肅競爭對手。它們同樣完全可以取代傳統的數據庫。
這種方法也有一些缺點。在某些情況下,人工智能會產生幻覺,并給出完全錯誤的答案。在其他情況下,它們可能會心血來潮從而改變輸出的格式。
但是,當領域足夠垂直、訓練集深度且完整時,人工智能可以提供令人滿意的結果。而且,它能夠避免定義表格結構和強迫用戶編寫查詢來查找數據的麻煩。使用生成式人工智能來存儲和搜索數據可以更加靈活,適用于用戶和創建者雙方。