正是那個(gè)為Kimi線上業(yè)務(wù)輸送了超過80%流量的堅(jiān)實(shí)基石,如今已向公眾敞開了懷抱。

就在今天,月之暗面Kimi攜手清華大學(xué)等一眾頂尖合作伙伴,共同揭開了名為Mooncake的大模型推理架構(gòu)的神秘面紗,將其源代碼無(wú)私地奉獻(xiàn)給了全世界。

根據(jù)官方介紹,本次開源將采用分階段的方式:

逐步開源高性能KVCache多級(jí)緩存Mooncake Store的實(shí)現(xiàn),同時(shí)針對(duì)各類推理引擎和底層存儲(chǔ)/傳輸資源進(jìn)行兼容。

其中傳輸引擎Transfer Engine現(xiàn)在已經(jīng)在GitHub全球開源。

Mooncake一經(jīng)開源,已在GitHub狂攬1.2k star。

構(gòu)建一個(gè)以KVCache為核心的大型模型推理架構(gòu)

清華大學(xué)的MADSys實(shí)驗(yàn)室與月之暗面科技有限公司攜手合作,共同推出了一項(xiàng)名為Mooncake的開源項(xiàng)目。該項(xiàng)目的核心目標(biāo)是構(gòu)建一個(gè)以KVCache(鍵值緩存)為核心的大型模型推理架構(gòu),通過創(chuàng)新的技術(shù)手段,顯著提升模型推理的效率和性能。

在2024年6月,雙方合作發(fā)布了基于Kimi底層的Mooncake推理系統(tǒng)設(shè)計(jì)。這一設(shè)計(jì)采用了PD分離和以存換算架構(gòu),顯著提升了推理吞吐量,引起了業(yè)界的廣泛關(guān)注。Mooncake項(xiàng)目源自于學(xué)術(shù)論文,其核心是超大規(guī)模的KVCache緩存池,通過以存換算的創(chuàng)新方法,有效降低了計(jì)算資源的消耗,同時(shí)顯著提高了推理吞吐量。

該項(xiàng)目采用了分階段的開源策略,逐步公開高性能KVCache多級(jí)緩存Mooncake Store的實(shí)現(xiàn),并致力于與各種推理引擎及底層存儲(chǔ)/傳輸資源的兼容性。

大模型推理優(yōu)化技術(shù)-KV Cache

KV Cache(鍵-值緩存)是一種在大模型推理中廣泛應(yīng)用的優(yōu)化技術(shù),其核心思想是利用緩存key和value來避免重復(fù)計(jì)算,從而提高推理效率。代價(jià)是顯存占用會(huì)增加。

具體而言,Mooncake采用以KVCache為中心的解耦架構(gòu),將預(yù)填充集群與解碼集群分離,并充分利用GPU集群中未充分利用的CPU、DRAM和SSD資源,實(shí)現(xiàn)KVCache的解耦緩存。

其核心在于以KVCache為中心的調(diào)度程序:

在最大化整體有效吞吐量和滿足與延遲相關(guān)的服務(wù)級(jí)別目標(biāo) (SLO) 要求之間取得平衡

當(dāng)面對(duì)流量高峰期時(shí),Mooncake通過早期拒絕策略和預(yù)測(cè)未來負(fù)載的方法,來處理超載問題。

早期拒絕策略(Early Rejection Policy)

簡(jiǎn)單說,其核心思想是在請(qǐng)求實(shí)際開始處理之前,根據(jù)當(dāng)前系統(tǒng)的負(fù)載情況預(yù)測(cè)是否有足夠的資源來處理新的請(qǐng)求。

如果預(yù)測(cè)結(jié)果表明系統(tǒng)資源不足以保證請(qǐng)求的及時(shí)處理,系統(tǒng)就會(huì)在請(qǐng)求到達(dá)之前予以拒絕,從而避免了無(wú)效的資源占用和不必要的延遲。

預(yù)測(cè)未來負(fù)載(Predicting Future Load)

在Mooncake中,系統(tǒng)需要能夠預(yù)測(cè)在未來一段時(shí)間內(nèi)的負(fù)載情況,以便做出更準(zhǔn)確的接受或拒絕請(qǐng)求的決策。

如何實(shí)現(xiàn)呢???

通常來說,這種預(yù)測(cè)會(huì)基于當(dāng)前的請(qǐng)求模式、系統(tǒng)的資源使用情況以及歷史數(shù)據(jù)等信息。

再通過對(duì)信息的進(jìn)一步分析建模,Mooncake就能夠估計(jì)接下來的請(qǐng)求處理需求,并據(jù)此調(diào)整其調(diào)度策略。

論文實(shí)驗(yàn)結(jié)果顯示,與基線方法相比,Mooncake在某些模擬場(chǎng)景中可以實(shí)現(xiàn)高達(dá)525%的吞吐量提升,同時(shí)遵守SLO(與延遲相關(guān)的服務(wù)級(jí)別目標(biāo))。

