Llama 3.1橫空出世,開源巨無霸首次擊潰閉源,全民GPT-4時代來臨

開源新王Llama 3.1 405B,昨夜正式上線!

在多項基準測試中,GPT-4o和Claude 3.5 Sonnet都被超越。也即是說,閉源SOTA模型,已經在被開源模型趕上。

一夜之間,Llama 3.1 405B已成世界最強大模型。

(同時上線的,還有新版70B和8B模型)

LeCun總結了Llama 3.1模型家族的幾大要點:

– 405B的性能,與最好的閉源模型性能相當

– 開源/免費使用權重和代碼,允許進行微調、蒸餾到其他模型中,以及在任何地方部署

– 128k的上下文,多語言,良好的代碼生成能力,複雜推理能力,以及工具使用能力

– Llama Stack API可以輕鬆集成

Meta這次可謂是將開源的精神貫徹到底,同時大方放出的,還有一篇90多頁的論文。

HuggingFace首席科學家Thomas Wolf讚賞道:如果想從0開始研究大模型,你需要的就是這篇paper!

它簡直無所不包——預訓練數據、過濾、退火、合成數據、縮放定律、基礎設施、並行處理、訓練方法、訓練後適應、工具使用、基準測試、推理策略、量化、視覺、語音和影片……

AI2的研究員Nathan Lambert估計,這份90頁的Llama 3.1論文,將直接把開源模型的進展往前推上3-9個月!

Meta CEO小紮則自豪地寫下一篇長文:開源人工智能是前進的道路。

在紐約時報的採訪中,小紮力撐開源AI在紐約時報的採訪中,小紮力撐開源AI

在這篇文章中,小紮感慨地回憶了Meta在LLM浪潮中的翻身之路——

去年,Llama 2只能與邊緣的舊模型相提並論;今年,Llama 3在某些方面已經領先於最先進的模型;明年開始,未來的Llama模型將成為最先進的模型。

對於自己被多次問到的「是否擔心開源Llama而失去技術優勢」,小紮直接以Linux自比。

他表示,曾經大科技公司都大力投資於自己的Unix版本,然而最終還是開源Linux勝出了,因為它允許開發者隨意修改代碼,更先進、更安全、生態更廣泛。

AI,也必將以類似方式發展。

為此,Meta特地放寬了自己的許可,首次允許開發者使用Llama 3.1模型的高質量輸出,來改進和開發第三方AI模型。

網民:一個新時代開始

Llama 3.1正式解禁後,在全網掀起軒然大波。

AI大神Karpathy隨即發表了一些自己的感想:

今天,隨著405B模型的發佈,GPT-4/Claude 3.5 Sonnet級別的前沿大模型首次對所有人開放供大家使用和構建。。其權重開源,商用許可、允許生成合成數據、蒸餾和微調模型。

這是Meta發佈的一個真正開放的前沿LLM。除此以外,他們還放出了長達92頁的技術報告,其中包含有大量模型細節:https://ai.meta.com/research/publications/the-llama-3-herd-of-models/

這次模型發佈背後的理念,在小紮的一篇長文中有詳細闡述,非常值得一讀,因為它很好地涵蓋了支持開放AI生態系統世界觀的所有主要觀點和論點:

開源AI是未來。

我常說,現在仍處於早期階段,就像計算機發展的1980年代重現一樣,LLM是下一個重要的計算範式,而Meta顯然正定位自己為其開放生態系統的領導者。

– 人們將對這些模型進行提示和使用RAG

– 人們將對模型進行微調

– 人們將把它們蒸餾成更小的專家模型,用於特定任務和應用

– 人們對其進行研究、基準測試、優化

另外,開放生態系統還以模塊化的方式自組織成產品、應用和服務,每個參與方都可以貢獻自己的獨特專業知識。

一個例子是,AI芯片初創Groq已經集成了Llama 3.1模型,幾乎能實現8B模型瞬間推理。

