【應用案例】Google Vertex AI平台使用Redis搭建大語言模型

人工智慧如火如荼,語言模型人類即時互動的同時,又怎能少了背後高效能可擴展的資料層支援呢?結合可靠的Redis,Google大語言模型實現了高效可擴展的語義搜尋、檢索增強生成、LLM 快取機制、記憶和持久性。

一、語言模型構件

應用程式生成、理解和使用人類語言的能力正變得越來越重要,從客服機器人到虛擬助手,再到內容生成,人們對AI應用功能的需求橫跨眾多領域,而這一切的實現,都要歸功於Google的PaLM 2 等基礎模型,這些模型經過精心調教,可以產生類似人類表達風格的內容。

在這動態環境中,基礎模型和高效能資料層這兩個基本元件始終是創建高效能、可擴展語言模型應用的關鍵。

1、基礎模型:

基礎模型是生成式人工智慧應用的基石,大型語言模型(Large Language Model ,LLM)是其中的一個子集。LLM 透過大量的文字訓練,使其能夠為各種任務產生具有上下文相關性的類似人類表達風格的文本。改進這些模型,使其更加複雜,使應用程式可以更精煉、更有效地回應使用者輸入。所選的語言模型會顯著影響應用的效能、成本和服務品質。

然而,PaLM 2 等模型雖然功能強大,但也有其局限性,例如當缺乏特定領域的數據時,模型可能不夠相關,而且可能無法及時呈現新資訊或準確資訊。LLM 在提示(prompts)中可以處理的上下文長度(即詞組數量)有硬性限制,此外,LLM 的訓練或微調需要大量的計算資源,這會使成本劇增。要在這些限制和優勢之間取得平衡,需要謹慎的策略和強大基礎設施的支援。

2、高效能的資料層

高效的LLM 應用程式由可擴展的高效能資料層支撐,可確保高速交易和低延遲,這對於保持用戶流暢互動至關重要。它在以下方面發揮關鍵作用:

  • 快取預計算的請求回應或嵌入
  • 對過去的互動歷史進行持久化
  • 進行語義搜尋以檢索相關的上下文或知識

向量資料庫已成為一種流行的資料層解決方案。Redis 在向量搜尋方面的投入遠早於當下的向量資料庫熱潮,這反映了我們具有豐富的經驗,尤其是在效能方面。Redis對於向量搜尋的經驗在剛發布的Redis 7.2 版本中得到了體現,該版本包括可擴展搜尋功能預覽,與前一版本相比,每秒查詢次數提高了16倍。

基礎模型和向量資料庫在不同產業的LLM 應用中發揮著至關重要的作用,因此引發了業界的極大興趣和炒作。例如,一些較新的獨立向量資料庫解決方案(如Pinecone)宣布獲得巨額融資,並投入大量精力以贏得開發人員的關注。然而,由於每週都有新的工具出現,因此很難知道哪款工具真的能滿足企業需求。

GCP (Google’s Google Cloud Platform )的與眾不同之處在於其統一的產品,它將功能強大的基礎模型、可擴展的基礎設施,以及一套用於調整、部署和維護這些模型的工具結合在一起,從而能夠確保最高等級的資料安全和隱私安全。

但是,要真正發揮這些進展的潛力,一個高效能且可擴展的資料層是不可或缺的,這就是Redis的作用。

3、可擴展語言模型應用的推理架構

Large language model (LLM) applications with Redis enterprise

這裡所呈現的推理架構適用於通用語言模型用例。它結合使​​用了Vertex AI(PaLM 2 基礎模型)、BigQuery 和Redis Enterprise。

您可以依照開源 GitHub 倉庫中的Colab 筆記本逐步設定此LLM 架構。(項目連結見文末)

  1. 安裝程式庫和工具:安裝所需的Python 庫,使用Vertex AI 進行身份驗證,並建立一個Redis 資料庫。
  2. 建立BigQuery 表格:將資料集載入到您的GCP 專案中的BigQuery 表格中。
  3. 產生文字嵌入:循環遍歷資料集中的記錄,使用PaLM 2 嵌入API 建立文字嵌入。
  4. 載入嵌入:將文字嵌入和一些元資料載入到運行中的Redis 伺服器。
  5. 建立向量索引:執行Redis 指令來建立一個模式和一個新的索引結構,以實現即時搜尋。

完成必要的設定步驟後,這個架構可以支援多種LLM 應用,例如聊天機器人和虛擬購物助理。

二、在語言模型(LLM)應用Redis

即使是經驗豐富的軟體開發人員和應用架構師也可能對這個新的知識領域不了解,這個簡短的總結應該能幫助你迅速掌握重點。

1、利用Redis實現高效可擴展的語義搜索

語意搜尋從龐大的知識語料庫中提取語意相似的內容。在這個過程中,知識被轉換為可以進行比較的數值嵌入向量,以找到與使用者查詢最相關的上下文資訊。

