Kimi釋出最新模型k1.5,技術報告也乾貨滿滿

MLNLP

社群是國內外知名的機器學習與自然語言處理社群,受眾覆蓋國內外NLP碩博生、高校老師以及企業研究人員。


社群的願景是促進國內外自然語言處理,機器學習學術界、產業界和廣大愛好者之間的交流和進步,特別是初學者同學們的進步。
轉載自 | NLP工作站
作者 | 劉聰NLP
就在今晚,Kimi釋出了最新模型k1.5,先來看榜單效果,簡直爆炸。
在長推理上,k1.5在數學能力上,無論是純文字還是視覺多模態上,都遠超openai的o1模型;在codeforces與其持平,LiveCode上略差,但相比於QVQ和QWQ有較大的優勢。
在短推理上,k1.5的數學能力真實遙遙領先,無論是gpt-4o還是claude3.5-sonnet都遠不如k1.5,尤其是在AIME榜單上,k1.5有60.8,而最高的deepseek-v3只有39.2,堪稱斷層式碾壓。這個應該得益於他們的Long2short RL技術(後面介紹);並且k1.5在其他場景中大多都跟頂尖的開源和閉源模型打成平手。有一說一,這次kimi的新模型有點東西的哈。
最重要的是kimi發了技術報告《Kimi k1.5: Scaling Reinforcement Learning with Large Language Models》,看了一下,25頁,乾貨滿滿,他家針對強化學習,真的是做了好多工作,無論是data、strategy、還是Infra。

Paper link: https://github.com/MoonshotAI/Kimi-k1.5/blob/main/Kimi_k1.5.pdf

先簡單看了一下,讓我印象最深刻的就是RL資料收集部分、Long2short 部分、以及Infra 的Hybrid Deployment Framework部分。
Long2short部分,這個應該k1.5模型可以在短推理上取得超優效果的核心。自從o1出來之後,我們都知道,增加test time可以提高模型的推理效果,大大提高模型智慧,這也是為什麼o1出來後,又帶起一波LLM新浪潮的原因。
但long-cot雖然優秀,但在推理階段需要消耗大量的token預算,以及時間,那麼是不是可以將long-cot模型的推理先驗知識轉移到short-cot模型中呢?k1.5嘗試了多種方法:
  • 模型合併:之前都是透過模型合併來提高模型的泛化性,k1.5發現long-cot模型和short-cot模型也可以合併,從而提高輸出效率,中和輸出內容,並且無需訓練。
  • 最短拒絕取樣:對於模型輸出結果進行n次取樣(實驗中n=8),選擇最短的正確結果進行模型微調。
  • DPO:與最短拒絕取樣類似,利用long-cot模型生成多個輸出結果,將最短的正確輸出作為正樣本,而較長的響應(包括:錯誤的長輸出、比所選正樣本長 1.5 倍的正確長輸出)作為負樣本,透過構造的正負樣本進行DPO偏好學習。
  • Long2Short的強化學習:在標準的強化學習訓練階段之後,選擇一個在效能和輸出效率之間達到最佳平衡的模型作為基礎模型,並進行單獨的long-cot到short-cot的強化學習訓練階段。在這一階段,採用長度懲罰,進一步懲罰超出期望長度,但保證模型仍然可能正確的輸出答案。
Long2short效果如下所示,在提高輸出效率的同時,大幅度提高模型效果。
RL資料收集部分,我覺得kimi真的說到的了我的心趴上。畢竟在做LLM之後,我很長一段時間都在做資料相關的工作。而RL階段依然也不例外,強化學習階段資料的質量和多樣性,不僅能夠引導模型進行穩健的推理,還能減少 reward hacking 和overfitting的風險。
高質量的RL提示資料的三要素:
  • 覆蓋範圍-廣:提示資料應涵蓋廣泛的學科領域,如科學、技術、工程和數學(STEM)、程式碼和一般推理,增強模型在不同領域的普適性。這裡k1.5開發了一個標籤系統,對提示按照領域和學科進行分類,確保不同學科領域的資料平衡。
  • 難度分佈-均:提示資料應包含易、中、難不同難度級別的問題,讓模型逐步學習,防止模型過擬合到一些特定複雜的問題上。這裡k1.5透過模型自身的推理能力,來評估每個prompt的難度,就是對相同的prompt利用相對較高溫度生成10次答案,然後計算答案的透過率,透過率越低,代表prompt難度越高。
  • 可評估性-準:提示資料應允許驗證器進行客觀且可靠的評估,確保模型結果是基於正確的推理過程,而不是簡單模式或隨機猜測。這裡k1.5利用沒有任何鏈式推理步驟的情況下預測可能的答案,如果在N次嘗試內,均預測正確答案,認為該prompt容易產生reward hacking。
