【編者按】大模型的快速發(fā)展催生了智能體系統(tǒng)(agentic system),為人類打開了語義處理的大門,徹底改變了人類與計算機的交互方式。而以大模型為關(guān)鍵組件的智能體系統(tǒng),集成了傳統(tǒng)編程語言編寫的源代碼,使相關(guān)研究變得復(fù)雜且充滿新的挑戰(zhàn)。
近年來,微軟亞洲研究院首席研發(fā)經(jīng)理楊玉慶及其團隊致力于大模型智能體系統(tǒng)的研究與優(yōu)化。在本文中,楊玉慶將分享他對提升大模型智能體系統(tǒng)效率和性能的關(guān)鍵方向的見解,以及對其未來廣泛應(yīng)用的展望。
作者 | 楊玉慶,微軟亞洲研究院首席研發(fā)經(jīng)理
出品丨AI 科技大本營(ID:rgznai100)
“大模型的快速發(fā)展,驅(qū)動了全新軟件系統(tǒng)——智能體系統(tǒng)的誕生。由于其混合架構(gòu)所帶來的高度互聯(lián)與動態(tài)的特性,我們需要關(guān)注智能體系統(tǒng)的整體設(shè)計與運行,從不同方向提升效率、可靠性和適應(yīng)性,充分釋放智能體系統(tǒng)的巨大潛力?!?/p>
——楊玉慶
微軟亞洲研究院首席研發(fā)經(jīng)理
大模型的發(fā)展已成為推動軟件形態(tài)巨變的關(guān)鍵因素之一,它正在催生一種全新的軟件形態(tài),即目前我們所理解的智能體(AI agent)或智能體系統(tǒng)(agentic system)。
不難想象,智能體系統(tǒng)將會是大模型應(yīng)用的普遍形式。它的性能表現(xiàn)和使用成本,對于大模型所能惠及的范圍具有決定性作用。因此,我們嘗試以這樣一種思路來優(yōu)化智能體系統(tǒng):將其視為一個“數(shù)據(jù)加工”流程,并嘗試在不同環(huán)節(jié)為工作量做減法。換言之,我們在設(shè)法提升單位算力的智能輸出,增加系統(tǒng)的智能“密度”。

從大模型快速發(fā)展中誕生的智能體系統(tǒng)
人工智能領(lǐng)域的突破性進展,尤其是大模型的出現(xiàn),被認為“與微處理器、個人電腦、互聯(lián)網(wǎng)和手機的發(fā)明同等重要”。隨著各種大模型的涌現(xiàn),我們見證了由大模型驅(qū)動的創(chuàng)新性軟件系統(tǒng)的誕生。與傳統(tǒng)軟件相比,這類系統(tǒng)有兩個顛覆性特點:
首先,大模型及其驅(qū)動的新型軟件系統(tǒng),使可處理的數(shù)據(jù)體量呈爆炸式增長。傳統(tǒng)編程語言和工具只能在語法層面處理數(shù)據(jù),操作的是原始的比特和字節(jié),無法理解數(shù)據(jù)中所包含的內(nèi)容或意義。大規(guī)?;A(chǔ)模型改變了這一傳統(tǒng)范式,能夠理解和生成人類語言,解釋圖像含義,甚至實現(xiàn)跨模態(tài)的信息連接。這種處理和推理語義信息的能力,極大地改變了我們與數(shù)字系統(tǒng)的交互方式和任務(wù)類型。
其次,大模型及其催生的軟件系統(tǒng)讓使用者能夠直接指定任務(wù),無需像以前那樣逐步說明如何完成任務(wù)。這降低了使用者的專業(yè)能力門檻。使用者只需清楚定義任務(wù)結(jié)果即可,至于如何完成則交由系統(tǒng)進行處理。
大模型的這些特點來自于兩個關(guān)鍵能力:一是“推理與規(guī)劃能力”,讓大模型能夠?qū)?fù)雜任務(wù)進行推理,將其分解為可執(zhí)行的步驟,并規(guī)劃行動順序,進一步體現(xiàn)大模型在調(diào)用工具和與環(huán)境互動時的能力;二是“世界知識”,即通過訓(xùn)練吸收海量數(shù)據(jù),覆蓋廣泛的人類知識。這兩種能力的結(jié)合,促使大模型在協(xié)助人類方面實現(xiàn)了重大突破。
我們將這種新型的軟件系統(tǒng)稱為“智能體系統(tǒng)”,這一定義可以泛指所有涉及大模型的軟件系統(tǒng)。智能體系統(tǒng)的核心特征在于“混合架構(gòu)”——結(jié)合了傳統(tǒng)編程語言編寫的源代碼和為大模型量身定制的指令(即“提示詞”,prompts)。這種混合架構(gòu)賦予了智能體系統(tǒng)從簡單自動化到復(fù)雜問題解決的廣泛適用性,成為軟件領(lǐng)域的重要創(chuàng)新方向。

