Kimi發(fā)布最新模型k1.5,技術(shù)報(bào)告也干貨滿(mǎn)滿(mǎn)
大家好,我是劉聰NLP。
就在今晚,Kimi發(fā)布了最新模型k1.5,先來(lái)看榜單效果,簡(jiǎn)直爆炸。
在長(zhǎng)推理上,k1.5在數(shù)學(xué)能力上,無(wú)論是純文本還是視覺(jué)多模態(tài)上,都遠(yuǎn)超openai的o1模型;在codeforces與其持平,LiveCode上略差,但相比于QVQ和QWQ有較大的優(yōu)勢(shì)。
在短推理上,k1.5的數(shù)學(xué)能力真實(shí)遙遙領(lǐng)先,無(wú)論是gpt-4o還是claude3.5-sonnet都遠(yuǎn)不如k1.5,尤其是在A(yíng)IME榜單上,k1.5有60.8,而最高的deepseek-v3只有39.2,堪稱(chēng)斷層式碾壓。這個(gè)應(yīng)該得益于他們的Long2short RL技術(shù)(后面介紹);并且k1.5在其他場(chǎng)景中大多都跟頂尖的開(kāi)源和閉源模型打成平手。有一說(shuō)一,這次kimi的新模型有點(diǎn)東西的哈。
最重要的是kimi發(fā)了技術(shù)報(bào)告《Kimi k1.5: Scaling Reinforcement Learning with Large Language Models》,看了一下,25頁(yè),干貨滿(mǎn)滿(mǎn),他家針對(duì)強(qiáng)化學(xué)習(xí),真的是做了好多工作,無(wú)論是data、strategy、還是Infra。
Paper link: https://github.com/MoonshotAI/Kimi-k1.5/blob/main/Kimi_k1.5.pdf
先簡(jiǎn)單看了一下,讓我印象最深刻的就是RL數(shù)據(jù)收集部分、Long2short 部分、以及Infra 的Hybrid Deployment Framework部分。
Long2short部分,這個(gè)應(yīng)該k1.5模型可以在短推理上取得超優(yōu)效果的核心。自從o1出來(lái)之后,我們都知道,增加test time可以提高模型的推理效果,大大提高模型智能,這也是為什么o1出來(lái)后,又帶起一波LLM新浪潮的原因。
但long-cot雖然優(yōu)秀,但在推理階段需要消耗大量的token預(yù)算,以及時(shí)間,那么是不是可以將long-cot模型的推理先驗(yàn)知識(shí)轉(zhuǎn)移到short-cot模型中呢?k1.5嘗試了多種方法:
- 模型合并:之前都是通過(guò)模型合并來(lái)提高模型的泛化性,k1.5發(fā)現(xiàn)long-cot模型和short-cot模型也可以合并,從而提高輸出效率,中和輸出內(nèi)容,并且無(wú)需訓(xùn)練。
- 最短拒絕采樣:對(duì)于模型輸出結(jié)果進(jìn)行n次采樣(實(shí)驗(yàn)中n=8),選擇最短的正確結(jié)果進(jìn)行模型微調(diào)。
- DPO:與最短拒絕采樣類(lèi)似,利用long-cot模型生成多個(gè)輸出結(jié)果,將最短的正確輸出作為正樣本,而較長(zhǎng)的響應(yīng)(包括:錯(cuò)誤的長(zhǎng)輸出、比所選正樣本長(zhǎng) 1.5 倍的正確長(zhǎng)輸出)作為負(fù)樣本,通過(guò)構(gòu)造的正負(fù)樣本進(jìn)行DPO偏好學(xué)習(xí)。
- Long2Short的強(qiáng)化學(xué)習(xí):在標(biāo)準(zhǔn)的強(qiáng)化學(xué)習(xí)訓(xùn)練階段之后,選擇一個(gè)在性能和輸出效率之間達(dá)到最佳平衡的模型作為基礎(chǔ)模型,并進(jìn)行單獨(dú)的long-cot到short-cot的強(qiáng)化學(xué)習(xí)訓(xùn)練階段。在這一階段,采用長(zhǎng)度懲罰,進(jìn)一步懲罰超出期望長(zhǎng)度,但保證模型仍然可能正確的輸出答案。
Long2short效果如下所示,在提高輸出效率的同時(shí),大幅度提高模型效果。
RL數(shù)據(jù)收集部分,我覺(jué)得kimi真的說(shuō)到的了我的心趴上。畢竟在做LLM之后,我很長(zhǎng)一段時(shí)間都在做數(shù)據(jù)相關(guān)的工作。而RL階段依然也不例外,強(qiáng)化學(xué)習(xí)階段數(shù)據(jù)的質(zhì)量和多樣性,不僅能夠引導(dǎo)模型進(jìn)行穩(wěn)健的推理,還能減少 reward hacking 和overfitting的風(fēng)險(xiǎn)。
高質(zhì)量的RL提示數(shù)據(jù)的三要素:
- 覆蓋范圍-廣:提示數(shù)據(jù)應(yīng)涵蓋廣泛的學(xué)科領(lǐng)域,如科學(xué)、技術(shù)、工程和數(shù)學(xué)(STEM)、代碼和一般推理,增強(qiáng)模型在不同領(lǐng)域的普適性。這里k1.5開(kāi)發(fā)了一個(gè)標(biāo)簽系統(tǒng),對(duì)提示按照領(lǐng)域和學(xué)科進(jìn)行分類(lèi),確保不同學(xué)科領(lǐng)域的數(shù)據(jù)平衡。
- 難度分布-均:提示數(shù)據(jù)應(yīng)包含易、中、難不同難度級(jí)別的問(wèn)題,讓模型逐步學(xué)習(xí),防止模型過(guò)擬合到一些特定復(fù)雜的問(wèn)題上。這里k1.5通過(guò)模型自身的推理能力,來(lái)評(píng)估每個(gè)prompt的難度,就是對(duì)相同的prompt利用相對(duì)較高溫度生成10次答案,然后計(jì)算答案的通過(guò)率,通過(guò)率越低,代表prompt難度越高。
- 可評(píng)估性-準(zhǔn):提示數(shù)據(jù)應(yīng)允許驗(yàn)證器進(jìn)行客觀(guān)且可靠的評(píng)估,確保模型結(jié)果是基于正確的推理過(guò)程,而不是簡(jiǎn)單模式或隨機(jī)猜測(cè)。這里k1.5利用沒(méi)有任何鏈?zhǔn)酵评聿襟E的情況下預(yù)測(cè)可能的答案,如果在N次嘗試內(nèi),均預(yù)測(cè)正確答案,認(rèn)為該prompt容易產(chǎn)生reward hacking。
在k1.5的報(bào)告中,寫(xiě)了大段infra的內(nèi)容,看完之后受益匪淺,因?yàn)槲冶旧聿皇亲鰅nfra的,所以對(duì)infra的很多細(xì)節(jié),之前并不是很了解,看完k1.5的內(nèi)容之后,真的學(xué)到很多。
其中,Hybrid Deployment Framework部分,有一些工程上的東西的。RL階段主要有以下幾個(gè)階段:
- 訓(xùn)練階段:Megatron(Shoeybi et al. 2020)和 vLLM(Kwon et al. 2023)分別在獨(dú)立的容器中運(yùn)行,這些容器被一個(gè)名為檢查點(diǎn)引擎(checkpoint-engine)的外殼進(jìn)程封裝(詳見(jiàn)第 2.6.3 節(jié))。Megatron 首先啟動(dòng)訓(xùn)練過(guò)程。訓(xùn)練完成后,Megatron 會(huì)釋放 GPU 內(nèi)存,并準(zhǔn)備將當(dāng)前權(quán)重傳遞給 vLLM。
- 訓(xùn)練階段:Megatron和 vLLM分別在獨(dú)立的容器中運(yùn)行,容器稱(chēng)為checkpoint-engine的外殼進(jìn)程封裝。Megatron 首先啟動(dòng)訓(xùn)練過(guò)程,訓(xùn)練完成后,Megatron 會(huì)釋放 GPU 內(nèi)存,并準(zhǔn)備將當(dāng)前權(quán)重傳遞給 vLLM。
- 推理階段:在 Megatron 釋放內(nèi)存后,vLLM 以虛擬模型權(quán)重啟動(dòng),并通過(guò) Mooncake 從 Megatron 接收最新的權(quán)重更新。完成回放后,checkpoint-engine會(huì)停止所有 vLLM 進(jìn)程。
- 后續(xù)訓(xùn)練階段:釋放 vLLM 所占用的內(nèi)存后,Megatron 重新加載內(nèi)存并開(kāi)始下一輪訓(xùn)練。
而現(xiàn)有框架很難同時(shí)滿(mǎn)足以下所有特性:
- 復(fù)雜的并行策略:Megatron 和 vLLM 可能采用不同的并行策略。Megatron 中分布在多個(gè)節(jié)點(diǎn)上的訓(xùn)練權(quán)重很難與 vLLM 共享。
- 最小化閑置 GPU 資源:對(duì)于在線(xiàn)策略強(qiáng)化學(xué)習(xí),SGLang和 vLLM可能會(huì)在訓(xùn)練過(guò)程中保留一些 GPU,導(dǎo)致訓(xùn)練 GPU 的閑置。如何共享相同的設(shè)備,將訓(xùn)練變得更加高效。
- 動(dòng)態(tài)擴(kuò)展能力:通過(guò)增加推理節(jié)點(diǎn)的數(shù)量,同時(shí)保持訓(xùn)練過(guò)程不變,可以顯著加速訓(xùn)練。如何高效利用閑置的 GPU 節(jié)點(diǎn)。
如圖下圖所示,k1.5在Megatron 和 vLLM 的基礎(chǔ)上實(shí)現(xiàn)了這種混合部署框架,將訓(xùn)練階段切換到推理階段的時(shí)間縮短到不到一分鐘,而從推理階段切換到訓(xùn)練階段大約只需要十秒。
我看完整個(gè)paper,是學(xué)到不少,還有一些其他的內(nèi)容,后面有機(jī)會(huì)在繼續(xù)給大家分享吧,期待其他infra大佬和rl大佬來(lái)解讀。
最后說(shuō)一下,k1.5 剛剛發(fā)布,現(xiàn)在正在進(jìn)行灰度上線(xiàn),也許你馬上成為那個(gè)幸運(yùn)兒,可以提前體驗(yàn)到k1.5的整體效果。我反正是十分期待ing。