Karpathy稱,由於服務器壓力,自己似乎無法嘗試運行在Groq上的405B可能是今天能力最強、最快的大模型。

他還預計,閉源模型們很快就會追趕上來,並對此非常期待。

Meta研究員田淵棟稱,一個新的時代已經開始!開源LLM現在與閉源LLM不相上下/更勝一籌!

開源模型新王者誕生了。

OpenPipe創始人在測試完經過微調的Llama 3.1 8B後感慨道:從未有過如此小且如此強大的開源模型——它在每個任務上的表現都優於GPT-4o mini!

英偉達高級科學家Jim Fan表示,GPT-4的力量就在我們手中。這是一個具有歷史性意義的時刻。

鮮有人關注AI模型訓練背後的基礎設施,Pytorch之父Soumith Chintala站出來表示,在16000塊GPU搭建的設施中,也會遇到失敗的時候。

這些細節都藏在了Llama 3.1的論文中,包括如何並行化、保持系統可靠性。值得一提的是,Meta團隊在模型訓練中實現了90%的有效訓練時間。

有網民細數了Llama模型迭代過程中,GPU的用量也在不斷增長。

Llama 1:2048塊GPU

Llama 2:4096塊GPU

Llama 3.1:16384塊GPU(其實,Llama 3是在兩個擁有24,000塊GPU集群完成訓練)

Llama 4:……

最強開源模型家族

其實,關於Llama 3.1系列模型一些要點,在昨天基本上被劇透得體無完膚了。

正如泄露信息所述,Llama 3.1可以支持8種語言(英語,德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語),多語言對話智能體、翻譯用例等。

在上下文長度上,比起Llama 2、Llama 3,Llama 3.1系列模型中所有上下文增加了16倍,為128K。

Meta強調,Llama 3.1還在工具使用方面得到了改進,支持零樣本工具使用,包括網絡搜索、數學運算和代碼執行。

基於長上下文,模型不僅知道何時使用工具,還能理解如何使用以及如何解釋結果。

此外, 通過微調,Llama 3.1在調用自定義工具方面提供了強大的靈活性。

主要能力

首先,Llama 3.1可以作為一個能夠執行「智能體」任務的系統來運行:

– 分解任務並進行多步驟推理

– 使用工具

– 內置工具:模型自帶對搜索或代碼解釋器等工具的知識

– 零樣本學習:模型可以通過以前未見過的上下文工具定義來學會調用工具

比如問模型:「這是一個CSV文件,你可以描述它裡面有什麼嗎?」

它會識別出:這份CSV文件包含了多年的每月通貨膨脹率,年份一欄表示了每組每月通貨膨脹率的年份。

接下來,我們可以要求它按時間序列繪製圖表。接下來,我們可以要求它按時間序列繪製圖表。

接下來,它還能完成一系列刁鑽的任務,比如在同一圖表中繪製S&P500的走勢圖。

完成之後,還能重新調整圖表,把信息加到不同的坐標軸上。

如上所示,Llama 3.1支持8種語言,因此可以勝任多語言的翻譯。

我們可以讓它將童話故事《漢澤爾與格萊特》(糖果屋)翻譯成西班牙語。

即使面對比較複雜的推理題,Llama 3.1也能輕鬆拿下。

「我有3件襯衫、5條短褲和1條連衣裙。我要出行10天,這些衣服夠我渡假用嗎」?

AI將已知的條件,進行分解,對上衣、短褲、裙子設想了一個合理的搭配方案,並建議最好多帶幾件上衣。

在推理完成後,它還貼心地為我們提供了更詳細的出行穿衣指南、行李清單。

我們還可以讓AI手寫代碼。

比如讓它創建一個程序,使用遞歸回溯算法或深度優先搜索算法生成一個完美迷宮,並且可以自定義大小和複雜度。

只見AI一上手,直出迷宮程序的Python代碼。

