:如今計(jì)算機(jī)系統(tǒng)承載的服務(wù)和算法邏輯日益復(fù)雜,理解、設(shè)計(jì)并改進(jìn)計(jì)算機(jī)系統(tǒng)已成為核心挑戰(zhàn)。面對系統(tǒng)復(fù)雜度和規(guī)模的指數(shù)級增長,以及新的大模型驅(qū)動(dòng)場景下的分布式系統(tǒng)形態(tài)的涌現(xiàn),人們亟需創(chuàng)新方法與技術(shù)來應(yīng)對。在計(jì)算機(jī)系統(tǒng)發(fā)展的新篇章里,現(xiàn)代系統(tǒng)應(yīng)當(dāng)是一個(gè)不斷自我進(jìn)化的結(jié)果。機(jī)器學(xué)習(xí)和大模型的崛起使得現(xiàn)代計(jì)算機(jī)系統(tǒng)迎來了新的智能化機(jī)遇,即學(xué)習(xí)增強(qiáng)系統(tǒng)(learning-augmented systems)。微軟亞洲研究院創(chuàng)新地從兩個(gè)核心方向,來思考系統(tǒng)應(yīng)如何不斷自我學(xué)習(xí)和自我進(jìn)化:“模塊化”機(jī)器學(xué)習(xí)模型,與“系統(tǒng)化”大模型的推理思維。目標(biāo)在于使得模型能夠?qū)R復(fù)雜多變的系統(tǒng)環(huán)境和需求,并且推理思維能夠?qū)R計(jì)算機(jī)系統(tǒng)時(shí)間和空間上的行為。相關(guān)論文 Autothrottle: A Practical Bi-Level Approach to Resource Management for SLO-Targeted Microservices 獲評 NSDI 2024 杰出論文獎(jiǎng)。
隨著技術(shù)的不斷進(jìn)步,計(jì)算機(jī)系統(tǒng)不僅承擔(dān)著人們生活中眾多服務(wù)的重任,還包含著許多復(fù)雜的算法邏輯。用戶需求的多樣化與場景的增加,也使得計(jì)算機(jī)系統(tǒng)的復(fù)雜性和規(guī)模持續(xù)增長。從搜索、購物、聊天到新聞推薦、串流媒體和人工智能服務(wù),這些系統(tǒng)的復(fù)雜性不只是龐大的代碼量,更體現(xiàn)在背后成百上千工程師在設(shè)計(jì)、開發(fā)及維護(hù)上所付出的巨大工作量。與此同時(shí),新類型的場景(比如大模型驅(qū)動(dòng)?co-pilots?和?AI agents)也帶來了新興的分布式系統(tǒng)形態(tài)。如何理解、設(shè)計(jì)并作出改進(jìn)成為了現(xiàn)代計(jì)算機(jī)系統(tǒng)的核心挑戰(zhàn)。然而,系統(tǒng)復(fù)雜度和規(guī)模的指數(shù)級增長,使得這些挑戰(zhàn)已經(jīng)無法完全依賴人的直覺和經(jīng)驗(yàn)去解決。
幸運(yùn)的是,計(jì)算機(jī)科學(xué)的技術(shù)更新迭代為計(jì)算機(jī)系統(tǒng)帶來了新的機(jī)遇。其中,學(xué)習(xí)增強(qiáng)系統(tǒng)(learning-augmented systems)正逐漸成為以智能化來重塑計(jì)算機(jī)系統(tǒng)的新趨勢。學(xué)習(xí)增強(qiáng)系統(tǒng)通常采用三種不同的實(shí)現(xiàn)路徑:一是通過機(jī)器學(xué)習(xí)技術(shù)來輔助增強(qiáng)現(xiàn)有計(jì)算機(jī)系統(tǒng)中啟發(fā)式算法和決策規(guī)則的性能;二是利用機(jī)器學(xué)習(xí)技術(shù)對啟發(fā)式算法和決策規(guī)則進(jìn)行優(yōu)化和重新設(shè)計(jì);三是用機(jī)器學(xué)習(xí)模型取代原有的啟發(fā)式算法和決策規(guī)則,進(jìn)而推動(dòng)系統(tǒng)的全面智能化升級。
為此,微軟亞洲研究院的研究員們開展了一系列學(xué)習(xí)增強(qiáng)系統(tǒng)的工作。研究重點(diǎn)聚焦于兩個(gè)關(guān)鍵方面:第一,"模塊化"機(jī)器學(xué)習(xí)模型,與計(jì)算機(jī)系統(tǒng)行為進(jìn)行對齊;第二,"系統(tǒng)化"大模型推理思維,賦予計(jì)算機(jī)系統(tǒng)自我進(jìn)化的能力。
"模塊化"機(jī)器學(xué)習(xí)模型,與計(jì)算機(jī)系統(tǒng)行為對齊
機(jī)器學(xué)習(xí)擅長于從數(shù)據(jù)中提取規(guī)律和模式,并利用這些規(guī)律進(jìn)行建模和數(shù)值優(yōu)化,以驅(qū)動(dòng)預(yù)測和決策過程。現(xiàn)代計(jì)算機(jī)系統(tǒng)普遍具有完善的行為和性能監(jiān)測機(jī)制,因此可以作為模型訓(xùn)練的數(shù)據(jù)來源。在以往的研究中(Metis [1]和 AutoSys [2]),研究員們曾探討過如何利用機(jī)器學(xué)習(xí)技術(shù)優(yōu)化計(jì)算機(jī)系統(tǒng)中的系統(tǒng)參數(shù)。但實(shí)際經(jīng)驗(yàn)證明,構(gòu)建學(xué)習(xí)增強(qiáng)系統(tǒng)不單單是應(yīng)用現(xiàn)有的機(jī)器學(xué)習(xí)算法,它還面臨著現(xiàn)代計(jì)算機(jī)系統(tǒng)與機(jī)器學(xué)習(xí)協(xié)同設(shè)計(jì)的關(guān)鍵研究挑戰(zhàn)。
具體而言,由于現(xiàn)代計(jì)算機(jī)系統(tǒng)具有高度的規(guī)模性(例如,有著上百個(gè)分布式微服務(wù)的集群)和動(dòng)態(tài)性(例如,集群里的微服務(wù)可以被獨(dú)立開發(fā)、部署和擴(kuò)容),在未來,利用強(qiáng)大的模型來學(xué)習(xí)整個(gè)系統(tǒng)是否還能成為一個(gè)可持續(xù)的方法?當(dāng)系統(tǒng)部署與環(huán)境發(fā)生變化(例如,系統(tǒng)擴(kuò)容導(dǎo)致集群規(guī)模改變),機(jī)器學(xué)習(xí)模型對于任務(wù)之前的一些假設(shè)可能不再成立。因此,如果不重新訓(xùn)練模型,模型驅(qū)動(dòng)決策的正確性就會(huì)受到影響。但現(xiàn)代計(jì)算機(jī)系統(tǒng)的高動(dòng)態(tài)性和高復(fù)雜度,又會(huì)使得機(jī)器學(xué)習(xí)在持續(xù)學(xué)習(xí)復(fù)雜任務(wù)上仍面臨著昂貴的數(shù)據(jù)采集和資源開銷成本。
"模塊化"是將機(jī)器學(xué)習(xí)融入計(jì)算機(jī)系統(tǒng)基礎(chǔ)的一大關(guān)鍵。雖然現(xiàn)代計(jì)算機(jī)系統(tǒng)具有高度的規(guī)模性和復(fù)雜度,但它們實(shí)際上是由多個(gè)子組件或服務(wù)組合而成,其動(dòng)態(tài)性也就有規(guī)律可循。以一個(gè)由多個(gè)微服務(wù)組成的云系統(tǒng)為例,如果更新了其中的一個(gè)微服務(wù),那么可能會(huì)影響到整個(gè)系統(tǒng)的端到端性能。但是,從系統(tǒng)架構(gòu)上來看,這種更新只是更改了某個(gè)獨(dú)立服務(wù)的編碼配置。同理,系統(tǒng)的擴(kuò)容,即系統(tǒng)里的某個(gè)服務(wù)被獨(dú)立復(fù)制并部署了多份,也是如此。因此,如果機(jī)器學(xué)習(xí)模型也只需要相應(yīng)地修改變化部分,那相比于持續(xù)訓(xùn)練整個(gè)模型,就將大大地減少學(xué)習(xí)增強(qiáng)系統(tǒng)的維護(hù)成本。
研究員們提出的利用模塊化學(xué)習(xí)模擬端到端系統(tǒng)延遲的框架 Fluxion [3],是在學(xué)習(xí)增強(qiáng)系統(tǒng)中應(yīng)用模塊化學(xué)習(xí)(modularized learning)的第一步。在預(yù)測微服務(wù)系統(tǒng)延遲的任務(wù)上,隨著個(gè)別服務(wù)的持續(xù)擴(kuò)容和部署,F(xiàn)luxion 顯著減低了延遲預(yù)測模型的維護(hù)成本。通過引入新的學(xué)習(xí)抽象,F(xiàn)luxion 允許對單個(gè)系統(tǒng)子組件進(jìn)行獨(dú)立建模,并且通過操作可將多個(gè)子組件的模型組合成一個(gè)推理圖。推理圖的輸出即為系統(tǒng)的端到端延遲。此外,推理圖可以動(dòng)態(tài)地被調(diào)整,進(jìn)而與計(jì)算機(jī)系統(tǒng)的實(shí)際部署進(jìn)行對齊。這一做法與直接對整個(gè)系統(tǒng)進(jìn)行端到端延遲建模的方法有顯著區(qū)別。相關(guān)論文 On Modular Learning of Distributed Systems for Predicting End-to-End Latency 發(fā)表于?NSDI 2023。