開源大模型王座再易主,1320億引數DBRX上線,基礎、微調模型都有
机器之心發表於2024-03-28
這是迄今為止最強大的開源大語言模型,超越了 Llama 2、Mistral 和馬斯克剛剛開源的 Grok-1。本週三,大資料人工智慧公司 Databricks 開源了通用大模型 DBRX,這是一款擁有 1320 億引數的混合專家模型(MoE)。DBRX 的基礎(DBRX Base)和微調(DBRX Instruct)版本已經在 GitHub 和 Hugging Face 上釋出,可用於研究和商業用途。人們可以自行在公共、自定義或其他專有資料上執行和調整它們,也可以透過 API 的形式使用。- 基礎版:https://huggingface.co/databricks/dbrx-base
- 微調版:https://huggingface.co/databricks/dbrx-instruct
- GitHub 連結:https://github.com/databricks/dbrx
DBRX 在語言理解、程式設計、數學和邏輯等方面輕鬆擊敗了目前業內領先的開源大模型,如 LLaMA2-70B、Mixtral 和 Grok-1。 DBRX 在語言理解(MMLU)、程式設計(HumanEval)和數學(GSM8K)基準上均優於目前的開源模型。同時,DBRX 也在大多數基準測試上超過了 GPT-3.5,並在質量上可與 Gemini 1.0 Pro 和 Mistral Medium 競爭,同時速度大大加快。託管在 Mosaic AI Model Serving 上時,速度達到了 150 token/s/ 使用者。 DBRX 的效率很高,它是基於史丹佛 MegaBlocks 開源專案構建的混合專家模型,平均只用啟用 360 億引數來處理 token,可以實現極高的每秒處理速度。它的推理速度幾乎比 LLaMA2-70B 快兩倍,總引數和活動引數數量比 Grok 小約 40%。Databricks NLP 預訓練團隊負責人 Vitaliy Chiley 介紹道,DBRX 是在 12 萬億 Token 的文字和程式碼上預訓練的 16×12B MoE LLM,它支援的最大上下文長度為 32k Tokens。Hugging Face 工程師 Vaibhav Srivastav 表示,DBRX 模型「太狂野了」。很多人第一時間進行了測試,有網友評論道,看起來 DBRX 可以應對非常晦澀的問題,又因為比 Grok 精簡了三倍,若進行量化的話有望在 64GB RAM 的機器上執行,總之非常令人興奮。除了開源社群、開發者們正在熱烈討論之外,DBRX 引來了各路媒體的報導,《連線》雜誌直接將其稱為「世界最強大的開源 AI 模型」。透過一系列基準測試,DBRX 為當前開源大模型領域樹立了新標杆。它為開源社群提供了以前僅限於封閉大模型 API 的能力,在基準分數上它超越了 GPT-3.5,與 Gemini 1.0 Pro 不分上下。它是一個強大的程式碼生成模型,除作為通用 LLM 的優勢外,在程式設計方面超越了 CodeLLaMA-70B 等專業模型。訓練混合專家模型是一件困難的工作,Databricks 表示,它希望公開構建開源模型所涉及的大部分成果,包括 Meta 在 Llama 2 模型上沒有公開過的一些關鍵細節。DBRX 是一種基於 Transformer 的僅解碼器大語言模型(LLM),使用細粒度的專家混合(MoE)架構,共有 1320 億引數,其中 36B 個引數在任何輸入上都處於啟用狀態。該模型是在 12T 文字和程式碼資料 token 上預訓練而成,最大上下文長度高達 32k。與 Mixtral 和 Grok-1 等其他開源 MoE 模型相比,DBRX 是細粒度的,這意味著它使用了更多數量的小型專家。DBRX 有 16 個專家模型,從中選擇 4 個使用,而 Mixtral 和 Grok-1 有 8 個專家模型,選擇其中 2 個。算下來,DBRX 提供了 65 倍可能的專家組合,這種組合方式的倍增提高了模型質量。與此同時,DBRX 使用旋轉位置編碼 (RoPE)、門控線性單元 (GLU) 和分組查詢注意力 (GQA) 等技術來提高模型質量。此外,DBRX 還使用了 tiktoken 儲存庫中提供的 GPT-4 分詞器。表 1 顯示了 DBRX Instruct 和領先的開源模型比較結果。可以看出,DBRX Instruct 在兩個綜合基準(composite benchmarks)、程式設計和數學基準以及 MMLU 方面表現優越。具體而言:綜合基準。包括 Hugging Face Open LLM Leaderboard(ARC-Challenge、HellaSwag、MMLU、TruthfulQA、WinoGrande 和 GSM8k 的平均分)以及 Databricks Model Gauntlet(涵蓋 6 個領域、超過 30 項任務,包含世界知識、常識推理、語言理解、閱讀理解、符號問題和程式設計) 。DBRX Instruct 在兩個綜合基準上得分最高:在 Hugging Face 開源 LLM 排行榜上的得分為 74.5% ,而排名第二的模型 Mixtral Instruct 為 72.7%;在 Databricks Gauntlet 上的表現為 66.8% ,位於第二名的 Mixtral Instruct 為 60.7%。程式設計和數學:DBRX Instruct 在程式設計和數學方面尤其擅長。在 HumanEval 上的評估結果高於其他開源模型,DBRX Instruct 表現為 70.1%,Grok-1 為 63.2%、 Mixtral Instruct 為 54.8%、效能最好的 LLaMA2-70B 變體為 32.2%。在 GSM8k 基準上,DBRX Instruct 表現為 66.9%,Grok-1 為 62.9%、 Mixtral Instruct 為 61.1%、效能最好的 LLaMA2-70B 變體為 54.1%。綜合來看,DBRX 的效能優於 Grok-1,後者是這些基準測試中排名第二的模型,儘管 Grok-1 的引數數量是 DBRX 的 2.4 倍。在 HumanEval 上,DBRX Instruct 甚至超越了 CodeLLaMA-70B Instruct(一種專門為程式設計而構建的模型),儘管 DBRX Instruct 是為通用用途而設計、而不是專為程式設計構建(據 Meta 在 CodeLLaMA 部落格中報導,HumanEval 上的得分為 70.1% vs. 67.8%) 。MMLU。DBRX Instruct 的得分達到 73.7%,高於其他模型。 表 1. DBRX Instruct 和領先的開源模型比較。表 2 顯示了 DBRX Instruct 和領先的閉源模型比較結果。DBRX Instruct 超越了 GPT-3.5(如 GPT-4 論文中所述),並且與 Gemini 1.0 Pro 和 Mistral Medium 具有相當的競爭力。具體而言:與 GPT-3.5 的比較。在多個基準測試中,DBRX Instruct 超過了 GPT-3.5,或者在某些基準上與 GPT-3.5 相當。DBRX Instruct 在 MMLU 上關於常識知識的得分為 73.7%,GPT-3.5 為 70.0%;在 HellaSwag 上的得分為 89.0% ,GPT-3.5 為 85.5%;在 WinoGrande 上為 81.8%,GPT-3.5 為 81.6%。根據 HumanEval(70.1% vs. 48.1%)和 GSM8k(72.8% vs. 57.1%)的測量結果表明,DBRX Instruct 尤其擅長程式設計和數學推理。與 Gemini 1.0 Pro 和 Mistral Medium 的比較。DBRX Instruct 在與 Gemini 1.0 Pro 和 Mistral Medium 比較後,取得了具有競爭力的結果。DBRX Instruct 在 Inflection Corrected MTBench、MMLU、HellaSwag 和 HumanEval 上的得分高於 Gemini 1.0 Pro,而 Gemini 1.0 Pro 在 GSM8k 上的得分比 DBRX Instruct 要高。DBRX instruction 和 Mistral Medium 在 HellaSwag 上的得分相似,而 Mistral Medium 在 Winogrande 和 MMLU 上更強,DBRX instruction 在 HumanEval、GSM8k 和 Inflection Corrected MTBench 上更強。 表 2.DBRX Instruct 與閉源模型的比較。DBRX Instruct 訓練上下文視窗大小為 32K token。表 3 將其效能與 Mixtral Instruct 以及最新版本的 GPT-3.5 Turbo 和 GPT-4 Turbo API 在一系列長上下文基準測試上進行了比較。結果顯示,GPT-4 Turbo 通常是執行這些任務的最佳模型。而 DBRX Instruct 表現比 GPT-3.5 Turbo 好;DBRX Instruct 和 Mixtral Instruct 的整體效能相似。 表 3. 在 KV-Pairs 和 HotpotQAXL 基準測試中,模型的平均效能。表 4 顯示了 DBRX 在兩個 RAG 基準(Natural Questions 和 HotPotQA)上的質量。結果顯示,DBRX Instruct 與 Mixtral Instruct 和 LLaMA2-70B Chat 等開源模型以及當前版本的 GPT-3.5 Turbo 具有競爭力。表現再好的模型也必須考慮訓練和效率等因素,在 Databricks 尤其如此。該研究發現訓練混合專家模型可以顯著提高訓練的計算效率(表 5)。例如,在訓練 DBRX 系列中較小的成員模型 DBRX MoE-B(23.5B 引數,6.6B 啟用引數)時,在 Databricks LLM Gauntlet 上達到相同的 45.5% 分數 DBRX 所需的 FLOP 比 LLaMA2-13B 少 1.7 倍,而 DBRX MoE-B 只有 LLaMA2-13B 一半的啟用引數。研究人員表示,從整體上看,端到端的 LLM 預訓練 pipeline 計算效率在過去十個月中提高了近 4 倍。此前,2023 年 5 月 ,Databricks 釋出了 MPT-7B,這是一個在 1T token 上訓練的 7B 引數模型,在 Databricks LLM Gauntlet 分數為 30.9%。此次 DBRX 系列的一個成員模型為 DBRX MoE-A(總引數 7.7B,啟用引數 2.2B),Databricks Gauntlet 得分為 30.5%,而 FLOP 減少了 3.7 倍。這種效率的提升是建立在各種最佳化結果的基礎上,包括使用 MoE 架構、對網路其他架構的更改、更好的最佳化策略、更好的 token 化,以及非常重要的更好的預訓練資料。從單個方面來講,更好的預訓練資料對模型質量產生了重大影響。該研究使用 DBRX 預訓練資料在 1T token(稱為 DBRX Dense-A)上訓練了 7B 模型,它在 Databricks Gauntlet 上達到了 39.0%,而 MPT-7B 具有相同的 token 數,得分只有 30.9%。該研究估計,新的預訓練資料至少比用於訓練 MPT-7B 的資料好兩倍,換句話說,達到相同模型質量只需要一半的 token 數量。研究者透過在 500B token 上訓練 DBRX Dense-A 來確定這一點;它在 Databricks Gauntlet 上的表現超過了 MPT-7B,達到了 32.1%。除了資料質量更好外,另一個重要的貢獻因素可能是 GPT-4 的分詞器,它具有大詞彙量,並且被認為特別有效率。 表 5.圖 2 展示了使用 NVIDIA TensorRT-LLM 以及該研究最佳化後的服務基礎設施,為 DBRX 及其類似模型提供端到端推理效率。一般來說,MoE 模型的推理速度相比其模型要快。DBRX 在這方面也不例外,DBRX 推理吞吐量比 132B 非 MoE 模型高 2-3 倍。眾所周知,推理效率和模型質量通常是矛盾的:較大的模型一般質量都會高,但較小的模型推理效率更高。使用 MoE 架構可以在模型質量和推理效率之間實現比密集模型更好的權衡。例如,DBRX 的效能比 LLaMA2-70B 更高,並且由於啟用引數數量約為 LLaMA2-70B 的一半,DBRX 推理吞吐量最高可提高 2 倍(圖 2)。此外,DBRX 比 Mixtral 小,質量相應較低,但推理吞吐量更高。DBRX 開源後,Databricks 的首席科學家 Jonathan Frankle 表示,關於 DBRX 有很多故事可講,包括我們是如何構建它、選擇資料、設計課程、擴充套件 DBRX、學習 DBRX 的等等。最好的故事從現在開始,因為從此以後社群和企業都會以這種新模式起跑。DBRX 是透過 3.2Tbps 的 Infiniband 連線 3072 塊 NVIDIA H100 進行訓練的,訓練時間花費超過 3 個月,費用約 1000 萬美元。構建 DBRX 的主要過程包括預訓練、訓練後調整、評估、red team 和精煉等過程。若想在標準配置中執行 DBRX,你需要一臺至少配備四個 Nvidia H100 GPU(或記憶體共 320GB 的任何其他 GPU 配置)的伺服器或 PC。 參與了 DBRX 的決策者:Jonathan Frankle、Naveen Rao、Ali Ghodsi(Databricks 的 CEO)以及 Hanlin Tang。Databricks 副總裁 Naveen Rao 在接受採訪時表示,隨著 DBRX 的研發團隊 Mosaic Labs 不斷推動生成式 AI 研究,Databricks 將持續完善 DBRX 併發布新版本。https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llmhttps://www.wired.com/story/dbrx-inside-the-creation-of-the-worlds-most-powerful-open-source-ai-model/