代碼完成後,AI還給出了詳細的解釋。

再接下來,若想自定義程序,AI代碼助手為我們提供了相應的代碼建議——調整寬度和高度。

評測結果

為了評估Llama3.1的表現,Meta不僅在測試中囊括了150個涵蓋多語種的基準數據集,並且還在真實場景中進行了比較。

在多種任務中,405B都可以和GPT-4、GPT-4o、Claude 3.5 Sonnet等閉源領先模型掰手腕。

而8B和70B的小模型,在參數量相似的閉源和開源模型中,同樣表現出色。

除了長上下文任務,8B和70B模型在通用任務、代碼、數學、推理、工具使用、多語言上,取得了SOTA。

人類評估中,Llama 3.1 405B模型與GPT-4不相上下,但略遜於GPT-4o。

不過,在與Claude3.5 Sonnet相較下,405B大模型更有優勢,勝率為24.9%。

此外,在Scale的排行榜中,Llama 3.1 405B微調版本在指令跟隨評估中,碾壓Claude 3.5 Sonnet、GPT-4o。

在數學任務中,405B僅次於Claude 3.5 Sonnet,位列第二。不過,Llama 3.1在代碼任務上,得分相對較低。

92頁超詳技術報告

沒有誰能夠像Meta一樣開源徹底,92頁超長技術報告,也在今天一併放出。

論文地址:https://ai.meta.com/research/publications/the-llama-3-herd-of-models/

論文提出,Llama 3.1這種高質量的基座模型有3個關鍵槓桿:數據、規模以及複雜度管理。

數據方面,相比前代,Llama 3.1的數據總量和質量都有所提高,比如對預訓練數據更仔細的預處理和管理管道,以及對訓練後數據更嚴格的質量保證和過濾方法。

Llama 2僅在1.8T token的數據上進行預訓練,而Llama 3.1的多語言預訓練語料則達到了15.6T token,有超過8倍的增長。

規模方面,Llama 3.1的訓練使用了超過1.6萬個英偉達H100 GPU,計算總量達到3.8e25 FLOPS,幾乎是Llama 2的50×。

為了更好地實現「scale up」,論文特別提出了「複雜度管理」這個方面。在選擇模型架構和算法時,需要更關注其穩定性和可擴展性。

值得關注的是,Llama 3.1並沒有使用最受關注的MoE架構,而是decoder-only架構的稠密Transformer,僅將原始的Transformer架構進行過一些修改和調整,以最大化訓練穩定性。

類似的做法還有,使用SFT、RS、DPO等簡潔的訓練後流程,而不是更複雜的強化學習算法。

和許多大模型類似,Llama 3的開發也主要包括兩個階段:預訓練和後訓練。

預訓練時同樣使用「預測下一個token」作為訓練目標,首先將上下文窗口設定為8K,之後在繼續預訓練階段擴展到128K。

後訓練階段通過多個輪次迭代的人類反饋來改進模型,顯著提升了編碼和推理性能,並整合了工具使用的能力。

此外,論文還嘗試使用3個額外階段為Llama 3.1添加圖像、影片、語音等多模態功能:

– 多模態編碼器預訓練:圖像和語音的編碼器分開訓練,前者的預訓練數據是圖像-文本對,後者則採用自監督方法,嘗試通過離散化的token重建語音中被掩碼的部分。

– 視覺適配器:由一系列跨注意力層組成,將圖像編碼器的表示注入到經過預訓練的語言模型中。以圖像為基礎,論文還嘗試在影片-文本對上訓練了影片適配器。

– 語音適配器:連接語音編碼器和語言模型,此外還集成了「文本到語音」系統。

遺憾的是,上述的多模態功能依舊在開發階段,因此沒有包含在新發佈的Llama 3.1中。

模型架構