Redis 作為高效能向量資料庫,擅長索引非結構化數據,從而實現高效可擴展的語義搜尋。Redis 可以增強應用程式迅速理解和回應使用者查詢的能力,其強大的搜尋索引能力有助於實現快速回應和準確的使用者互動。

2、利用Redis實現檢索增強生成

檢索增強生成(Retrieval-Augmented Generation,RAG)方法利用語意搜尋等方法,在將提示傳送到LLM 之前動態地註入事實知識。這種技術最大程度上減少了在專有或頻繁變動的資料上對LLM 進行微調的需求。RAG 允許對LLM 進行情境增強,使其能夠更好地處理當前的任務,例如回答特定問題、總結檢索內容或產生新內容。

作為向量資料庫和全文搜尋引擎,Redis 有助於RAG 工作流程的順暢運作。由於其低延遲的資料檢索能力,Redis 常常是執行此任務的首選工具。它確保語言模型迅速且準確地獲得所需的上下文,促進了人工智慧應用高效的執行任務。

LLM Caching

3、利用Redis實現LLM 的快取機制

快取是增強LLM 回應能力和運算效率的強大技術手段。

標準快取提供了一種機制,用於儲存並快速檢索預先產生的常見查詢回應,從而降低計算負載和回應時間。然而,在動態對話背景中使用人類語言時,完全匹配的查詢很少,這就是語義快取發揮作用的地方。

語意快取可以理解並利用查詢的潛在語意。語義快取識別並檢索與輸入查詢在語義上足夠相似的快取回應。這種能力大大增加了快取命中率,進一步改善了回應時間和資源利用率。

例如,在客戶服務場景中,多個使用者可能會使用不同的措詞詢問類似的常見問題。語意快取使得LLM 能夠在不進行冗餘計算的情況下迅速且準確地回應這些問題。

Retrieval-Augmented Generation (RAG)

Redis 非常適合在LLM 中實現緩存,其強大的功能集包括支援生存時間(TTL)和逐出策略,用於管理臨時資料。結合其向量資料庫的語意搜尋能力,Redis 能夠有效率且快速地檢索快取響應,從而顯著提升LLM 的響應速度和系統整體效能,即使在負載較重的情況下也能如此。

4、利用Redis實現記憶體和持久化

保留過去的互動和會話元資料對於確保情境連貫和個人化對話至關重要,然而LLM 並沒有自適應記憶,因此依賴一個可靠的系統進行快速的對話資料儲存變得至關重要。

Redis 提供了一個強大的解決方案,用於管理LLM 的記憶。它可以在大量需求下有效地存取聊天歷史和會話元資料。Redis使用其資料結構儲存來處理傳統的記憶體管理,同時其向量資料庫功能有助於提取語義相關的互動內容。

三、LLM的應用場景

1、文檔檢索

一些企業需要處理大量的文檔,而LLM 應用可以成為文檔發現和檢索的強大工具,語義搜尋有助於從廣泛的知識語料庫中精確定位相關資訊。

2、虛擬購物助手

LLM 可以支援複雜的電子商務虛擬購物助手,透過上下文理解和語義搜索,它可以理解客戶的問題,提供個人化的產品推薦,甚至即時模擬對話互動。

3、客戶服務助理

將LLM 部署為客戶服務代理可以徹底改變客戶互動方式,除了回答常見問題外,系統還可以進行複雜的對話,為客戶提供客製化的幫助,並從過去的客戶互動中學習。

四、Redis和Google Cloud : 強強聯手

1、基於知識

GCP 和Redis 讓LLM 應用不僅僅是先進的文本生成器,透過在運行時迅速注入來自您自己領域的特定知識,它們確保您的應用可以提供基於知識、準確和有價值的交互,特別適應於您的組織知識庫。

2、簡化架構

Redis 不僅僅是一個鍵值資料庫,它是即時資料的多功能工具,透過消除為不同用例管理多個服務的需求,它極大地簡化了您的體系架構。作為許多組織已經信任的快取和其他需求的工具,Redis 在LLM 應用中的整合起到了無縫擴展的效果。

3、優化性能

Redis 是低延遲和高吞吐量資料結構的代名詞。當與具有超強運算能力的GCP結合時,您將擁有一個不僅聰明而且響應迅速的LLM 應用,即使在負載較重的情況下也能如此。

4、企業級能力

Redis是經過時間驗證的開源資料庫核心,可為全球財富100強公司提供可靠服務。在Redis Enterprise提供的五個九(99.999%)可用性的支持下,並由GCP 強大的基礎架構提供支持,您可以完全信任其可以完全滿足企業需求。

5、加速上市進程

利用Redis Enterprise,您可以更專注於建立LLM 應用,而不必費心進行資料庫設定。這種整合的便利性加速了上市進程,為您的組織提供了競爭優勢。

儘管新的向量資料庫和生成式AI 產品可能在市場上引起了極大的關注,但是GCP 和Redis 的可靠組合更值得信任。這些經過時間驗證的解決方案不會很快消失,它們已經準備好為您的LLM 應用提供動力,無論是今天還是未來的幾年。

台北辦資訊卡_小_資訊卡