美歐亞三洲開發者聯手,全球首個組團訓練的大模型來了,全流程開源

機器之心報導

編輯:佳琪、Panda

11 月 22 日,Prime Intellect 宣佈通過去中心化方式訓練完成了一個 10B 模型。30 號,他們開源了一切,包括基礎模型、檢查點、後訓練模型、數據、PRIME 訓練框架和技術報告。據瞭解,這應該是有史以來首個以去中心化形式訓練得到的 10B 大模型。

  • 技術報告:https://github.com/PrimeIntellect-ai/prime/blob/main/INTELLECT_1_Technical_Report.pdf

  • Hugging Face 頁面:https://huggingface.co/PrimeIntellect/INTELLECT-1-Instruct

  • GitHub 地址:https://github.com/PrimeIntellect-ai/prime

  • 體驗鏈接:chat.primeintellect.ai

Prime Intellect 表示,相比此前的研究,INTELLECT-1 實現了 10 倍的規模提升。這一突破證明,大規模模型訓練已不再是大公司的專利,通過去中心化的、社區驅動的方式同樣可以實現。

他們的下一步計劃是將模型進一步擴展到前沿規模,最終目標是實現開源 AGI。這一點在其在線 Demo 的模型選項中已有暗示 —— 其中包含開放推理模型甚至 AGI 和 ASI 的潛在選項。看起來這確實是一個雄心勃勃的團隊。

模型發佈後,雖也有質疑聲音,但 AI 社區總體上還是給出了非常積極的肯定。

機器之心也用幾個經典問題簡單嘗試了其在線 Demo 版本的模型。

首先是經典的草莓問題,INTELLECT-1 一開始答對了,但繼續提問就又變成了常見的錯誤答案。

該模型也具備還不錯的文本理解能力,但總體而言和 Llama 和 Qwen 等前沿開源模型還有所差距。

下面我們看看它的漢語能力。從多次測試的結果來看,這個模型的漢語能力並不好,並且幻覺現像似乎也挺嚴重的,比如下圖中,即使該模型暫時並不具備讀取鏈接的能力,也會根據上下文強行作答。

不管怎樣,INTELLECT-1 都是 AI 歷史上一次頗具開創性的實驗。下面我們就來看看這個系統是如何煉成的。

大規模去中心化訓練

Prime Intellect 的這場去中心化訓練的規模其實相當大,涉及到 3 個大洲的 5 個國家,同時運行了 112 台 H100 GPU。

全球 30 位貢獻者的基本信息
全球 30 位貢獻者的基本信息全球 30 位貢獻者的基本信息

該團隊表示:「我們在各大洲實現了 83% 的總體計算利用率。當僅在分佈於整個美國的節點上進行訓練時,實現了 96% 的計算利用率。與中心化訓練方法相比,開銷極小。」

這樣的結果表明 INTELLECT-1 在存在嚴重的帶寬限制和節點波動的情況下,依然能維持訓練收斂性和高計算利用率,這昭示了一種新的可能性:能夠以去中心化、社區驅動的方式訓練出前沿的基礎模型!

一萬億 token 的訓練過程,這裏給出了訓練過程中損失、困惑度、訓練速度等信息一萬億 token 的訓練過程,這裏給出了訓練過程中損失、困惑度、訓練速度等信息

訓練細節與數據集

INTELLECT-1 基於 Llama-3 架構,它包含:

  • 42 層,隱藏維度為 4,096

  • 32 個注意力頭

  • 序列長度為 8,192

  • 詞表大小為 128,256

模型在經過精心篩選的 1 萬億 token 數據集上訓練,數據構成如下:

數據集 Huggingface 鏈接:https://huggingface.co/datasets/HuggingFaceFW/fineweb-edu

  • 55% FineWeb-Edu

  • 20% Stack v2(Stack Overflow 等技術問答數據)

  • 10% FineWeb(精選網頁數據)

  • 10% DCLM-baseline(基準通用語料)

  • 5% OpenWebMath(數學數據)

模型訓練持續了 42 天,採用了以下技術:

  • 採用 WSD 動態調整學習速度,讓模型學習更高效

  • 精細調教的學習參數:內層學習率設為 7.5e-5

  • 引入特殊的損失函數(max-z-loss)來確保訓練過程的穩定性

  • 使用 Nesterov 動量優化算法,幫助模型更快更好地學習

  • 支持訓練機器的靈活接入和退出,最多可同時使用 14 台機器協同訓練

從訓練過程的監控圖表可以看出,PRIME 系統表現出色:即使參與訓練的機器數量經常變化(從最少 4 台逐漸增加到最多 14 台),整個訓練過程依然保持穩定,充分證明了系統的可靠性。

