獨(dú)家 | 生成式AI的設(shè)計(jì)模式:一份全面的指南

作者:Vincent Koc
翻譯:高翊之
校對(duì):陳超
本文約3000字,建議閱讀6分鐘
運(yùn)用大語(yǔ)言模型(LLM’s)的參考架構(gòu)模式和心智模型。

AI模式的需求
在創(chuàng)建新事物的時(shí)候,我們都會(huì)依賴(lài)經(jīng)過(guò)嘗試檢驗(yàn)的方法、途經(jīng)和模式。這個(gè)說(shuō)法適用于軟件工程領(lǐng)域,但對(duì)于生成式AI和人工智能來(lái)說(shuō)可能并非如此。對(duì)于像生成式AI等新興技術(shù),我們?nèi)狈Τ浞钟涗浀哪J絹?lái)支持我們的解決辦法。
在這里,基于我對(duì)大語(yǔ)言模型無(wú)數(shù)次生產(chǎn)實(shí)現(xiàn)的評(píng)估,我將分享一些生成式AI的方法和模式。這些模式是為了幫助緩解和克服生成式AI實(shí)現(xiàn)過(guò)程中的一些挑戰(zhàn),比如成本、延遲和“幻覺(jué)”。
模式名錄
1. 分層緩存策略帶來(lái)的模型微調(diào)
2. 專(zhuān)家小組——多路復(fù)用的AI代理
3. 多任務(wù)下的大語(yǔ)言模型微調(diào)
4. 規(guī)則導(dǎo)向與生成模型的融合
5. 利用知識(shí)圖譜的大語(yǔ)言模型
6. AI代理群
7. 可組合的模塊化大語(yǔ)言模型
8. 大語(yǔ)言模型的記憶認(rèn)知構(gòu)建
9. “紅藍(lán)”雙模型的協(xié)作評(píng)估
1) 分層緩存策略帶來(lái)的模型微調(diào)

這里為大語(yǔ)言模型引入緩存策略時(shí),我們是為解決成本、冗余和訓(xùn)練數(shù)據(jù)上的組合問(wèn)題。
通過(guò)緩存初始結(jié)果,系統(tǒng)可以在后續(xù)查詢(xún)中更迅速地給予回答,提高效率。當(dāng)我們有足夠數(shù)據(jù)后,微調(diào)層開(kāi)始發(fā)揮作用,運(yùn)用早期交互的反饋,優(yōu)化為更專(zhuān)用的模型。
這個(gè)專(zhuān)用的模型不僅精簡(jiǎn)了流程,而且將AI的專(zhuān)長(zhǎng)適應(yīng)于特定的任務(wù),使其在客戶(hù)服務(wù)和個(gè)性化內(nèi)容創(chuàng)造等這些精確度和適應(yīng)性至關(guān)重要的環(huán)境中更高效。
對(duì)于入門(mén)來(lái)說(shuō),可以使用GPTCache等預(yù)構(gòu)建的工具,或者利用Redis, Apache Cassandra, Memcached等常用緩存數(shù)據(jù)庫(kù)自己構(gòu)建。在添加額外服務(wù)的時(shí)候,確保要監(jiān)控和測(cè)量延時(shí)。
2) 專(zhuān)家小組——多路復(fù)用的AI代理

