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

机器之心發表於2024-12-02

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 位貢獻者的基本資訊

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

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

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

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

在具體的大規模擴充套件方面,我們知道,去中心化訓練既是工程挑戰,也是研究挑戰。當今最大的 AI 實驗室也還沒有徹底解決在多個分散式資料中心上的容錯訓練。該團隊表示,Prime 這種全新的去中心化訓練框架支援容錯訓練,支援計算資源的動態開啟/關閉,還能最佳化全球分散式 GPU 網路中的通訊和路由。
圖片
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

相關文章