在k1.5的報告中,寫了大段infra的內容,看完之後受益匪淺,因為我本身不是做infra的,所以對infra的很多細節,之前並不是很瞭解,看完k1.5的內容之後,真的學到很多。
其中,Hybrid Deployment Framework部分,有一些工程上的東西的。RL階段主要有以下幾個階段:
  • 訓練階段:Megatron(Shoeybi et al. 2020)和 vLLM(Kwon et al. 2023)分別在獨立的容器中執行,這些容器被一個名為檢查點引擎(checkpoint-engine)的外殼程序封裝(詳見第 2.6.3 節)。Megatron 首先啟動訓練過程。訓練完成後,Megatron 會釋放 GPU 記憶體,並準備將當前權重傳遞給 vLLM。
  • 訓練階段Megatron和 vLLM分別在獨立的容器中執行,容器稱為checkpoint-engine的外殼程序封裝。Megatron 首先啟動訓練過程,訓練完成後,Megatron 會釋放 GPU 記憶體,並準備將當前權重傳遞給 vLLM。
  • 推理階段:在 Megatron 釋放記憶體後,vLLM 以虛擬模型權重啟動,並透過 Mooncake 從 Megatron 接收最新的權重更新。完成回放後,checkpoint-engine會停止所有 vLLM 程序。
  • 後續訓練階段:釋放 vLLM 所佔用的記憶體後,Megatron 重新載入記憶體並開始下一輪訓練。
而現有框架很難同時滿足以下所有特性:
  • 複雜的並行策略:Megatron 和 vLLM 可能採用不同的並行策略。Megatron 中分佈在多個節點上的訓練權重很難與 vLLM 共享。
  • 最小化閒置 GPU 資源:對於線上策略強化學習,SGLang和 vLLM可能會在訓練過程中保留一些 GPU,導致訓練 GPU 的閒置。如何共享相同的裝置,將訓練變得更加高效。
  • 動態擴充套件能力:透過增加推理節點的數量,同時保持訓練過程不變,可以顯著加速訓練。如何高效利用閒置的 GPU 節點。
如圖下圖所示,k1.5在Megatron 和 vLLM 的基礎上實現了這種混合部署框架,將訓練階段切換到推理階段的時間縮短到不到一分鐘,而從推理階段切換到訓練階段大約只需要十秒。
我看完整個paper,是學到不少,還有一些其他的內容,後面有機會在繼續給大家分享吧,期待其他infra大佬和rl大佬來解讀。
最後說一下,k1.5 剛剛釋出,現在正在進行灰度上線,也許你馬上成為那個幸運兒,可以提前體驗到k1.5的整體效果。我反正是十分期待ing。
技術交流群邀請函
△長按新增小助手
掃描二維碼新增小助手微信
請備註:姓名-學校/公司-研究方向
(如:小張-哈工大-對話系統)
即可申請加入自然語言處理/Pytorch等技術交流群

關於我們

MLNLP 社群是由國內外機器學習與自然語言處理學者聯合構建的民間學術社群,目前已經發展為國內外知名的機器學習與自然語言處理社群,旨在促進機器學習,自然語言處理學術界、產業界和廣大愛好者之間的進步。
社群可以為相關從業者的深造、就業及研究等方面提供開放交流平臺。歡迎大家關注和加入我們。

相關文章