訓練動態圖展示了整個訓練過程中模型困惑度和學習率的變化,包括預熱階段、穩定階段和退火階段。訓練動態圖展示了整個訓練過程中模型困惑度和學習率的變化,包括預熱階段、穩定階段和退火階段。

Prime:一個去中心化訓練框架

該團隊使用的訓練框架名為 Prime,這基於他們開發的 OpenDiLoCo。而 OpenDiLoCo 又基於 DeepMind 之前開發的 Distributed Low-Communication(DiLoCo)方法。

項目地址:https://github.com/PrimeIntellect-ai/OpenDiLoCo

在此之前,Prime Intellect 已經在 1B 參數規模上實驗了去中心化 AI 模型訓練。該團隊表示:「這讓我們到達了我們的 masterplan 的第三步:合作訓練用於語言、智能體和科學的開放式基礎模型。」

Prime Intellect 的 masterplanPrime Intellect 的 masterplan

相比於之前開源的 OpenDiLoCo,Prime 有兩大關鍵提升。

一是在算法方面,他們在 OpenDiLoCo 上執行了許多消融研究,發現還能進一步降低通信要求。值得注意的是,他們將偽梯度的 int8 量化與每 500 步進行一次的外部優化器同步相結合,從而將帶寬要求降低了多達 2000 倍。這些結果不僅在較小規模下是有效的,該團隊也將它們擴展到了更大的模型。

在具體的大規模擴展方面,我們知道,去中心化訓練既是工程挑戰,也是研究挑戰。當今最大的 AI 實驗室也還沒有徹底解決在多個分佈式數據中心上的容錯訓練。該團隊表示,Prime 這種全新的去中心化訓練框架支持容錯訓練,支持計算資源的動態開啟/關閉,還能優化全球分佈式 GPU 網絡中的通信和路由。

Prime 中用於容錯訓練的 ElasticDeviceMesh 的拓撲結構Prime 中用於容錯訓練的 ElasticDeviceMesh 的拓撲結構

該團隊在博客中寫道:「該框架構成了我們開源技術堆棧的基礎,其目標是支持我們自己的算法以及 OpenDiLoCo 之外的其他去中心化訓練算法。通過在此基礎架構上構建,我們的目標是突破全球分佈式 AI 訓練的極限。」

具體來說,Prime 框架包含以下關鍵特性:

  • 用於容錯訓練的 ElasticDeviceMesh

  • 異步分佈式檢查點

  • 實時檢查點恢復

  • 自定義 Int8 All-Reduce 內核

  • 最大化帶寬利用率

  • PyTorch FSDP2 / DTensor ZeRO-3 實現

  • CPU 卸載

計算效率

雖然訓練散作滿天星,但計算效率仍保持「聚是一團火」的高水準:在美國境內集群部署時,計算資源利用率高達 96%(中位數同步延遲僅 103s);跨越大西洋的部署場景下依然維持在 85.6% 的優異水平(中位數同步延遲 382s);即便是在全球分佈式節點配置下,計算利用率也能穩定保持在 83%(中位數同步延遲 469s)。

這一系列亮眼的數據充分證明了該去中心化訓練框架的容錯性和擴展性,不僅能夠從容應對不同地理位置的網絡延遲挑戰,更在確保訓練穩定性的同時實現了高效計算。

後訓練

在完成分佈在全球的預訓練階段後,Prime Intellect 與 Arcee AI 合作開展了一系列後訓練,以提升 INTELLECT-1 的整體能力和特定任務表現。主要包含三個階段:

  • SFT(監督微調,16 輪)

  • DPO(直接偏好優化,8 輪)

  • 使用 MergeKit 整合訓練成果

更多信息請查看詳細技術報告:

論文鏈接:https://github.com/PrimeIntellect-ai/prime/blob/main/INTELLECT_1_Technical_Report.pdf

未來計劃:長期目標是 AGI

INTELLECT-1 的成功讓我們看到了去中心化訓練的巨大潛力。至於如何將開源的 PRIME 框架擴展到目前動輒 70B 的規模呢?Prime Intellect 提了三點規劃:

  • 繼續擴大全球計算網絡

  • 用更多獎金激勵推動社區參與

  • 進一步優化 PRIME 去中心化訓練架構以支持更大的模型

在博客結尾,Prime Intellect 寫道:「為了防止 AI 能力被少數組織壟斷,我們誠邀全球 AI 社區通過 GitHub 或 Discord 加入我們。讓我們攜手共建一個更開放、更具協作性的 AI 發展未來。」

參考鏈接:參考鏈接:

https://www.primeintellect.ai/blog/intellect-1-release

https://app.primeintellect.ai/intelligence

https://www.primeintellect.ai/blog/intellect-1