深入研究檢索增強生成 (Retrieval Augmented Generation, RAG),該創新方法定義了企業和機構如何利用大語言模型(LLM)來發揮其數據的價值。本文將探索若干英特爾 軟硬件構建模塊如何幫助優化RAG應用,在簡化部署和支持擴展的同時,增強其上下文感知能力和實時響應性能。
1為您的應用量身定制GenAI
ChatGPT的面世改變了AI的發展格局。企業爭相利用這項新技術打造新產品,提高競爭優勢和生產力,實現更加經濟高效的運營。
生成式AI(GenAI)模型,如Grok-1(逾3,000億參數)和GPT-4(數萬億參數),利用來自互聯網等文本來源的海量數據進行訓練。這些第三方大語言模型適用于通用用例。然而,企業的大多數用例都需要使用自身的數據來訓練和/或增強AI模型,這樣模型產出的結果才能對業務更有幫助。以下是生成式AI在各行各業的應用示例。
來源:由《麻省理工科技評論》根據“Retail in the Age of Generative AI(生成式AI時代的零售)”、“The Great Unlock: Large Language Models in Manufacturing(大解鎖:制造業中的大語言模型)”、“Generative AI Is Everything Everywhere, All at Once(生成式AI無處不在、每時每刻都在發生)”和“Large Language Models in Media & Entertainment(媒體和娛樂行業中的大語言模型)”(Databricks,2023年4月至6月)中的數據編寫。
雖然企業可以用自有的數據對模型進行調優,但重新訓練模型需要額外的時間和資源。好在現在有了一種頗受歡迎的技術,即檢索增強生成(RAG),它可以利用企業專有的數據來增強開源預訓練模型,從而創建特定領域的LLM,得出針對具體業務的結果。此外,RAG無需與第三方大型基礎模型共享數據,因此能夠讓企業更好地保護數據安全。
在本指南中,我們將介紹RAG如何與英特爾多種優化技術和平臺搭配使用,為GenAI系統帶來出色的價值和性能。
2檢索增強生成(RAG)是什么?
RAG技術將動態、依賴查詢的數據添加到模型的提示流中,再從存儲在矢量數據庫中的專有知識庫中檢索相關數據。提示和檢索到的上下文可以豐富模型的輸出,從而帶來更加相關和準確的結果。因為數據不會被發送給管理模型的第三方,因此,RAG可讓企業在保護數據隱私性和完整性的同時更好地通過LLM充分利用數據。RAG工作流程的關鍵構成可簡單分為四個步驟:用戶查詢處理、檢索、上下文整合和輸出生成。下圖展示了這一基本流程。
RAG的實用性不僅限于文本,它還可以極大地改變視頻搜索和交互式文檔探索的方式,甚至使聊天機器人能夠利用PDF內容來回答問題。
RAG的應用過程通常被稱為“RAG 管線”,因其從用戶提示開始,整個數據處理流程都是一致的。用戶提示首先進入關鍵步驟“檢索機制”中。在這一步,相關提示會被轉換為矢量嵌入,接著使用矢量搜索在預先構建的矢量數據庫(如PDF、日志、轉錄文本等)中找到相似的內容。檢索到最相關的數據后,RAG會將其與用戶提示整合,然后傳送給模型用于推理服務和最終輸出生成。這種上下文整合為模型提供了在預訓練階段無法獲得的額外信息,使模型能夠更好地契合用戶的任務或興趣領域。由于RAG無需重新訓練或調優模型,因此能夠高效地添加數據來為LLM提供上下文。下一節將探討RAG解決方案的架構和堆棧。
3標準RAG解決方案的架構
下圖所示的RAG解決方案架構展示了標準RAG實施方案的構建模塊。RAG實施流程主要包括:①構建知識庫、②查詢和上下文檢索、③響應生成和④跨應用產出監控幾個核心部分。
RAG LLM架構
讓我們展開談談其中幾個核心部分:
①構建知識庫:
? 數據收集:從基于文本的來源(如轉錄文本、PDF和數字化文檔)中收集數據建立私有知識庫。
? 數據處理管線:利用特定RAG管線來提取文本、格式化內容以進行處理,并將數據分塊成可管理的大小。
? 矢量化:通過嵌入模型處理數據塊,將文本轉換為矢量,可包括用于豐富上下文的元數據。
? 矢量數據庫存儲:將矢量化數據存儲在可擴展的矢量數據庫中,以便進行高效檢索。
②查詢和上下文檢索:
? 查詢提交:用戶或子系統通過聊天式界面或API調用提交查詢,并通過安全服務進行身份驗證。
? 查詢處理:采取輸入保護措施來確保安全性和合規性,然后進行查詢矢量化。
? 矢量搜索和重排序:進行初始矢量搜索以檢索相關矢量,然后使用更復雜的模型重排序以優化結果。
③響應生成:
? LLM推理和響應生成:將頂層上下文與用戶查詢結合,再通過預訓練或調優的LLM進行處理,然后再進行后處理以提升質量和增強安全性。
? 響應交付:通過界面將最終響應返回給用戶或子系統,確保答案的連貫性和上下文準確性。
④產出監控:
? 檢索性能:監控檢索過程的時延和準確性,并保留記錄以用于審核。
? 重排序的效率:跟蹤重排序的表現,確保上下文相關性和速度。
? 推理服務質量:觀察LLM推理的時延和質量,維護日志以便審核和改進。
? 安全防護有效性:監控輸入和輸出處理的安全防護(guardrail),確保合規性和內容安全性。
4RAG相關技術
開發RAG應用通常會從集成RAG框架開始,例如Haystack、LlamaIndex、LangChain和英特爾研究院的fastRAG。這些框架可通過提供優化和集成關鍵的AI工具鏈來簡化開發過程。
我們從知識庫構建、查詢和上下文檢索以及響應生成這三個關鍵步驟來考量RAG工具鏈。通常,RAG框架提 供涵蓋整個工具鏈的API。不管是選擇使用這些抽象,還是選擇利用獨立組件,都需要深思熟慮并從工程角度慎重考慮。
英特爾提供的優化技術/方案填補了工具鏈和硬件之間的缺口,并且在提升這些工具鏈與英特爾 至強 處理器兼容性及功能的同時,增強了跨工具鏈的性能。這些優化被集成到現有框架中,或者作為附加的擴展進行分發,目的是減少開發人員對大量低級別編程的需求。這種抽象使得開發人員能夠利用增強的性能和針對其特定用例量身定制的解決方案,專注于高效構建RAG應用。
接下來,本文將對工具鏈的多個組成部分進行更詳細的探討。
構建知識庫 + 上下文檢索:
? 集成框架:Haystack和LangChain作為常見RAG框架,為矢量數據庫和搜索算法提供了高級抽象,使得開發人員能夠在基于Python的環境中管理復雜的過程。
? 矢量數據庫技術:Pinecone、Redis和Chroma是支持主流搜索算法的關鍵矢量數據庫解決方案。英特爾研究院提供的可擴展矢量搜索(Scalable Vector Search, SVS)技術也很有發展前景,預計將在2024年初與各大矢量數據庫集成。
? 嵌入和模型可訪問性:通過Hugging Face API進行集成的嵌入模型往往可無縫整合到RAG框架中。這大大提升了納入先進自然語言處理(NLP)的簡便性。
響應生成:
? 低級別優化:oneAPI高性能庫可以優化PyTorch、TensorFlow和ONNX等主流AI框架,因此您可以使用熟悉的開源工具,因為它們已針對英特爾 硬件進行了優化。
? 高級推理優化:英特爾 Extension for PyTorch等擴展添加了高級量化推理技術,可助力提升了大語言模型的性能。
如您所見,RAG涉及多個相關聯的部分,在單一平臺(如英特爾 至強 處理器)上進行管理可簡化配置、部署和維護。
下一節將深入探討RAG應用的復雜性,包括幫助團隊實現成功部署的各種考量因素和技術。
5加速RAG應用與落地
RAG管線的許多步驟需要耗費大量計算資源,而同時,終端用戶又對低時延響應有著較高要求。此外,由于RAG經常用于處理機密數據,因此整個管線的安全性都至關重要。英特爾 技術賦能RAG管線,助力提升各個計算平臺的安全性能和充分發揮專為特定領域或行業量身定制的生成式AI的優勢。
計算需求
一般來說,LLM推理是RAG管線計算最密集的階段,特別是在實時應用環境中。然而,創建初始知識庫(處理數據和生成嵌入)對計算的需求同樣可能很高(取決于數據的復雜性和體量)。英特爾在通用計算技術、AI加速器和機密計算方面的進步為應對整個RAG管線的計算挑戰提供了重要基石,同時還能提高數據隱私和安全性。
和大多數軟件應用一樣,RAG也能從專為滿足終端用戶事務需求而量身定制的可擴展基礎設施中受益。隨著事務需求的增加,開發人員可能會因計算基礎設施負載過重而面臨時延增加,且基礎設施還會因矢量數據庫查詢和推理計算而趨于飽和。因此,獲得隨時可用的計算資源來擴展系統和快速處理新增需求對企業至關重要。另外,實施關鍵優化以提升諸如嵌入生成、矢量搜索與推理等關鍵步驟的性能也非常重要。
數據隱私和安全性
? 安全AI處理:英特爾 軟件防護擴展(Intel Software Guard Extensions,英特爾 SGX)和英特爾 Trust Domain Extensions(英特爾 TDX)在處理過程中在CPU內存中進行機密計算和數據加密,提高了數據安全性。這些技術對于處理敏感信息至關重要,有助于利用管線各部分的加密數據創建更安全的RAG應用。對于需要在矢量嵌入生成、檢索或推理過程中更安全地處理敏感數據的RAG應用來說,這是一個重要特性。
? 采取適當防護:在RAG應用中,防護涉及采取措施來管理LLM在RAG系統內的行為。這包括監控模型的響應、幫助遵守指導原 則和最佳實踐,以及控制其輸出來降低毒性、不公平偏見和隱私泄露的風險。在RAG應用中采取防護措施有助于LLM得到用戶的信任和負責任的運用,同時符合系統的整體目標和要求。
開源優化
嵌入優化
? 量化嵌入模型:英特爾 至強 處理器可以利用量化嵌入模型來優化從文檔中生成矢量嵌入的過程。例如,bge-small-en-v1.5-rag-int8-static 是一個使用英特爾 Neural Compressor進行量化的BAAI/BGE-small-en-v1.5版本,與Optimum-Intel兼容。按照Massive Text Embedding Benchmark (MTEB) 性能指標計算,使用量化模型進行檢索和重排序任務時,浮點(FP32)和量化INT8版本之間的差異小于2%,同時提高了吞吐量(見腳注1和3)。
在最近與Hugging Face合作進行的一項研究中,我們評估了以每秒文檔數為指標達到峰值編碼性能所需吞吐量。總體而言,無論模型大小,量化模型在各種批大小下均較基線bfloat16(BF16) 模型取得高達4倍的改進。
圖1. BGE-small吞吐量
矢量搜索優化
? 針對CPU優化的工作負載:在英特爾 至強 處理器上,矢量搜索操作得到了高度優化,特別是在第三代及以后的處理器中引入了英特爾 高級矢量擴展 512(Intel Advanced Vector Extensions 512,英特爾AVX-512)之后。英特爾 AVX-512利用融合乘加 (FMA) 指令,將乘法和加法合并為一個運算,從而增強了內積計算,這是矢量搜索中的一個基本運算。這一功能減少了計算所需的指令數量,顯著提高了吞吐量和性能。
? 可擴展矢量搜索 (SVS):可擴展矢量搜索(SVS)技術提供快速的矢量搜索能力,可助力優化檢索時間并提升整體系統性能。它通過使用局部自適應矢量量化(LVQ)來優化基于圖形的相似度搜索,在保持準確性的同時盡可能降低內存帶寬要求。其結果是顯著減少了距離計算時延,并在吞吐量和內存要求方面獲得了更好的表現(如下圖所示)。
圖2. SVS與其它被廣泛采用的實現方案(HNSWlib與Faiss-IVFPQfs)在每秒查詢數量(吞吐量)方面的性能對比。該圖展示了在rqa-768-10M-OOD數據集(由密集通道檢索模型 RocketQA[QDLL21]使用分布外查詢生成的1000萬個768維嵌入向量)上,QPS和召回率的關系曲線。(腳注2和3)
推理優化
RAG主要涉及推理運算,這一過程可由英特爾 至強 處理器通過先進的模型壓縮技術提供支持。這些技術支持在較低精度(BF16和INT8)下進行運算,并且不會造成明顯的性能損失。在本節中,我們將簡要介紹各種針對推理的優化和機會。
? 英特爾 高級矩陣擴展(Intel Advanced Matrix Extensions,英特爾 AMX):第四代和第五代英特爾 至強 可擴展處理器內置英特爾 AMX,能夠提高矩陣運算的效率并優化內存管理。
? 先進的開源推理優化工具:英特爾貢獻并擴展了主流深度學習框架,如PyTorch、TensorFlow、Hugging Face、DeepSpeed等。對于RAG工作流程,英特爾關注的是通過實施量化等模型壓縮技術來優化LLM的機會。英特爾 Extension for PyTorch目前提供多種先進的LLM化配方,如 SmoothQuant、僅權重量化和混合精度 (FP32/BF16)。下圖顯示了在雙路第五代英特爾 至強 平臺上運行的INT8量化Llama 2和GPT-J模型的推理時延。
圖3. 基于第五代英特爾 至強 可擴展處理器的Llama 2 13B和GPT-J 6B性能3
6RAG在企業中的應用機遇
零售
零售商面臨的挑戰是向客戶推薦符合其多樣化和不斷變化的偏好的產品。傳統的推薦系統可能無法有效地掌握最新趨勢或個體客戶反饋,導致建議不太貼合實際。
采用基于RAG的推薦系統使零售商能夠不斷整合最新趨勢和個體客戶反饋,從而得出更個性化的產品建議。該系統通過提供相關、及時和個性化的產品推薦來豐富購物體驗,進而助力提高銷量并提升客戶忠誠度。
制造業
在制造業中,設備故障導致的意外停機是一個重要的成本驅動因素。傳統的預測性維護模型可能會遺漏故障發生前出現的細微異常狀況,尤其是歷史故障數據有限或缺失的復雜設備的異常狀況。
用于預測性維護的基于RAG的異常檢測系統可以實時分析大量運行數據,并將其與豐富的設備性能知識庫進行比對,以在故障發生之前識別出可能存在的問題。這種方法在延長設備使用壽命的同時,盡可能減少了停機時間和維護成本。
金融服務
由于金融數據和法規不斷變化且數量龐大,大規模提供個性化的金融建議面臨重重挑戰。客戶期望能夠獲得快速、相關且個性化的金融建議,而傳統的聊天機器人無法始終準確提供這些建議。
RAG模型則能夠通過動態拉取最新的金融數據和法規來生成個性化的建議,顯著增強了金融建議聊天機器人的能力。聊天機器人可以利用龐大的知識庫,為客戶提供量身定制的投資策略、實時市場洞察和監管建議,從而提高客戶滿意度和參與度。
后續行動
英特爾提供一套資源來幫您開始執行實施方案,您可以通過英特爾 Tiber Developer Cloud 獲取硬件,也可以利用 Google Cloud Platform、Amazon Web Services和 Microsoft Azure等各大云服務平臺中無處不在的計算資源。對于需要代碼示例、演練、培訓等內容的開發人員,請訪問英特爾 開發人員專區。
更多英特爾至強為AI加速相關解決方案內容,歡迎點擊“閱讀原文”了解
1 性能聲明基于雙路英特爾 至強 鉑金 8480+處理器,每路56個內核。PyTorch 模型使用單路處理器上的56個內核進行評估。IPEX/Optimum設置使用 ipexrun、單路處理器和22至56個內核進行評估。TCMalloc在所有運行中都已安裝并定義為環境變量。
2 性能聲明基于雙路英特爾 至強 鉑金 8480L處理器,每路56個內核,每路配備512 GB DDR4內存,速度為4800 MT/s,運行Ubuntu 22.04.12。對于 deep-96-1B數據集,我們使用具有相同特性的服務器,唯一的區別是每路配備1 TB DDR4內存,速度為4400 MT/s。
3 實際性能受使用情況、配置和其他因素的差異影響。性能測試結果基于配置信息中顯示的日期進行的測試,且可能并未反映所有公開可用的安全更新。沒有任何產品或組件是絕對安全的。具體成本和結果可能不同。英特爾技術可能需要啟用硬件、軟件或激活服務。
-
英特爾
+關注
關注
61文章
10007瀏覽量
172335 -
軟硬件
+關注
關注
1文章
303瀏覽量
19267 -
LLM
+關注
關注
0文章
299瀏覽量
400
原文標題:看英特爾? 軟硬件如何助力加速RAG應用落地
文章出處:【微信號:英特爾中國,微信公眾號:英特爾中國】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論