大模型應(yīng)用的六種架構(gòu)模式,你知道幾種? 原創(chuàng)
架構(gòu)設(shè)計(jì)模式已成為程序員的重要技能。然而,當(dāng)我們轉(zhuǎn)向大模型應(yīng)用領(lǐng)域,情況可能會(huì)有所不同。面對新興技術(shù),比如:生成式 AI,我們尚缺乏成熟的設(shè)計(jì)模式來支撐這些解決方案。
根據(jù)多年的架構(gòu)設(shè)計(jì)經(jīng)驗(yàn),我在這里整理總結(jié)了一些針對大模型應(yīng)用的設(shè)計(jì)方法和架構(gòu)模式,試圖應(yīng)對和解決大模型應(yīng)用實(shí)現(xiàn)中的一些挑戰(zhàn),比如:成本問題、延遲問題以及生成的幻覺等問題。
1、路由分發(fā)架構(gòu)模式
當(dāng)用戶輸入一個(gè) Prompt 查詢時(shí),該查詢會(huì)被發(fā)送到路由轉(zhuǎn)發(fā)模塊,而路由轉(zhuǎn)發(fā)模塊則扮演著對輸入 Prompt 進(jìn)行分類的角色。
如果 Prompt 查詢是可以識別的,那么它會(huì)被路由到小模型進(jìn)行處理,這通常是一個(gè)更準(zhǔn)確、響應(yīng)更快且成本更低的操作。然而,如果 Prompt 查詢無法被識別,那么它將由大模型來處理。盡管大模型的運(yùn)行成本較高,但它能夠成功返回更多種類型查詢的答案。通過這種方式,大模型應(yīng)用產(chǎn)品可以在成本、性能和用戶體驗(yàn)之間實(shí)現(xiàn)平衡。
2、大模型代理架構(gòu)模式
在任何一個(gè)生態(tài)系統(tǒng)中,都會(huì)有多個(gè)針對特定任務(wù)領(lǐng)域的專家,并行工作以處理特定類型的查詢,然后將這些響應(yīng)整合在一起,形成一個(gè)全面的答案。
這樣的架構(gòu)模式非常適合復(fù)雜的問題解決場景,在這種場景中,問題的不同方面需要不同的專業(yè)知識,就像一個(gè)由專家組成的小組,每個(gè)專家負(fù)責(zé)處理更大問題的一個(gè)方面。
更大的模型(比如:GPT-4)負(fù)責(zé)理解上下文,并將其分解為特定的任務(wù)或信息請求,這些任務(wù)或信息請求被傳遞給更小的代理模型。這些代理模型可能是較小模型,它們已經(jīng)接受過特定任務(wù)的訓(xùn)練,或者是具有特定功能的通用模型,比如:BERT、Llama-2、上下文提示和函數(shù)調(diào)用。
3、基于緩存的微調(diào)架構(gòu)模式
我們將緩存和微調(diào)引入到大模型應(yīng)用架構(gòu)中,可以解決成本高、推理速度慢以及幻覺等組合問題。
通過緩存初始結(jié)果,能夠在后續(xù)查詢中迅速提供答案,從而顯著提高了效率。
當(dāng)我們累積了足夠的數(shù)據(jù)后,微調(diào)層將啟動(dòng),利用早期交互的反饋,進(jìn)一步完善一個(gè)更為專業(yè)化的私有大模型。
專有私有大模型不僅簡化了操作流程,也使專業(yè)知識更好地適應(yīng)特定任務(wù),使其在需要高度精確性和適應(yīng)性的環(huán)境中,比如:客戶服務(wù)或個(gè)性化內(nèi)容創(chuàng)建,表現(xiàn)得更為高效。
對于剛?cè)腴T的用戶,可以選擇使用預(yù)先構(gòu)建的服務(wù),比如:GPTCache,或者使用常見的緩存數(shù)據(jù)庫:Redis、Cassandra、Memcached 來運(yùn)行自己的服務(wù)。
4、面向目標(biāo)的 Agent 架構(gòu)模式
對于用戶的 Prompt 提示詞,Agent 會(huì)基于大模型先做規(guī)劃(Planning),拆解成若干子任務(wù),然后對每個(gè)子任務(wù)分別執(zhí)行(Action),同時(shí)對每一步的執(zhí)行結(jié)果進(jìn)行觀測(Observation),如果觀測結(jié)果合格,就直接返回給用戶最終答案,如果觀測結(jié)果不合格或者執(zhí)行出錯(cuò),會(huì)重新進(jìn)行規(guī)劃(Replanning)。
這種面向目標(biāo)的 Agent 架構(gòu)模式非常常見,也是 AGI 大模型時(shí)代,每一個(gè)程序員同學(xué)都需要掌握的架構(gòu)設(shè)計(jì)模式。
5、Agent 智能體組合架構(gòu)模式
該架構(gòu)設(shè)計(jì)模式強(qiáng)調(diào)了靈活性,通過模塊化 AI 系統(tǒng),能自我重新配置以優(yōu)化任務(wù)性能。這就像一個(gè)多功能工具,可以根據(jù)需求選擇和激活不同的功能模塊,對于需要為各種客戶需求或產(chǎn)品需求定制解決方案的企業(yè)來說,這是非常有效的。
我們可以通過使用各種自主代理框架和體系結(jié)構(gòu)來開發(fā)每個(gè) Agent 智能體,比如:CrewAI、Langchain、LLamaIndex、Microsoft Autogen 和 superAGI等。
通過組合不同的模塊,一個(gè) Agent 可以專注于預(yù)測,一個(gè)處理預(yù)約查詢,一個(gè)專注于生成消息,一個(gè) Agent 來更新數(shù)據(jù)庫。將來,隨著專業(yè) AI 公司提供的特定服務(wù)的增多,我們可以將一個(gè)模塊替換為外部或第三方服務(wù),以處理特定的任務(wù)或領(lǐng)域的問題。
6、雙重安全架構(gòu)設(shè)計(jì)模式
圍繞大模型的核心安全性至少包含兩個(gè)關(guān)鍵組件:一是用戶組件,我們將其稱為用戶 Proxy 代理;二是防火墻,它為大模型提供了保護(hù)層。
用戶 Proxy 代理在查詢發(fā)出和返回的過程中對用戶的 Prompt 查詢進(jìn)行攔截。該代理負(fù)責(zé)清除個(gè)人身份信息和知識產(chǎn)權(quán)信息,記錄查詢的內(nèi)容,并優(yōu)化成本。
防火墻則保護(hù)大模型及其所使用的基礎(chǔ)設(shè)施。盡管我們對人們?nèi)绾尾倏v大模型以揭示其潛在的訓(xùn)練數(shù)據(jù)、潛在功能以及當(dāng)今惡意行為知之甚少,但我們知道這些強(qiáng)大的大模型是脆弱的。
在安全性相關(guān)的技術(shù)棧中,可能還存在其他安全層,但對于用戶的查詢路徑來說,Proxy 代理和防火墻是最關(guān)鍵的。
本文轉(zhuǎn)載自公眾號玄姐聊AGI 作者:玄姐
原文鏈接:??https://mp.weixin.qq.com/s/RfjImOfo2AO5YELJ3Cki7A??