三個方向提升智能體系統(tǒng)的效率
在智能體系統(tǒng)的混合架構(gòu)中,大模型作為核心組成部分,處于更大的生態(tài)系統(tǒng)中,與其他程序、環(huán)境,甚至其他模型請求緊密相聯(lián)。通常,它會嵌入到一個復(fù)雜的工作流中,與傳統(tǒng)軟件組件交互,或與周圍環(huán)境進行通信。智能體系統(tǒng)有時還可能涉及多個模型的協(xié)作,形成動態(tài)且相互依賴的系統(tǒng)。
正是由于這種高度互聯(lián)且動態(tài)的特性,若想充分釋放智能體系統(tǒng)的潛力,我們需要關(guān)注其整體設(shè)計與運行,而非僅僅是大模型本身,進而使整個系統(tǒng)能夠以更高效率、更強可靠性和更好適應(yīng)性完成復(fù)雜的現(xiàn)實任務(wù)。

圖1:大語言模型的記憶層級
基于這樣的認識,我們從智能體系統(tǒng)的“數(shù)據(jù)加工”流程入手,根據(jù)數(shù)據(jù)流動和相互關(guān)系,從三個方向探索了提升效率、可靠性和適應(yīng)性的方法。
首先,研究面向大語言模型的編程,即如何高效組織和優(yōu)化大模型的輸入,使其能夠準確實現(xiàn)開發(fā)者的意圖。我們特別關(guān)注外部數(shù)據(jù)的動態(tài)注入以及長上下文處理能力的提升,以增強模型的推理深度,提高計算效率。其次,探索如何驗證大模型的輸出。我們提出了語義驗證這一關(guān)鍵概念,并且已經(jīng)在數(shù)據(jù)科學(xué)領(lǐng)域構(gòu)建了一套系統(tǒng)化的驗證框架。目前,我們正在將驗證從離線擴展到運行時,并進一步研究如何讓模型從驗證結(jié)果中學(xué)習(xí),形成閉環(huán)優(yōu)化機制。最后,構(gòu)建智能體系統(tǒng)原生的服務(wù)系統(tǒng)。我們將整個智能體系統(tǒng)視作最優(yōu)級的核心架構(gòu)進行設(shè)計,通過端到端的任務(wù)編排和優(yōu)化框架,全面提升系統(tǒng)的性能和資源利用效率。
面向大語言模型的編程(Programming with LLMs)
大語言模型的響應(yīng)質(zhì)量很大程度上取決于其接收的輸入,即“提示詞”。最近的研究表明,提示詞的“內(nèi)容”和“形式”會顯著影響大語言模型的輸出質(zhì)量。雖然很多使用者對自然語義的交互方式已經(jīng)十分熟悉,但撰寫有效的提示詞往往比預(yù)期的更加困難,需要大量試驗和反復(fù)調(diào)整。
為了幫助開發(fā)者更輕松地設(shè)計有效的提示詞,微軟亞洲研究院開發(fā)了自動提示優(yōu)化工具(Auto Prompt Optimization,APO)和提示壓縮工具(prompt compression)等工具與方法。我們希望借助這些方法能夠減輕開發(fā)者設(shè)計提示詞的負擔,更重要的是讓大模型總能接收到精確且“友好”的數(shù)據(jù)。
具體而言,,以高效壓縮提示詞,在大幅加速大語言模型推理的同時保持模型的推理性能。通過動態(tài)分配壓縮比和迭代壓縮,LLMLingua 能夠在不同壓縮比下保持語義的完整性,為大語言模型的應(yīng)用提供更高效且經(jīng)濟的解決方案。該框架利用困惑度(perplexity)來評估每個詞或句子的信息量,保留對模型推理最為關(guān)鍵的部分,并通過動態(tài)選擇和壓縮提示詞中的關(guān)鍵部分,減少數(shù)據(jù)冗余,使提示詞更具結(jié)構(gòu)化。在數(shù)據(jù)密集型任務(wù)中,LLMLingua 的優(yōu)勢尤為明顯。通過多個數(shù)據(jù)集的測試,LLMLingua 不僅實現(xiàn)了高達20倍的壓縮比,還保持了優(yōu)異的性能,顯著降低了推理成本。
除了提示詞內(nèi)容的設(shè)計,“外部數(shù)據(jù)的注入”也是提升模型性能的重要手段。但選擇最相關(guān)和最有用的數(shù)據(jù)并將其融入提示詞并非易事,需要對任務(wù)需求和模型行為有深入的理解和精細的設(shè)計。當涉及“非純文本數(shù)據(jù)”時,挑戰(zhàn)便更加復(fù)雜。
對此,我們提出了一種“”,將用戶對外部數(shù)據(jù)查詢的需求類型分為四個級別,并分析其難點和適用的技術(shù)手段:
Level-1 顯性事實查詢(explicit fact queries):指那些可直接從數(shù)據(jù)中提取明確存在的事實,無需額外推理。此時只需使用基礎(chǔ)的 RAG 方法,通過檢索增強來定位和提取信息。
Level-2 隱性事實查詢(implicit fact queries):需要從數(shù)據(jù)中揭示隱含的事實,可能涉及常識推理或簡單的邏輯推斷。此時可能需要多步檢索,或基于圖/樹的檢索,甚至將自然語言問題轉(zhuǎn)換為 SQL 查詢,以從結(jié)構(gòu)化數(shù)據(jù)中檢索信息。
Level-3 可解釋推理查詢(interpretable rationale queries):要求模型理解并應(yīng)用與數(shù)據(jù)背景密切相關(guān)的領(lǐng)域特定推理依據(jù)。我們需要將外部邏輯關(guān)系輸入大模型并確保其遵循這些邏輯來生成回應(yīng)。
Level-4 隱式推理查詢(hidden rationale queries):這種情況下模型沒有明確的推理依據(jù)記錄,需要通過分析歷史數(shù)據(jù)中的模式和結(jié)果來推斷。此時,我們需要讓模型通過離線學(xué)習(xí)從數(shù)據(jù)中提取規(guī)則和原則,并進行上下文學(xué)習(xí),以及利用監(jiān)督學(xué)習(xí)將領(lǐng)域特定知識整合到模型中。