想象一個(gè)生態(tài)系統(tǒng),其中有多個(gè)專(zhuān)注于特定任務(wù)的生成式AI模型(“代理”)。每一個(gè)都是其領(lǐng)域內(nèi)的專(zhuān)家,并行工作來(lái)處理一次詢(xún)問(wèn)。這種多路復(fù)用的策略帶來(lái)了多樣化的響應(yīng),緊接著被整合以提供一個(gè)全面的答案。
這樣的設(shè)置最適合于解決復(fù)雜問(wèn)題,其中問(wèn)題的不同方面需要不同的專(zhuān)業(yè)知識(shí)。它就像是一個(gè)專(zhuān)家團(tuán)隊(duì),各自解決更大問(wèn)題的其中一個(gè)方面。
這個(gè)模式用一個(gè)更大的模型,如GPT-4,來(lái)理解語(yǔ)境。它將其拆分成特定的任務(wù)或信息請(qǐng)求,來(lái)傳遞給較小的代理。代理可以是較小的語(yǔ)言模型,如Phi-2或TinyLlama。它們被訓(xùn)練完成特定任務(wù),訪問(wèn)特定工具。代理也可以是如GPT, Llama等有著個(gè)性特征、語(yǔ)境提示詞和函數(shù)調(diào)用的通用模型。
3) 多任務(wù)下的大語(yǔ)言模型微調(diào)

這里我們同時(shí)對(duì)大語(yǔ)言模型進(jìn)行多任務(wù)而非單任務(wù)微調(diào)。這種方法促進(jìn)了跨領(lǐng)域間的知識(shí)技能穩(wěn)定遷移,增強(qiáng)了模型的通用性。
這種多任務(wù)學(xué)習(xí)對(duì)需要高能力勝任各種任務(wù)的平臺(tái)尤其有用,比如虛擬助手或AI賦能的研究工具。它可能有助于簡(jiǎn)化復(fù)雜領(lǐng)域內(nèi)訓(xùn)練、測(cè)試的工作流。
訓(xùn)練大語(yǔ)言模型的一些資源和包包括DeepSpeed, 以及Hugging Face上Transformer庫(kù)的訓(xùn)練功能。
4) 規(guī)則導(dǎo)向與生成模型的融合

一些現(xiàn)存的商業(yè)系統(tǒng)和組織應(yīng)用在一定程度上仍是基于規(guī)則的。通過(guò)融合生成特性與基于規(guī)則邏輯的結(jié)構(gòu)化精度,這種模式旨在提出具有創(chuàng)造性且符合規(guī)范的解決方案。
對(duì)于產(chǎn)出要嚴(yán)格遵循標(biāo)準(zhǔn)或規(guī)定的行業(yè)而言,這是一種強(qiáng)大的策略。它確保AI在理想?yún)?shù)范圍內(nèi)的同時(shí),仍能具有創(chuàng)造和吸引力。一個(gè)很好的例子是,它可以為基于規(guī)則的電話交互式語(yǔ)音應(yīng)答系統(tǒng)(IVR系統(tǒng))、或傳統(tǒng)聊天機(jī)器人(不基于大語(yǔ)言模型),生成用戶(hù)請(qǐng)求的回應(yīng)和信息流。
5) 利用知識(shí)圖譜的大語(yǔ)言模型

將知識(shí)圖譜融合到大語(yǔ)言模型給予了它們以事實(shí)為導(dǎo)向的“超能力”,使輸出不僅能感知上下文,而且更加符合事實(shí)。
這種方法在內(nèi)容需要無(wú)條件真實(shí)準(zhǔn)確的應(yīng)用中非常重要,比如說(shuō)教育內(nèi)容創(chuàng)作,醫(yī)療建議或是任何錯(cuò)誤信息會(huì)帶來(lái)嚴(yán)重后果的領(lǐng)域。
知識(shí)圖譜和圖本體論(圖的一組概念)將復(fù)雜的主題和組織問(wèn)題拆解成結(jié)構(gòu)化的格式,幫助大語(yǔ)言模型獲得深入的上下文。你也可以利用語(yǔ)言模型生成JSON或RDF格式的圖本體,這里是我為你們創(chuàng)建的示例提示。
可用于知識(shí)圖譜的工具包括圖形數(shù)據(jù)庫(kù),如ArangoDB、Amazon Neptune、Azure Cosmos DB和Neo4j。還有更廣泛的數(shù)據(jù)集和服務(wù)用以訪問(wèn)更廣泛知識(shí)圖譜的工具,包括Google Enterprise Knowledge Graph API、PyKEEN Datasets和Wikidata。
6) AI代理群

