:如今計算機系統(tǒng)承載的服務(wù)和算法邏輯日益復(fù)雜,理解、設(shè)計并改進計算機系統(tǒng)已成為核心挑戰(zhàn)。面對系統(tǒng)復(fù)雜度和規(guī)模的指數(shù)級增長,以及新的大模型驅(qū)動場景下的分布式系統(tǒng)形態(tài)的涌現(xiàn),人們亟需創(chuàng)新方法與技術(shù)來應(yīng)對。在計算機系統(tǒng)發(fā)展的新篇章里,現(xiàn)代系統(tǒng)應(yīng)當(dāng)是一個不斷自我進化的結(jié)果。機器學(xué)習(xí)和大模型的崛起使得現(xiàn)代計算機系統(tǒng)迎來了新的智能化機遇,即學(xué)習(xí)增強系統(tǒng)(learning-augmented systems)。微軟亞洲研究院創(chuàng)新地從兩個核心方向,來思考系統(tǒng)應(yīng)如何不斷自我學(xué)習(xí)和自我進化:“模塊化”機器學(xué)習(xí)模型,與“系統(tǒng)化”大模型的推理思維。目標(biāo)在于使得模型能夠?qū)R復(fù)雜多變的系統(tǒng)環(huán)境和需求,并且推理思維能夠?qū)R計算機系統(tǒng)時間和空間上的行為。相關(guān)論文 Autothrottle: A Practical Bi-Level Approach to Resource Management for SLO-Targeted Microservices 獲評 NSDI 2024 杰出論文獎。
隨著技術(shù)的不斷進步,計算機系統(tǒng)不僅承擔(dān)著人們生活中眾多服務(wù)的重任,還包含著許多復(fù)雜的算法邏輯。用戶需求的多樣化與場景的增加,也使得計算機系統(tǒng)的復(fù)雜性和規(guī)模持續(xù)增長。從搜索、購物、聊天到新聞推薦、串流媒體和人工智能服務(wù),這些系統(tǒng)的復(fù)雜性不只是龐大的代碼量,更體現(xiàn)在背后成百上千工程師在設(shè)計、開發(fā)及維護上所付出的巨大工作量。與此同時,新類型的場景(比如大模型驅(qū)動?co-pilots?和?AI agents)也帶來了新興的分布式系統(tǒng)形態(tài)。如何理解、設(shè)計并作出改進成為了現(xiàn)代計算機系統(tǒng)的核心挑戰(zhàn)。然而,系統(tǒng)復(fù)雜度和規(guī)模的指數(shù)級增長,使得這些挑戰(zhàn)已經(jīng)無法完全依賴人的直覺和經(jīng)驗去解決。