圖2:數(shù)據(jù)增強型大語言模型應(yīng)用中不同查詢層級的主要技術(shù)總結(jié)
目前該 RAG 任務(wù)分類法已經(jīng)在與專業(yè)醫(yī)療機構(gòu)的合作中有所應(yīng)用,使智能體的行為邏輯和性能展現(xiàn)出明顯的優(yōu)勢。我們相信這項研究可以幫助大模型更好地整合專有領(lǐng)域知識,在特定領(lǐng)域發(fā)揮更前沿的能力。
最后是關(guān)于長上下文的優(yōu)化。實踐證明,將整個文檔交給大模型處理,大模型不僅能夠?qū)?nèi)容理解的更加全面準確,還可以在很大程度上降低軟件系統(tǒng)的復(fù)雜度、縮短開發(fā)調(diào)試周期。然而巨大的計算資源開銷是長文本處理繞不開的瓶頸,制約了長文本模型的廣泛應(yīng)用。微軟亞洲研究院正在開發(fā)創(chuàng)新的算法、架構(gòu)和系統(tǒng),以實現(xiàn)對大規(guī)模模型中長上下文處理的高效管理,進而提升單位算力的智能輸出。過去一段時間,我們采用了算法和系統(tǒng)協(xié)同創(chuàng)新的研究方法,并且收獲了超出預(yù)期的成果。
在算法層面,我們提出了針對長上下文注意力機制的動態(tài)稀疏注意力算法(dynamic sparse attention),并用于 推理加速算法。MInference 的核心在于利用長上下文中注意力機制的動態(tài)稀疏性,通過離線確定每個注意力的最佳稀疏模式,而且在推理過程中動態(tài)構(gòu)建稀疏索引,利用優(yōu)化的 GPU 內(nèi)核執(zhí)行高效稀疏注意力計算。這種方法能夠?qū)慰?A100 GPU 上的預(yù)填充延遲降低多達10倍,同時在多種任務(wù)和模型上保持與全注意力相當甚至更優(yōu)的精度。
動態(tài)稀疏注意力也被用于 RetrievalAttention——一種加速長文本語言模型推理速度的創(chuàng)新方法。該方法將大部分鍵值向量卸載到 CPU 內(nèi)存,并通過向量搜索實現(xiàn)動態(tài)稀疏注意力機制,選擇性地只計算那些“重要”元素之間的關(guān)系,在保證準確性的同時顯著降低計算成本和 GPU 內(nèi)存占用。實驗證明,RetrievalAttention 能使一個包含80億參數(shù)、128K標記的模型在單個24GB的 NVIDIA 4080 GPU 上運行。相關(guān)工作獲得了 NeurIPS ENSLP 2024 最佳論文獎。
在系統(tǒng)層面,我們進行了 GPU Kernel 的優(yōu)化。常規(guī)的 GPU 計算假設(shè)每個數(shù)據(jù)塊是連續(xù)且同質(zhì)的,但在處理動態(tài)稀疏數(shù)據(jù)時,這種假設(shè)不再成立。于是我們引入了平移不變性——通過重新排序稀疏數(shù)據(jù),使數(shù)據(jù)塊在計算時更加連續(xù),且不改變數(shù)據(jù)本身,只是調(diào)整了它們在內(nèi)存中的位置,從而大大提高了計算效率。
驗證大模型的輸出
確保大模型輸出的質(zhì)量,尤其是語義的正確性,是提升智能體系統(tǒng)可靠性的關(guān)鍵。我們以大模型在數(shù)據(jù)科學(xué)智能體(data science agent)場景中的應(yīng)用為突破點,深入探索了語義檢驗的共性問題。數(shù)據(jù)科學(xué)智能體涉及數(shù)據(jù)預(yù)處理、統(tǒng)計分析、機器學(xué)習(xí)模型開發(fā)以及多模態(tài)數(shù)據(jù)可視化等任務(wù)。這些任務(wù)不僅需要技術(shù)上的準確性,還要求與用戶意圖在語義上保持一致。
為了評估數(shù)據(jù)科學(xué)智能體在不同任務(wù)中的表現(xiàn),我們從“數(shù)據(jù)”和“框架”兩個層面入手,構(gòu)建了 “DSEval” 和 “” 兩個綜合性基準(benchmark)。DSEval 專注于數(shù)據(jù)科學(xué)智能體的全生命周期評估,涵蓋數(shù)據(jù)預(yù)處理、分析推理和機器學(xué)習(xí)模型開發(fā)等任務(wù),可以評估輸出結(jié)果的正確性,并且還關(guān)注可能出現(xiàn)的副作用,能更全面地反映智能體系統(tǒng)在復(fù)雜任務(wù)中的表現(xiàn)。VisEval 則針對自然語言到數(shù)據(jù)可視化(NL2VIS)的任務(wù),通過采用有效性、合法性和可讀性等多維度的評估方法,系統(tǒng)地驗證智能體生成的可視化結(jié)果是否符合語義要求。
在構(gòu)建這些基準的過程中,我們開發(fā)了“領(lǐng)域特定語言(DSEAL)”和一套內(nèi)置的“校驗原語(validation primitives)”,以系統(tǒng)化地評估數(shù)據(jù)科學(xué)智能體的全生命周期。例如,DSEval 中的校驗原語用于驗證副作用,確保智能體不會意外修改原始數(shù)據(jù);VisEval 中定義了多維度的評估指標,能全面衡量可視化結(jié)果質(zhì)量。這些校驗原語從多個角度對智能體系統(tǒng)的輸出進行語義驗證,確保結(jié)果在技術(shù)正確的同時也能滿足用戶意圖。
在性能評估之外,我們也在積極探索“離線評估向在線(運行時)檢驗”的轉(zhuǎn)變。在我們的最新工作 中,實時運行的驗證器(verifier)不僅能夠給當前的動作打分,還能夠指導(dǎo)移動設(shè)備上的智能體尋找到完成任務(wù)的最優(yōu)路徑。憑借其全新的“驗證器驅(qū)動”架構(gòu),V-Droid 不僅刷新了移動設(shè)備上任務(wù)自動化的任務(wù)完成率記錄,同時在決策響應(yīng)速度上也實現(xiàn)了接近實時的表現(xiàn),為移動端自動化控制開辟了全新局面。