受自然界中蟲(chóng)群畜群的啟發(fā),這個(gè)模型運(yùn)用大量的AI代理共同解決問(wèn)題,每方貢獻(xiàn)獨(dú)特的視角。
最終聚合成的輸出結(jié)果反映了一種集體智慧的形式,超越了任何單個(gè)代理能達(dá)到的水平。在需要多樣的創(chuàng)造性解決方案、或是處理復(fù)雜數(shù)據(jù)集的時(shí)候,這種模式尤為有利。
應(yīng)用模型的例子可以是從多個(gè)“專(zhuān)家”視角來(lái)審閱一篇研究論文,或是一次性在多個(gè)用例中(從欺詐到報(bào)價(jià))評(píng)估客戶(hù)的互動(dòng)。我們使用這些代理,并整合輸出。對(duì)于大規(guī)模的群,你可以部署如Apache Kafka等信息服務(wù),來(lái)處理代理和服務(wù)間的消息傳遞。
7) 可組合的模塊化大語(yǔ)言模型

這個(gè)設(shè)計(jì)強(qiáng)調(diào)適應(yīng)性,采用模塊化的AI系統(tǒng),可以為了最優(yōu)任務(wù)表現(xiàn)進(jìn)行動(dòng)態(tài)重新配置。它就像有一把瑞士軍刀,其中每一個(gè)模件都可以依需選擇性地激活。這使得它在需要為不同顧客互動(dòng)和產(chǎn)品需求定制方案的企業(yè)中非常高效。
你可以部署各種自主代理框架和架構(gòu)來(lái)開(kāi)發(fā)每個(gè)代理及其工具。示例框架包括CrewAI、Langchain、Microsoft Autogen和SuperAGI。
對(duì)于一個(gè)銷(xiāo)售的模塊化整體,設(shè)置的代理可以分別專(zhuān)注于開(kāi)發(fā)潛在客戶(hù)、處理預(yù)訂、生成消息以及更新數(shù)據(jù)庫(kù)。如果專(zhuān)業(yè)的AI公司在未來(lái)提供了特定的服務(wù),你可以針對(duì)給定的一組任務(wù)或特定領(lǐng)域的問(wèn)題,用外部或第三方服務(wù)替換某個(gè)模塊。
8) 大語(yǔ)言模型的記憶認(rèn)知構(gòu)建

這種方法為AI引入了一個(gè)類(lèi)似人類(lèi)記憶的因素,使模型能夠回憶,并基于之前的交互構(gòu)建更精細(xì)的響應(yīng)。
它對(duì)于持續(xù)的對(duì)話或是學(xué)習(xí)情境很有幫助,因?yàn)锳I隨著時(shí)間深化理解,很像一位專(zhuān)注的私人助理或者適應(yīng)性的學(xué)習(xí)平臺(tái)。隨著時(shí)間推移,這種記憶認(rèn)知的方法可通過(guò)總結(jié)、存儲(chǔ)關(guān)鍵的事件以及討論發(fā)展成一個(gè)矢量數(shù)據(jù)庫(kù)。
為了控制總結(jié)的計(jì)算量,你可以權(quán)衡使用如spaCy等更小的NLP庫(kù),或在處理大量數(shù)據(jù)時(shí)使用BART語(yǔ)言模型。所用數(shù)據(jù)庫(kù)是基于矢量的,并運(yùn)用了相似性搜索來(lái)定位關(guān)鍵“事實(shí)”,以在提示詞階段檢索短期記憶。如果對(duì)一個(gè)可行的解決方案感興趣,可以看一個(gè)采取了相似模式的開(kāi)源解決方法MemGPT。
9)“紅藍(lán)”雙模型的協(xié)作評(píng)估