幸運的是,計算機科學(xué)的技術(shù)更新迭代為計算機系統(tǒng)帶來了新的機遇。其中,學(xué)習(xí)增強系統(tǒng)(learning-augmented systems)正逐漸成為以智能化來重塑計算機系統(tǒng)的新趨勢。學(xué)習(xí)增強系統(tǒng)通常采用三種不同的實現(xiàn)路徑:一是通過機器學(xué)習(xí)技術(shù)來輔助增強現(xiàn)有計算機系統(tǒng)中啟發(fā)式算法和決策規(guī)則的性能;二是利用機器學(xué)習(xí)技術(shù)對啟發(fā)式算法和決策規(guī)則進行優(yōu)化和重新設(shè)計;三是用機器學(xué)習(xí)模型取代原有的啟發(fā)式算法和決策規(guī)則,進而推動系統(tǒng)的全面智能化升級。
為此,微軟亞洲研究院的研究員們開展了一系列學(xué)習(xí)增強系統(tǒng)的工作。研究重點聚焦于兩個關(guān)鍵方面:第一,"模塊化"機器學(xué)習(xí)模型,與計算機系統(tǒng)行為進行對齊;第二,"系統(tǒng)化"大模型推理思維,賦予計算機系統(tǒng)自我進化的能力。
"模塊化"機器學(xué)習(xí)模型,與計算機系統(tǒng)行為對齊
機器學(xué)習(xí)擅長于從數(shù)據(jù)中提取規(guī)律和模式,并利用這些規(guī)律進行建模和數(shù)值優(yōu)化,以驅(qū)動預(yù)測和決策過程。現(xiàn)代計算機系統(tǒng)普遍具有完善的行為和性能監(jiān)測機制,因此可以作為模型訓(xùn)練的數(shù)據(jù)來源。在以往的研究中(Metis [1]和 AutoSys [2]),研究員們曾探討過如何利用機器學(xué)習(xí)技術(shù)優(yōu)化計算機系統(tǒng)中的系統(tǒng)參數(shù)。但實際經(jīng)驗證明,構(gòu)建學(xué)習(xí)增強系統(tǒng)不單單是應(yīng)用現(xiàn)有的機器學(xué)習(xí)算法,它還面臨著現(xiàn)代計算機系統(tǒng)與機器學(xué)習(xí)協(xié)同設(shè)計的關(guān)鍵研究挑戰(zhàn)。
具體而言,由于現(xiàn)代計算機系統(tǒng)具有高度的規(guī)模性(例如,有著上百個分布式微服務(wù)的集群)和動態(tài)性(例如,集群里的微服務(wù)可以被獨立開發(fā)、部署和擴容),在未來,利用強大的模型來學(xué)習(xí)整個系統(tǒng)是否還能成為一個可持續(xù)的方法?當(dāng)系統(tǒng)部署與環(huán)境發(fā)生變化(例如,系統(tǒng)擴容導(dǎo)致集群規(guī)模改變),機器學(xué)習(xí)模型對于任務(wù)之前的一些假設(shè)可能不再成立。因此,如果不重新訓(xùn)練模型,模型驅(qū)動決策的正確性就會受到影響。但現(xiàn)代計算機系統(tǒng)的高動態(tài)性和高復(fù)雜度,又會使得機器學(xué)習(xí)在持續(xù)學(xué)習(xí)復(fù)雜任務(wù)上仍面臨著昂貴的數(shù)據(jù)采集和資源開銷成本。
"模塊化"是將機器學(xué)習(xí)融入計算機系統(tǒng)基礎(chǔ)的一大關(guān)鍵。雖然現(xiàn)代計算機系統(tǒng)具有高度的規(guī)模性和復(fù)雜度,但它們實際上是由多個子組件或服務(wù)組合而成,其動態(tài)性也就有規(guī)律可循。以一個由多個微服務(wù)組成的云系統(tǒng)為例,如果更新了其中的一個微服務(wù),那么可能會影響到整個系統(tǒng)的端到端性能。但是,從系統(tǒng)架構(gòu)上來看,這種更新只是更改了某個獨立服務(wù)的編碼配置。同理,系統(tǒng)的擴容,即系統(tǒng)里的某個服務(wù)被獨立復(fù)制并部署了多份,也是如此。因此,如果機器學(xué)習(xí)模型也只需要相應(yīng)地修改變化部分,那相比于持續(xù)訓(xùn)練整個模型,就將大大地減少學(xué)習(xí)增強系統(tǒng)的維護成本。
研究員們提出的利用模塊化學(xué)習(xí)模擬端到端系統(tǒng)延遲的框架 Fluxion [3],是在學(xué)習(xí)增強系統(tǒng)中應(yīng)用模塊化學(xué)習(xí)(modularized learning)的第一步。在預(yù)測微服務(wù)系統(tǒng)延遲的任務(wù)上,隨著個別服務(wù)的持續(xù)擴容和部署,F(xiàn)luxion 顯著減低了延遲預(yù)測模型的維護成本。通過引入新的學(xué)習(xí)抽象,F(xiàn)luxion 允許對單個系統(tǒng)子組件進行獨立建模,并且通過操作可將多個子組件的模型組合成一個推理圖。推理圖的輸出即為系統(tǒng)的端到端延遲。此外,推理圖可以動態(tài)地被調(diào)整,進而與計算機系統(tǒng)的實際部署進行對齊。這一做法與直接對整個系統(tǒng)進行端到端延遲建模的方法有顯著區(qū)別。相關(guān)論文 On Modular Learning of Distributed Systems for Predicting End-to-End Latency 發(fā)表于?NSDI 2023。