圖3:V-Droid 全新驗證器驅(qū)動架構(gòu)
無論是數(shù)據(jù)科學(xué)場景還是移動設(shè)備任務(wù)自動化場景,高質(zhì)量的標注數(shù)據(jù)都極為稀缺,所以我們也特別注重數(shù)據(jù)集生成的可擴展性和效率。我們在多個項目中都成功引入了人機聯(lián)合的“自舉式標注(bootstrapped annotation)”方法,極大地減少了人工投入,提升了數(shù)據(jù)的規(guī)模和覆蓋范圍。例如,在 V-Droid 中,系統(tǒng)初始階段由人工作業(yè)完成標注,隨后利用經(jīng)過初步訓(xùn)練的驗證器自動生成操作標注,再由人工審核、修正。隨著迭代訓(xùn)練的進行,驗證器的準確性不斷提升,人工介入比例逐漸下降,進而高效構(gòu)建起一個涵蓋上萬條任務(wù)軌跡的數(shù)據(jù)集,為后續(xù)的大規(guī)模訓(xùn)練提供了堅實基礎(chǔ)。
通過高質(zhì)量的數(shù)據(jù)構(gòu)建和強化學(xué)習(xí),我們正在實現(xiàn)“讓模型從檢驗結(jié)果中學(xué)習(xí)”。當前,檢驗過程主要作為診斷工具,用于識別模型輸出中的錯誤或局限性,但檢驗結(jié)果通常不能反饋到模型中促進其改進。我們的目標是將檢驗結(jié)果融入模型的學(xué)習(xí)過程,形成閉環(huán)。這將有望打造出能夠自我改進的智能體,使其隨時間推移更好地適應(yīng)用戶偏好和任務(wù)需求,提升語義理解和任務(wù)表現(xiàn)。
構(gòu)建智能體原生服務(wù)系統(tǒng)
當前,大多數(shù)基于大模型的應(yīng)用都依賴于公共大語言模型服務(wù),然而這些公共服務(wù)只能觀察到大量的單獨請求,無法了解應(yīng)用級信息。例如,它們無法判斷哪些請求屬于同一應(yīng)用,不同請求之間如何連接,或是否存在相似性。這種信息缺失使得公共服務(wù)只能盲目優(yōu)化單個請求的性能,導(dǎo)致應(yīng)用整體在端到端之間產(chǎn)生一系列性能次優(yōu)問題,如網(wǎng)絡(luò)延遲、排隊等額外開銷,出現(xiàn)優(yōu)化調(diào)度錯位,以及重復(fù)提供常見的前綴提示,造成計算、存儲等資源的巨大浪費。
我們設(shè)想打造一種能將請求間的各種關(guān)系“傳達”至服務(wù)后端的方法,即智能體原生服務(wù)系統(tǒng)(agent-native serving systems)。在這個方法中,優(yōu)化對象從單個請求轉(zhuǎn)變?yōu)檎麄€智能體系統(tǒng),系統(tǒng)成為被優(yōu)化的核心架構(gòu)?;谶@一思路,我們開發(fā)了 。Parrot 引入了“語義變量(semantic variable)”這一核心抽象,用于標注請求提示中的輸入/輸出變量,并構(gòu)建請求之間的數(shù)據(jù)管道,從而將應(yīng)用級知識呈現(xiàn)給公共大語言模型服務(wù)。
“語義變量”是請求提示中的一個文本區(qū)域,具有特定的語義目的,如任務(wù)指令、輸入或輸出。通過分析語義變量,Parrot 可以構(gòu)建請求之間的依賴關(guān)系圖(DAG),并通過分析 DAG 和最終輸出的性能目標,推導(dǎo)出每個請求的調(diào)度偏好來優(yōu)化調(diào)度。不僅如此,Parrot 還能通過分析提示結(jié)構(gòu),快速監(jiān)測多個請求之間的公共前綴,減少冗余計算。
這些特征使 Parrot 能夠大幅優(yōu)化智能體系統(tǒng)端到端的性能。以多智能體編程任務(wù)為例,Parrot 通過識別任務(wù)組并優(yōu)化調(diào)度策略,實現(xiàn)了高達11.7倍的性能提升。Parrot 的設(shè)計為未來構(gòu)建原生的智能體系統(tǒng)服務(wù)提供了一種新的視角與啟發(fā)。