在“紅藍(lán)”雙模型的協(xié)作評(píng)估模型中,一個(gè)AI生成內(nèi)容,另一個(gè)AI對(duì)其進(jìn)行批判性評(píng)估,就像縝密的同行評(píng)審過(guò)程。這個(gè)雙模型的設(shè)定非常適用于質(zhì)量控制,使它在可行度和準(zhǔn)確性至關(guān)重要的內(nèi)容生成平臺(tái)中應(yīng)用廣泛,比如新聞聚合或教育材料制作。
這個(gè)方法可以用于將復(fù)雜任務(wù)中的部分人類(lèi)反饋替換為經(jīng)過(guò)精調(diào)的模型,用以模擬人工審查過(guò)程,并改進(jìn)評(píng)估復(fù)雜語(yǔ)言場(chǎng)景和輸出的結(jié)果。
總結(jié)
這些生成式AI的設(shè)計(jì)模式不僅僅是模板,而是未來(lái)智能系統(tǒng)發(fā)展的框架。隨著我們的繼續(xù)探索與創(chuàng)新,很明顯,我們選擇的架構(gòu)定義了創(chuàng)造出的AI的能力以及本質(zhì)。
這個(gè)清單絕不是最終版。隨著生成式AI模式和用例的擴(kuò)展,我們還會(huì)見(jiàn)證這個(gè)領(lǐng)域的發(fā)展。本文的靈感來(lái)源于Tomasz Tunguz發(fā)表的AI設(shè)計(jì)模式。
Generative AI Design Patterns: A Comprehensive Guide
譯者簡(jiǎn)介
高翊之,清華大學(xué)本科在讀,喜歡數(shù)據(jù)科學(xué)人工智能相關(guān)方向,日常熱愛(ài)運(yùn)動(dòng)與藝術(shù),期待在數(shù)據(jù)派的大家庭里盡一份綿薄之力,共同探索數(shù)據(jù)的廣泛應(yīng)用~
翻譯組招募信息
工作內(nèi)容:需要一顆細(xì)致的心,將選取好的外文文章翻譯成流暢的中文。如果你是數(shù)據(jù)科學(xué)/統(tǒng)計(jì)學(xué)/計(jì)算機(jī)類(lèi)的留學(xué)生,或在海外從事相關(guān)工作,或?qū)ψ约和庹Z(yǔ)水平有信心的朋友歡迎加入翻譯小組。
你能得到:定期的翻譯培訓(xùn)提高志愿者的翻譯水平,提高對(duì)于數(shù)據(jù)科學(xué)前沿的認(rèn)知,海外的朋友可以和國(guó)內(nèi)技術(shù)應(yīng)用發(fā)展保持聯(lián)系,THU數(shù)據(jù)派產(chǎn)學(xué)研的背景為志愿者帶來(lái)好的發(fā)展機(jī)遇。
其他福利:來(lái)自于名企的數(shù)據(jù)科學(xué)工作者,北大清華以及海外等名校學(xué)生他們都將成為你在翻譯小組的伙伴。
點(diǎn)擊文末“閱讀原文”加入數(shù)據(jù)派團(tuán)隊(duì)~
轉(zhuǎn)載須知
如需轉(zhuǎn)載,請(qǐng)?jiān)陂_(kāi)篇顯著位置注明作者和出處(轉(zhuǎn)自:數(shù)據(jù)派ID:DatapiTHU),并在文章結(jié)尾放置數(shù)據(jù)派醒目二維碼。有原創(chuàng)標(biāo)識(shí)文章,請(qǐng)發(fā)送【文章名稱(chēng)-待授權(quán)公眾號(hào)名稱(chēng)及ID】至聯(lián)系郵箱,申請(qǐng)白名單授權(quán)并按要求編輯。
發(fā)布后請(qǐng)將鏈接反饋至聯(lián)系郵箱(見(jiàn)下方)。未經(jīng)許可的轉(zhuǎn)載以及改編者,我們將依法追究其法律責(zé)任。