Llama 3.1依舊使用標準的稠密Transformer,與Llama和Llama 2在架構方面並沒有顯著差異,性能的改進主要來自訓練數據質量、多樣性的提升,以及規模擴展。

與Llama 3相比,Llama 3.1的架構有以下改進:

– 分組查詢注意力(GQA):帶有8個鍵-值頭,提升推理速度並減少解碼時的KV緩存

– 注意力掩碼:防止同一序列中不同文檔之間出現自注意力。這個技巧在標準預訓練中效果有限,但對很長的序列進行繼續預訓練時非常重要

– 128K token詞表:包括tiktoken中的100K以及額外的28K,以更好支持非英語語言。與Llama 2相比,同時提高了英語和非英語的壓縮比率

– 將RoPE的超參數θ設置為500,000:更好支持長上下文

模型的關鍵超參數如表3所示,基於數據量和訓練算力,模型的大小達到了Scaling Law所揭示的算力最優化。

並行效率

要在1.6萬張GPU上訓練405B的模型,僅僅是考慮並行和故障處理,就已經是一個大工程了。

除了模型本身,論文對訓練過程使用的並行化方案,以及存儲、網絡等基礎設施都進行了闡述。

Llama 3.1的訓練採用4D並行(張量+流水線+上下文+數據),在BF16精度下,GPU利用率(MFU)約為38%~41%。

Llama 3.1訓練集群的故障處理也十分出色,達到了超過90%的有效訓練時間,但這依舊意味著,總共54天的預訓練過程中,每天都至少有一次中斷。

論文將全部419次意外中斷的故障原因都詳細列出(表5),對未來的GPU集群搭建有非常重要的借鑒意義。其中確認或懷疑與硬件相關的問題佔比達到了78%。

由於集群的自動化運維比較完善,儘管故障次數多,但大部分都可以被自動處理。整個過程中,只有3次故障需要手動干預。

提高達定能力的性能

代碼

為了提高模型的編碼能力,Meta採用了訓練代碼專家、生成SFT合成數據、通過系統提示引導改進格式,以及創建質量過濾器(從訓練數據中刪除不良樣本)等方法。

使用Llama 3將Python代碼(左)轉換為PHP代碼(右),以使用更廣泛的編程語言來擴充SFT數據集

通過系統提升,讓代碼質量提高。左:無系統提示 右:有系統提示

多語種

為了提高Llama 3的多語種能力,Meta專門訓練了一個能夠處理更多多語言數據的專家,從而獲取和生成高質量的多語言指令微調數據(如德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語),並解決多語言引導中的特定挑戰。

數學推理

訓練擅長數學推理的模型,面臨著幾大挑戰,比如缺乏提示、缺乏真實的CoT、不正確的中間步驟、需要教模型使用外部工具、訓練和推理之間的差異等。

為此,Meta採用了以下方法:解決提示不足問題、增強訓練數據中的逐步推理過程、過濾錯誤的推理過程、結合代碼和文本推理、從反饋和錯誤中學習。

長上下文

在最後的預訓練階段,Meta將Llama 3的上下文長度從8K token擴展到128K。

在實踐中團隊發現,如果僅使用短上下文數據進行SFT,會導致模型長上下文能力顯著退化;而閱讀冗長的上下文非常乏味、耗時,所以讓人類標註此類示例也是不切實際的。

因此,Meta選擇了合成數據來填補這一空白。

他們使用Llama 3的早期版本,生成了基於關鍵長上下文用例的合成數據:(多輪)問答、長文檔摘要、代碼庫推理。

工具使用

Meta訓練了Llama 3與搜索引擎、Python解釋器、數學計算引擎交互。

在開發過程中,隨著Llama 3的逐步改進,Meta也逐漸複雜化了人工標註協議。從單輪工具使用標註開始,轉向對話中的工具使用,最後進行多步工具使用和數據分析的標註。

Llama 3執行多步驟規劃、推理和工具調用來解決任務