在實(shí)際工作負(fù)載下,Mooncake使Kimi能夠處理75%以上的請(qǐng)求。

華為數(shù)據(jù)存儲(chǔ)參與共建

Mooncake開源項(xiàng)目從論文延伸,以超大規(guī)模KV-Cache緩存池為中心,通過以存換算的創(chuàng)新理念大幅度減少算力開銷,顯著提升了推理吞吐量。本次開源將采用分階段的方式,依次開源其中的關(guān)鍵組件并集成對(duì)于各類不同上層訓(xùn)推框架的支持。

作為AI數(shù)據(jù)基礎(chǔ)設(shè)施服務(wù)商,華為數(shù)據(jù)存儲(chǔ)在此開源架構(gòu)中對(duì)其中推理框架、Transfer Engine和高性能內(nèi)存型存儲(chǔ)進(jìn)行擴(kuò)展與增強(qiáng)??焖贅?gòu)建起 “上層生態(tài)+中間算法插件+下層AI存儲(chǔ)”的框架方案,形成大模型推理架構(gòu)最佳實(shí)踐,基于開源的生態(tài)和插件,眾多的存儲(chǔ)廠商都可以遵循相同的標(biāo)準(zhǔn)接入,通過高性能存儲(chǔ)的大范圍全局共享與持久化KV-Cache能力,實(shí)現(xiàn)高性價(jià)比的以存換算推理加速,幫助以KV-Cache為中心的大模型推理架構(gòu)具備長(zhǎng)期記憶能力。

華為數(shù)據(jù)存儲(chǔ)在此次開源項(xiàng)目中扮演了重要角色。

它在此開源架構(gòu)中對(duì)推理框架、Transfer Engine和高性能內(nèi)存型存儲(chǔ)進(jìn)行了擴(kuò)展與增強(qiáng)。具體來說,華為數(shù)據(jù)存儲(chǔ)面向vLLM、MindIE等主流推理引擎提供了接口適配,并提供了以查代算加速插件Memory X,實(shí)現(xiàn)了高性能的長(zhǎng)序列推理加速。此外,華為數(shù)據(jù)存儲(chǔ)還提供了高性能檢索服務(wù),通過高維索引與知識(shí)/記憶協(xié)同,提供了高效的KV索引構(gòu)建以及大庫(kù)容分布式檢索能力。

在高性能分級(jí)內(nèi)存擴(kuò)展方面,華為數(shù)據(jù)存儲(chǔ)的Unified Cache Engine提供了針對(duì)KVCache的高效管理與加載能力,支持多硬件形態(tài)統(tǒng)一內(nèi)存服務(wù)。這包括面向KVCache的多級(jí)緩存管理,以及面向GPU/NPU的數(shù)據(jù)直通加速和軟硬協(xié)同增強(qiáng)能力。

更重要的是,華為數(shù)據(jù)存儲(chǔ)的高性能內(nèi)存型存儲(chǔ)(OceanStor A系列存儲(chǔ))基于數(shù)控分離全交換架構(gòu)的原生AI存儲(chǔ),提供了TB級(jí)性能、PB級(jí)容量、大規(guī)模共享的全局內(nèi)存擴(kuò)展池。這實(shí)現(xiàn)了高效的KVStore布局、管理與加載策略,提升了KVCache加載效率,為大模型提供了終身記憶和無(wú)限上下文能力。

參與開源的首批陣容

此外參與開源的首批陣容還包括AISoft、阿里云、面壁智能、趨境科技等。

可以說,云計(jì)算、存儲(chǔ)、AI模型玩家等產(chǎn)學(xué)研力量都聚齊了。

目前Mooncake技術(shù)框架已正式開源上線,官方還表示:

歡迎更多企業(yè)和研究機(jī)構(gòu)加入Mooncake項(xiàng)目共建,共同探索更加高效和先進(jìn)的模型推理系統(tǒng)架構(gòu)創(chuàng)新,讓基于大模型技術(shù)的AI助手等產(chǎn)品,持續(xù)惠及更廣泛人群。

結(jié)語(yǔ)

Kimi開源底層推理框架Mooncake,并攜手華為數(shù)據(jù)存儲(chǔ)等業(yè)界代表廠商和科研團(tuán)隊(duì)共同推動(dòng)其發(fā)展,是大模型時(shí)代的一個(gè)重要里程碑。這一項(xiàng)目的成功實(shí)施,將為處理長(zhǎng)文本和高并發(fā)需求提供有效的解決方案,推動(dòng)整個(gè)行業(yè)向更高效的推理平臺(tái)方向發(fā)展。

分享到

lixiangjing

算力豹主編

相關(guān)推薦