圖4:Parrot 系統(tǒng)概覽

復(fù)合型團隊的跨領(lǐng)域協(xié)作推動智能體系統(tǒng)發(fā)展
在智能體系統(tǒng)的研究與優(yōu)化中,我們深刻認識到,由于其“混合架構(gòu)”的特征,僅從某一方向進行優(yōu)化的作用始終是有限的。智能體系統(tǒng)的優(yōu)化需要系統(tǒng)與算法的協(xié)同創(chuàng)新,而這離不開跨領(lǐng)域的復(fù)合型團隊的貢獻與努力。
在微軟亞洲研究院,我們有幸匯聚了一支由多領(lǐng)域人才構(gòu)成的團隊。這種跨領(lǐng)域的團隊協(xié)作模式為我們帶來了巨大的優(yōu)勢。例如,在推進前文所述的算法與系統(tǒng)協(xié)同創(chuàng)新的過程中,系統(tǒng)專家與算法專家的緊密合作發(fā)揮了關(guān)鍵作用。
此外,我們所采用的“網(wǎng)狀”團隊合作模式極大地促進了創(chuàng)新與思維的碰撞。在這種模式下,具備不同專長的人才能夠在高頻次、緊密的合作中相互啟發(fā),擴大彼此視野,讓我們更容易從全局角度探索智能體系統(tǒng)優(yōu)化的突破口。
微軟亞洲研究院正在多角度開展針對大模型效率的研究,涵蓋,到系統(tǒng)架構(gòu)層對大模型性能的優(yōu)化,以及針對基礎(chǔ)模型和系統(tǒng)底層的研究——例如,微軟亞洲研究院開發(fā)的 和 ,進一步探索了模型本身的能力與效率邊界。這些研究方向相輔相成,從不同方向?qū)χ悄荏w系統(tǒng)形成“向心”優(yōu)化,為智能體系統(tǒng)在復(fù)雜現(xiàn)實任務(wù)中的廣泛應(yīng)用奠定了堅實基礎(chǔ)。
對于智能體系統(tǒng)這一源自人工智能發(fā)展的產(chǎn)物,智能水平固然重要,但如何以更低的成本和更少的資源獲得更大產(chǎn)出,造福于更多人,才是其創(chuàng)造社會價值的關(guān)鍵所在。隨著創(chuàng)新方法論的推進和驗證,我們相信智能體系統(tǒng)普惠大眾的一天并不遙遠。
本文作者
楊玉慶博士現(xiàn)任微軟亞洲研究院首席研發(fā)經(jīng)理,帶領(lǐng)微軟亞洲研究院(上海)系統(tǒng)與工程組專注于大模型系統(tǒng)和多模態(tài)系統(tǒng)的研究。他的研究興趣包括大模型的高效計算和智能體系統(tǒng)的頂層設(shè)計等。相關(guān)研究成果多次發(fā)表于 OSDI、SOSP、EuroSys、ATC、CVPR、ICCV、NeurIPS 等國際頂級會議。
熱門跟貼