開源大模型Llama 3王者歸來!最大底牌4000億參數(shù),性能直逼GPT-4
ChatGPT 拉開了大模型競(jìng)賽的序幕,Meta 似乎要后來居上了。
本周四,AI 領(lǐng)域迎來重大消息,Meta 正式發(fā)布了人們等待已久的開源大模型 Llama 3。
扎克伯格在 Facebook 上發(fā)帖:Big AI news today.
與此同時(shí),扎克伯格宣布:基于最新的 Llama 3 模型,Meta 的 AI 助手現(xiàn)在已經(jīng)覆蓋 Instagram、WhatsApp、Facebook 等全系應(yīng)用,并單獨(dú)開啟了網(wǎng)站。另外還有一個(gè)圖像生成器,可根據(jù)自然語(yǔ)言提示詞生成圖片。
Meta AI 網(wǎng)址:https://www.meta.ai/
扎克伯格表示,Meta 提供的生成式 AI 能力在免費(fèi)產(chǎn)品中性能是最強(qiáng)大的。
在 Facebook、Instagram、WhatsApp 和 Messenger 上,用戶現(xiàn)在可以借助 Meta AI 進(jìn)行搜索,無需在應(yīng)用程序之間切換:
當(dāng)你瀏覽信息流的時(shí)候,還可以直接從帖子中向 Meta AI 詢問更多信息:
圖像生成器帶來的玩法更加有趣,Imagine 功能帶來了從文本實(shí)時(shí)創(chuàng)建圖像。這一功能的測(cè)試版從今天開始在美國(guó)的 WhatsApp 和 Meta AI 網(wǎng)絡(luò)體驗(yàn)上推出。
開始打字時(shí),你會(huì)看到一個(gè)圖像出現(xiàn),每多輸入幾個(gè)字母,圖像都會(huì)發(fā)生變化:
Meta 表示,Llama 3 在多個(gè)關(guān)鍵的基準(zhǔn)測(cè)試中性能優(yōu)于業(yè)界先進(jìn)同類模型,其在代碼生成等任務(wù)上實(shí)現(xiàn)了全面領(lǐng)先,能夠進(jìn)行復(fù)雜的推理,可以更遵循指令,能夠可視化想法并解決很多微妙的問題。
簡(jiǎn)而言之,Llama 3 的主要亮點(diǎn)包括:
- 基于超過 15T token 訓(xùn)練,相當(dāng)于 Llama 2 數(shù)據(jù)集的 7 倍還多;
- 支持 8K 長(zhǎng)文本,改進(jìn)的 tokenizer 具有 128K token 的詞匯量,可實(shí)現(xiàn)更好的性能;
- 在大量重要基準(zhǔn)中均具有最先進(jìn)性能;
- 新能力范疇,包括增強(qiáng)的推理和代碼能力;
- 訓(xùn)練效率比 Llama 2 高 3 倍;
- 帶有 Llama Guard 2、Code Shield 和 CyberSec Eval 2 的新版信任和安全工具。
剛剛發(fā)布的 8B 和 70B 版本 Llama 3 模型已用于 Meta AI 助手,同時(shí)也面向開發(fā)者進(jìn)行了開源,包括預(yù)訓(xùn)練和微調(diào)版本:
下載鏈接:https://llama.meta.com/llama-downloads/
Github:https://github.com/meta-llama/
體量更大的多模態(tài)版本將在未來幾個(gè)月內(nèi)推出。Meta 稱,目前正在開發(fā)的最大模型是 400B+ 參數(shù)。
Meta 研究科學(xué)家 Aston Zhang 在大模型發(fā)布后表示,在 Llama 3 的研發(fā)過程中,研究團(tuán)隊(duì)一起應(yīng)對(duì)了預(yù)訓(xùn)練和人類數(shù)據(jù)、預(yù)訓(xùn)練擴(kuò)展、長(zhǎng)上下文、后訓(xùn)練和評(píng)估方面的諸多挑戰(zhàn)。這是一段艱難而又激動(dòng)人心的旅程。
更加激動(dòng)人心的內(nèi)容即將到來:Meta 的研究者現(xiàn)在準(zhǔn)備推出系列視頻,幫助人們深入了解 Llama 3 背后的技術(shù)。此外 Llama 3 的相關(guān)研究論文也將放出。
Llama 3,性能重回王座
最新發(fā)布的 8B 和 70B 參數(shù)的 Llama 3 模型可以說是 Llama 2 的重大飛躍,由于預(yù)訓(xùn)練和后訓(xùn)練(Post-training)的改進(jìn),本次發(fā)布的預(yù)訓(xùn)練和指令微調(diào)模型是當(dāng)今 8B 和 70B 參數(shù)規(guī)模中的最佳模型。與此同時(shí),后訓(xùn)練過程的改進(jìn)大大降低了模型出錯(cuò)率,進(jìn)一步改善了一致性,并增加了模型響應(yīng)的多樣性。
Llama 3 將數(shù)據(jù)和規(guī)模提升到新的高度。Meta 表示,Llama 3 是在兩個(gè)定制的 24K GPU 集群上、基于超過 15T token 的數(shù)據(jù)上進(jìn)行了訓(xùn)練 —— 相當(dāng)于 Llama 2 數(shù)據(jù)集的 7 倍還多,代碼數(shù)據(jù)相當(dāng)于 Llama 2 的 4 倍。從而產(chǎn)生了迄今為止最強(qiáng)大的 Llama 模型,Llama 3 支持 8K 上下文長(zhǎng)度,是 Llama 2 容量的兩倍。
此外,Meta 還開發(fā)了一套新的高質(zhì)量人類評(píng)估數(shù)據(jù)集。該評(píng)估集包含 1800 個(gè)提示,涵蓋 12 個(gè)關(guān)鍵用例:尋求建議、頭腦風(fēng)暴、分類、封閉式問答、編碼、創(chuàng)意寫作、提取、塑造角色、開放式問答、推理、重寫和總結(jié)。為了防止 Llama 3 在此評(píng)估集上出現(xiàn)過度擬合,Meta 表示他們自己的團(tuán)隊(duì)也無法訪問該數(shù)據(jù)集。下圖顯示了針對(duì) Claude Sonnet、Mistral Medium 和 GPT-3.5 對(duì)這些類別和提示進(jìn)行人工評(píng)估的匯總結(jié)果。
下圖是 Llama 3 預(yù)訓(xùn)練模型和其他同等規(guī)模模型的比較,前者表現(xiàn)出 SOTA 水平。
為了開發(fā)出出色的語(yǔ)言模型,Meta 認(rèn)為創(chuàng)新、擴(kuò)展和優(yōu)化是非常重要的。因而在 Llama 3 的研發(fā)中 Meta 采用了這一設(shè)計(jì)理念,重點(diǎn)關(guān)注四個(gè)關(guān)鍵要素:模型架構(gòu)、預(yù)訓(xùn)練數(shù)據(jù)、擴(kuò)展預(yù)訓(xùn)練和指令微調(diào)。
模型架構(gòu)
Llama 3 選擇了相對(duì)標(biāo)準(zhǔn)的純解碼器 Transformer 架構(gòu)。與 Llama 2 相比,Llama 3 做了幾個(gè)關(guān)鍵的改進(jìn),包括:
- Llama 3 使用具有 128K token 詞匯表的 tokenizer,可以更有效地對(duì)語(yǔ)言進(jìn)行編碼,從而顯著提高模型性能;
- 為了提高 Llama 3 模型的推理效率,研究團(tuán)隊(duì)在 8B 和 70B 大小的模型上采用了分組查詢注意力 (GQA);
- 在 8192 個(gè) token 的序列上訓(xùn)練模型,使用掩碼確保自注意力不會(huì)跨越文檔邊界。
訓(xùn)練數(shù)據(jù)
為了訓(xùn)練最好的語(yǔ)言模型,管理大型、高質(zhì)量的訓(xùn)練數(shù)據(jù)集至關(guān)重要。Meta 在預(yù)訓(xùn)練數(shù)據(jù)上投入了大量成本。Llama 3 使用超過 15T 的 token 進(jìn)行了預(yù)訓(xùn)練,這些 token 都是從公開來源收集的。總體上講,Llama 3 的訓(xùn)練數(shù)據(jù)集是 Llama 2 使用的數(shù)據(jù)集的七倍多,并且包含四倍多的代碼。為了為即將到來的多語(yǔ)言用例做好準(zhǔn)備,超過 5% 的 Llama 3 預(yù)訓(xùn)練數(shù)據(jù)集由涵蓋 30 多種語(yǔ)言的高質(zhì)量非英語(yǔ)數(shù)據(jù)組成。但是,Llama 3 在這些語(yǔ)言上的性能水平預(yù)計(jì)不會(huì)與英語(yǔ)相同。
為了確保 Llama 3 接受最高質(zhì)量數(shù)據(jù)的訓(xùn)練,研究團(tuán)隊(duì)開發(fā)了一系列數(shù)據(jù)過濾 pipeline,包括使用啟發(fā)式過濾器(filter)、NSFW 過濾器、語(yǔ)義重復(fù)數(shù)據(jù)刪除方法和文本分類器來預(yù)測(cè)數(shù)據(jù)質(zhì)量。
研究團(tuán)隊(duì)發(fā)現(xiàn)前幾代 Llama 非常擅長(zhǎng)識(shí)別高質(zhì)量數(shù)據(jù),因此 Meta 使用 Llama 2 為給 Llama 3 提供支持的文本質(zhì)量分類器生成訓(xùn)練數(shù)據(jù)。
研究團(tuán)隊(duì)還進(jìn)行了廣泛的實(shí)驗(yàn),以評(píng)估出在最終預(yù)訓(xùn)練數(shù)據(jù)集中不同來源數(shù)據(jù)的最佳混合方式,最終確保 Llama 3 在各種用例(包括日常問題、STEM、編碼、歷史知識(shí)等)中表現(xiàn)良好。
擴(kuò)展預(yù)訓(xùn)練
為了有效利用 Llama 3 模型的預(yù)訓(xùn)練數(shù)據(jù),Meta 投入了大量精力來擴(kuò)展預(yù)訓(xùn)練。
具體來說,Meta 為下游基準(zhǔn)評(píng)估制定了一系列詳細(xì)的擴(kuò)展法則。這些擴(kuò)展法則使 Meta 能夠選擇最佳的數(shù)據(jù)組合,并就如何最好地使用訓(xùn)練計(jì)算做出明智的決策。
重要的是,擴(kuò)展法則使 Meta 能夠在實(shí)際訓(xùn)練模型之前預(yù)測(cè)最大模型在關(guān)鍵任務(wù)上的性能(例如,在 HumanEval 基準(zhǔn)上評(píng)估的代碼生成性能)。這有助于確保最終模型在各種用例和功能上都具有強(qiáng)大的性能。
在 Llama 3 的開發(fā)過程中,Meta 對(duì)擴(kuò)展行為進(jìn)行了一些新的觀察。例如,雖然 8B 參數(shù)模型的 Chinchilla 最佳訓(xùn)練計(jì)算量對(duì)應(yīng)約 200B token,但 Meta 發(fā)現(xiàn)即使在模型接受了兩個(gè)數(shù)量級(jí)以上的數(shù)據(jù)訓(xùn)練之后,模型性能仍在繼續(xù)提高。
在對(duì)多達(dá) 15T token 進(jìn)行訓(xùn)練后,8B 和 70B 參數(shù)的模型都繼續(xù)以對(duì)數(shù)線性的方式提升性能。較大的模型可以用較少的訓(xùn)練計(jì)算來匹配較小模型的性能,但較小的模型通常是首選,因?yàn)樗鼈冊(cè)谕评磉^程中效率更高。
Meta 透露,它們使用自定義訓(xùn)練庫(kù)、Meta 的超級(jí)集群和生產(chǎn)集群預(yù)訓(xùn)練 Llama3。微調(diào)、注釋和評(píng)估在第三方云計(jì)算上進(jìn)行。
預(yù)訓(xùn)練是在 H100-80GB 類型的硬件(TDP 為 700W)上累計(jì) 770 萬(wàn)個(gè) GPU 小時(shí)的計(jì)算。
為了訓(xùn)練最大的 Llama 3 模型,Meta 結(jié)合了三種類型的并行化:數(shù)據(jù)并行化、模型并行化和管道并行化。
當(dāng)同時(shí)在 16K GPU 上進(jìn)行訓(xùn)練時(shí),Meta 最高可實(shí)現(xiàn)每個(gè) GPU 超過 400 TFLOPS 的計(jì)算利用率。Llama3 是在兩個(gè)定制的 24K GPU 集群上進(jìn)行了訓(xùn)練。為了最大限度地延長(zhǎng) GPU 的正常運(yùn)行時(shí)間,Meta 開發(fā)了一種先進(jìn)的新訓(xùn)練堆棧,可以自動(dòng)執(zhí)行錯(cuò)誤檢測(cè)、處理和維護(hù)。Meta 還極大地改進(jìn)了硬件可靠性和靜默數(shù)據(jù)損壞檢測(cè)機(jī)制,并且開發(fā)了新的可擴(kuò)展存儲(chǔ)系統(tǒng),以減少檢查點(diǎn)和回滾的開銷。
這些改進(jìn)使總體有效訓(xùn)練時(shí)間超過 95%。
綜合起來,這些改進(jìn)使 Llama 3 的訓(xùn)練效率比 Llama 2 提高了約三倍。
指令微調(diào)
為了充分釋放預(yù)訓(xùn)練模型在聊天場(chǎng)景中的潛力,Meta 還對(duì)指令微調(diào)方法進(jìn)行了創(chuàng)新。Llama 3 后訓(xùn)練方法用的是有監(jiān)督微調(diào)(SFT)、拒絕采樣、近端策略優(yōu)化(PPO)和直接策略優(yōu)化(DPO)的組合。SFT 中使用的 prompt 質(zhì)量以及 PPO 和 DPO 中使用的偏好排序?qū)δP蛯?duì)齊有著巨大的影響。
此次模型質(zhì)量的最大改進(jìn),來自于仔細(xì)整理數(shù)據(jù)以及對(duì)人類注釋者提供的注釋進(jìn)行多輪質(zhì)量保證。
通過 PPO 和 DPO 從偏好排序中學(xué)習(xí),也極大地提高了 Llama 3 在推理和編碼任務(wù)上的性能。Meta 發(fā)現(xiàn),如果你向模型提出一個(gè)它難以回答的推理問題,該模型有時(shí)會(huì)產(chǎn)生正確的推理軌跡:模型知道如何產(chǎn)生正確的答案,但不知道如何選擇它。對(duì)偏好排序的訓(xùn)練使模型能夠?qū)W習(xí)如何選擇正確答案。
使用 Llama 3
在此版本中,Meta 提供了新的信任與安全工具,包括 Llama Guard 2 和 Cybersec Eval 2 的更新組件,并引入了 Code Shield—— 一種過濾大模型生成的不安全代碼的防護(hù)欄。
Meta 還用 torchtune 開發(fā)了 Llama 3。torchtune 是新的 PyTorch 原生庫(kù),可以輕松地使用 LLM 進(jìn)行創(chuàng)作、微調(diào)和實(shí)驗(yàn)。
torchtune 提供完全用 PyTorch 編寫的內(nèi)存高效且可解除的訓(xùn)練方法。該庫(kù)與 Hugging Face、Weights & Biases 和 EleutherAI 等知名平臺(tái)集成,甚至支持 Executorch,以便在各種移動(dòng)和邊緣設(shè)備上運(yùn)行高效推理。
從快速工程到將 Llama 3 與 LangChain 結(jié)合使用,Meta 提供了全面的入門指南,指導(dǎo)開發(fā)者進(jìn)行大規(guī)模部署。
安全改進(jìn)
Meta 采用了一種新的、系統(tǒng)級(jí)的方法來負(fù)責(zé)任地開發(fā)和部署 Llama,將 Llama 模型視為更廣泛系統(tǒng)的一部分,讓開發(fā)者掌握主導(dǎo)權(quán)。Llama 模型將作為系統(tǒng)的基礎(chǔ)部分,由開發(fā)人員根據(jù)其獨(dú)特的最終目標(biāo)進(jìn)行設(shè)計(jì)。
指令微調(diào)在確保模型安全性方面也發(fā)揮了重要作用。經(jīng)過內(nèi)部和外部的共同努力,Meta 對(duì)經(jīng)過指令微調(diào)的模型進(jìn)行了安全紅隊(duì)(測(cè)試)。
「紅隊(duì)」方法利用人類專家和自動(dòng)化方法生成對(duì)抗性提示,試圖誘發(fā)有問題的反應(yīng)。例如,采用綜合測(cè)試來評(píng)估與化學(xué)、生物、網(wǎng)絡(luò)安全和其他風(fēng)險(xiǎn)領(lǐng)域有關(guān)的濫用風(fēng)險(xiǎn)。所有這些工作都是反復(fù)進(jìn)行的,并用于對(duì)發(fā)布的模型進(jìn)行安全微調(diào)。
Llama Guard 模型旨在為及時(shí)響應(yīng)安全奠定基礎(chǔ),并可根據(jù)應(yīng)用需求輕松微調(diào)以創(chuàng)建新的分類標(biāo)準(zhǔn)。作為起點(diǎn),新版 Llama Guard 2 采用了最近公布的 MLCommons 分類標(biāo)準(zhǔn)。此外,CyberSecEval 2 在其前身的基礎(chǔ)上進(jìn)行了擴(kuò)展,增加了對(duì) LLM 允許濫用其代碼解釋器的傾向、網(wǎng)絡(luò)安全能力以及對(duì)提示注入打擊的易感性的測(cè)量。最后,Meta 將推出代碼盾(Code Shield),它增加了對(duì) LLM 生成的不安全代碼進(jìn)行推理時(shí)過濾的支持。這可以降低不安全代碼建議、代碼解釋器濫用預(yù)防和安全命令執(zhí)行方面的風(fēng)險(xiǎn)。
隨著生成式人工智能領(lǐng)域的快速發(fā)展,開源將是將生態(tài)系統(tǒng)整合在一起并減少這些潛在危害的重要途徑。
為此,Meta 持續(xù)更新《負(fù)責(zé)任使用指南》(RUG),該指南為負(fù)責(zé)任地使用 LLM 進(jìn)行開發(fā)提供了全面指導(dǎo)。比如像指南中所概述的那樣,所有輸入和輸出都應(yīng)根據(jù)適合應(yīng)用的內(nèi)容指南進(jìn)行檢查和過濾。此外,許多云服務(wù)提供商都提供了用于負(fù)責(zé)任部署的內(nèi)容審核 API 和其他工具,開發(fā)人員也被建議考慮使用這些選項(xiàng)。
大規(guī)模部署 Llama 3
Llama 3 即將在所有主要平臺(tái)上推出,包括云提供商、模型 API 提供商等。
基準(zhǔn)測(cè)試表明,tokenizer 提高了 token 化效率,與 Llama 2 相比,token 生成量最多可減少 15%。此外,組查詢關(guān)注(GQA)現(xiàn)在也被添加到了 Llama 3 8B。
因此,盡管與 Llama 2 7B 相比,該模型多了 1B 個(gè)參數(shù),但 tokenizer 效率和 GQA 的改進(jìn)有助于保持與 Llama 2 7B 相當(dāng)?shù)耐评硇省?/span>
在 Llama Recipes(https://github.com/meta-llama/llama-recipes)中,介紹了有關(guān)如何利用所有這些功能的示例,其中包含所有的開放源代碼,可用于從微調(diào)、部署到模型評(píng)估的所有工作。
下一步是什么?
8B 和 70B 兩個(gè)型號(hào)的模型,標(biāo)志著 Llama 3 系列的開端,下一步還會(huì)有更多。
Meta 表示, 「最大的 Llama 3」參數(shù)超過 400B,雖然這些機(jī)型仍在訓(xùn)練中,但在接下來的幾個(gè)月中也將陸續(xù)發(fā)布,新功能包括多模態(tài)、多語(yǔ)言對(duì)話能力、更長(zhǎng)的上下文窗口以及更強(qiáng)的整體能力。
一旦完成 Llama 3 的訓(xùn)練,Meta 還將發(fā)表一篇詳細(xì)的研究論文。
Llama 3 還未到來的 400B+ 版本會(huì)有多強(qiáng)?它一旦發(fā)布是不是意味著開源社區(qū)就將迎來 GPT-4 級(jí)大模型?
Jim Fan 整理的 Llama3 400B 與 GPT-4 等模型的比分。
也許只有 OpenAI 的 GPT-5 才能壓下開源模型了。