太簡單了,開源模型+RAG就可以搭建自己的AI應用(基礎篇)
本來想寫在AI大模型中對于數據方面的挑戰,但是發現還是要找一個場景來鋪墊一下,正好去年做過一些大模型知識庫的內容,對于RAG方面還算了解一些,所以先來說一下關于大模型應用方面的東西吧,下一篇再來聊聊AI大模型場景中對于數據管理方面的機會。
先解釋一下什么是檢索增強生成技術(下文簡稱:RAG),對于日常我們所理解的大模型來說,他們具備的是模型本身能力(億級別參數+通用數據),但是在特定領域內的數據可能是無法獲取到的,例如公司內部的信息,在線集群故障信息等等這些對于大模型來說是外部數據,通過利用自定義的數據來提供大模型(LLM)在該領域內的效率,這就是RAG技術所需要實現的。
在RAG中需要維護最新信息或者訪問特定領域知識的內容來支持聊天機器人、知識問答系統。
那么,站在應用的角度來說,RAG已經成為了事實上的行業標準,將企業在該領域內的豐富數據作為LLM查詢的來源,檢索相關數據并應用在增強上下文中,RAG并不是僅僅依賴于從訓練數據中提取知識,而是檢索相關信息并將靜態的LLMs與實時的數據檢索連接起來。。
簡單來說,RAG就像給AI裝了個實時資料庫。企業不用完全依賴AI原有的知識庫,而是把自己積累的數據(比如產品資料、客戶案例)整理成專屬知識庫,當用戶提問時,AI會先從這個資料庫里快速查找相關內容,再把找到的信息和問題一起分析,這樣既保證回答的專業性,又能隨時更新最新數據,相當于給傳統AI插上了實時更新的外接硬盤。
上面說的可能比較抽象,我們從實際的角度來看,無非是解決了企業在構建自己AI應用中的三個問題:
問題一:大語言模型不知道你的數據是什么
不要太過于相信現有的大模型能力,你讓它回答一下,你們公司的社保繳納人數、你們部門的大數據節點規模數據、線上業務的日志監控情況,這些使用開源能力其實都達不到,大模型本質上就是使用深度學習模型并在大量數據集上進行訓練,才能理解+總結+生成最終結果,對于大部分的模型都是在公共數據上進行訓練的,當模型訓練完成之后,就無法在獲取到其訓練數據截止之后的數據信息了,所以,它會一直是一種靜態模型,因此,我們使用大模型貌似它可以回答所有問題,但無法回答距離我們最近的實際問題。
問題二:作為企業AI應用來說,需要使用定制化數據才能更有效
為了讓大語言模型(LLM)能夠理解并提供領域內的具體問題回答,就需要企業準備足夠多的領域內數據給到模型,這樣模型才能更好的理解這個領域,例如對于法律領域不同的案件信息,處理過程與結果,這些都是在各自的內部數據庫中維護的,如果要做一個自己的法律助手來說,就可以通過一個開源大模型+自己的數據預料來進行模型增強,其實現在大部分公司都是做的。
問題三:專業領域內開源大模型不一定很專業
這個其實和大數據關聯還是非常密切的,通過大數據相關技術可以有效的補充大模型的數據時效性,作為某一個領域的企業服務者,需要不斷的采集、處理、分析這些最新的數據信息,然后提供給大模型進行不斷的了解,這樣可以確保大模型的響應不僅僅是基于靜態、過去的訓練數據,而是使用最新的數據源來提供響應。
另外還有一種就是對于領域內的數據,要求是非常嚴格的,對于行家來說,回答問題的準確性怎么樣一看就知道了,如果作為企業應用來使用的話,對于模型的回答水平要求還是很高的,所以,要不斷的提供給它我們這個領域內的數據,提升它的精準度,才能慢慢的把模型打造為這個領域內的專家。
一個典型的RAG架構是什么樣子的?
下圖摘自Databricks中的自己構建的RAG架構
- 準備數據:收集文檔數據以及元數據,并進行初步預處理——例如,處理個人身份信息(檢測、過濾、刪除、替換),為了在 RAG 應用中使用,文檔需要根據嵌入模型的選擇和下游應用(使用這些文檔作為上下文的應用)進行分塊。
- 索引相關數據:生成文檔嵌入并使用這些數據填充向量搜索索引。
- 檢索相關數據:檢索與用戶查詢相關的數據部分,然后,這些文本數據作為提示的一部分提供給LLM。
- 構建 LLM 應用程序:將提示增強組件包裝并查詢 LLM 到端點。然后,可以通過簡單的 REST API 將此端點暴露給問答聊天機器人等應用程序。
那在說到企業級AI應用除了RAG還有其他辦法嗎? 畢竟也不是所有企業都有 大量數據來供大模型來訓練的,這個當然是有的,除了RAG之外,還有提示詞工程、微調、預訓練,加上RAG之后,這四者可以說都可以用來構建一個AI應用,也可以混搭著來用,下面的表格可以看到這四個對于構建應用來說有什么的區別:
最后還有一點就是關于數據層面,作為那么多年數據從業者,其實數據做起來簡單,但是能做好是非常難的,對于大模型來說也是同樣的道理,如果要做自己的企業AI應用的話,需要不斷“投喂”給模型數據,這些數據的質量怎么樣是直接影響到最后模型展示效果的。
那么從數據角度應該怎么樣保障數據高質量提供給模型呢?過去我們都說數據治理大部分都是在數據分析、挖掘的場景,最終效果來說,更多是數據完整度、數據準確性、數據關聯性這三個方面進行對齊,但是在AI模型上來說,數據量級會更大,大部分都是非結構化數據、對于數據過濾的要求會更加嚴格、還會要求數據的可解釋性,在全部就緒之后,還會涉及到數據標注處理,整個流程上基本是要重構一遍。
本文轉載自??DataForAI??,作者:易程Date