基於提供文件,要求模型總結文件內容、查找並修復錯誤、優化代碼、執行數據分析或可視化等基於提供文件,要求模型總結文件內容、查找並修復錯誤、優化代碼、執行數據分析或可視化等

事實性

對於LLM的公認挑戰幻覺問題,Meta採取了幻覺優先的方法。

他們遵循的原則是,訓練後應該使模型「知道它知道什麼」,而不是添加知識。

可操縱性

對於Llama 3,Meta通過帶有自然語言指令的系統提示,來增強其可操縱性,特別是在響應長度、格式、語氣和角色/人格方面。

「你是一個樂於助人、開朗的AI聊天機器人,為忙碌的家庭充當膳食計劃助手」

團隊成員

Llama 3的團隊可以說非常龐大,單核心成員而言就達到了差不多220人,其他貢獻者也有312人之多。

小紮:開源AI是未來

眾所周知,小紮一直是開源AI的忠誠擁躉者。

這次不僅是發佈一個新的最強模型那麼簡單,而是誓要讓開源AI走上神壇。

在博客中,小紮直接以史為鑒,曾經,各大科技公司都投入巨資埋頭開發封閉源Unix版本。

Unix戰場打得火熱,沒想到笑到最後的卻是開源的Linux。

Linux最初是因為它允許開發者隨意修改代碼,並且價格更實惠,廣受開發者青睞。

但隨著時間的推移,它變得更加先進、更安全,並且擁有比任何封閉的Unix更廣泛的生態系統支持更多的功能。

今天,Linux已成為雲計算和大多數移動設備操作系統的行業標準,而所有人都因此受益。

小紮相信,AI的發展軌跡也將如此,並且將矛頭直指「幾家科技公司」的閉源模型。

「今天,幾家科技公司正在開發領先的封閉模型,但開源正在迅速縮小差距。」

小紮敢直接點名自然有他的實力作為底氣,去年,Llama 2還落後於前沿的舊一代模型。

而今年,Llama 3在性能方面已經能與其他巨頭大模型分庭抗禮了。

Llama 3.1 405B作為第一個前沿級別的開源AI模型,除了相對於封閉模型顯著更好的成本/性能比之外,405B模型的開放性使其成為微調和蒸餾小型模型的最佳選擇。

為什麼開源AI對開發者有益?

對於開發者來說,堅持開源模型有五大好處:

第一,開源模型允許開發者自由地訓練、微調和蒸餾自己的模型。

每個開發者的需求不同,設備上的任務和分類任務需要小模型,而更複雜的任務則需要大模型。

利用最先進的開源模型,開發者可以用自己的數據繼續訓練,並蒸餾成理想大小。

第二,可以避免被單一供應商限制。

開發者不希望依賴於自己無法運行和控制的模型,也不希望供應商改變模型、修改使用條款,甚至完全停止服務。

而開源使得模型可以輕鬆切換和部署,從而打造一個廣泛的生態系統。

第三,保護數據安全。

開發者在處理敏感數據時,需要確保數據的安全,這就要求他們不能通過API發送給閉源模型。

眾所周知,由於開發過程更透明,因此開源軟件通常更安全。

第四,運行高效且成本更低。

開發者運行Llama 3.1 405B的推理成本只有GPT-4o的一半,無論是用戶端還是離線推理任務。

第五,長遠眼光來看,開源將成為全行業標準。

實際上,開源的發展速度比閉源模型更快,而開發者也希望能夠在長期具有優勢的架構上構建自己的系統。

在小紮看來,Llama 3.1的發佈將成為行業轉折點,讓開源變得愈發勢不可擋。

參考資料:

https://ai.meta.com/blog/meta-llama-3-1/

https://llama.meta.com/

https://www.facebook.com/4/posts/10115716861061241/?rdid=VE0wPWaJDdF21j32

本文來自微信公眾號「新智元」,作者:新智元,36氪經授權發佈。