hao86下載站:值得大家信賴的游戲下載站!

首頁(yè) > 區(qū)塊鏈 > Hugging Face:2023開(kāi)源LLM大爆發(fā),數(shù)據(jù)競(jìng)賽已開(kāi)啟

Hugging Face:2023開(kāi)源LLM大爆發(fā),數(shù)據(jù)競(jìng)賽已開(kāi)啟

時(shí)間:2023-12-31 16:01:15
來(lái)源:hao86下載
區(qū)塊鏈

【#區(qū)塊鏈# #Hugging Face:2023開(kāi)源LLM大爆發(fā),數(shù)據(jù)競(jìng)賽已開(kāi)啟#】

原文來(lái)源:新智元

圖片來(lái)源:由無(wú)界 AI生成

2023年的LLM開(kāi)源社區(qū)都發(fā)生了什么?來(lái)自Hugging Face的研究員帶你回顧并重新認(rèn)識(shí)開(kāi)源LLM

2023年的大語(yǔ)言模型(LLM),讓幾乎所有人都燃起了熱情。

現(xiàn)在大多數(shù)人都知道LLM是什么,以及可以做什么。

人們討論著它的優(yōu)缺點(diǎn),暢想著它的未來(lái),

向往著真正的AGI,又有點(diǎn)擔(dān)憂自己的命運(yùn)。

圍繞開(kāi)源與閉源的公開(kāi)辯論也吸引了廣泛的受眾。

2023年的LLM開(kāi)源社區(qū)都發(fā)生了什么?

下面,讓我們跟隨Hugging Face的研究員Clémentine Fourrier一起,

回顧一下開(kāi)源LLM這跌宕起伏的一年。

如何訓(xùn)練大語(yǔ)言模型?

LLM的模型架構(gòu)描述了具體實(shí)現(xiàn)和數(shù)學(xué)形狀。模型是所有參數(shù)的列表,以及參數(shù)如何與輸入交互。

目前,大多數(shù)高性能的LLM都是Transformer架構(gòu)的變體。

LLM的訓(xùn)練數(shù)據(jù)集,包含訓(xùn)練模型所需的所有示例和文檔。

大多數(shù)情況下是文本數(shù)據(jù)(自然語(yǔ)言、編程語(yǔ)言、或者其他可表達(dá)為文本的結(jié)構(gòu)化數(shù)據(jù))。

分詞器(tokenizer)定義如何將訓(xùn)練數(shù)據(jù)集中的文本轉(zhuǎn)換為數(shù)字(因?yàn)槟P捅举|(zhì)上是一個(gè)數(shù)學(xué)函數(shù))。

文本被切分成稱為tokens的子單元(可以是單詞、子單詞或字符)。

分詞器的詞匯量通常在32k到200k之間,而數(shù)據(jù)集的大小通常以它包含的tokens數(shù)量來(lái)衡量,當(dāng)今的數(shù)據(jù)集可以達(dá)到幾千億到幾萬(wàn)億個(gè)tokens。

然后,使用超參數(shù)定義如何訓(xùn)練模型——每次迭代,參數(shù)應(yīng)該改變多少?模型的更新速度應(yīng)該有多快?

搞定這些后,剩下的就只需要:大量的算力,以及訓(xùn)練過(guò)程中進(jìn)行監(jiān)控。

訓(xùn)練的過(guò)程包括實(shí)例化架構(gòu)(在硬件上創(chuàng)建矩陣),并使用超參數(shù)在訓(xùn)練數(shù)據(jù)集上運(yùn)行訓(xùn)練算法。

最終得到的結(jié)果是一組模型權(quán)重,——大家討論的大模型就是這個(gè)東西。

這組權(quán)重可以用來(lái)推理,對(duì)新的輸入預(yù)測(cè)輸出、生成文本等。

上面訓(xùn)練好的LLM也可以在之后通過(guò)微調(diào)(fine-tuning)來(lái)適應(yīng)特定任務(wù)(尤其是對(duì)于開(kāi)源模型)。

微調(diào)的過(guò)程是在不同的數(shù)據(jù)集(通常更專業(yè)、更?。┥蠈?duì)模型進(jìn)行額外的訓(xùn)練步驟,以針對(duì)特定應(yīng)用程序進(jìn)行優(yōu)化。

比起從頭開(kāi)始訓(xùn)練一個(gè)大模型,微調(diào)的成本顯然低得多——這也是開(kāi)源LLM受到大家歡迎的原因之一。

從規(guī)模競(jìng)賽到數(shù)據(jù)競(jìng)賽

直到2022年初,機(jī)器學(xué)習(xí)的趨勢(shì)是模型越大,性能就越好。

而且似乎模型的大小在超過(guò)某個(gè)閾值之后,能力會(huì)得到飛躍——有兩個(gè)詞語(yǔ)用來(lái)描述這個(gè)現(xiàn)象:emergent abilities和scaling laws 。

2022年發(fā)布的預(yù)訓(xùn)練開(kāi)源模型大多遵循這種范式,下面舉幾個(gè)例子。

BLOOM(BigScience Large Open-science Open-access Multilingual Language Model)是BigScience發(fā)布的一系列模型,由Hugging Face與法國(guó)組織GENCI和IDRIS合作,涉及來(lái)自60個(gè)國(guó)家和250個(gè)機(jī)構(gòu)的1000名研究人員。這些模型使用decoder-only transformers,并進(jìn)行了微小的修改。

系列中最大的模型有176B參數(shù),使用350B的訓(xùn)練數(shù)據(jù)集,包括46種人類語(yǔ)言和13種編程語(yǔ)言,是迄今為止最大的開(kāi)源多語(yǔ)言模型。

OPT(Open Pre-trained Transformer)系列模型由Meta發(fā)布,遵循GPT-3論文的技巧(特定權(quán)重初始化、預(yù)歸一化),對(duì)注意力機(jī)制(交替密集和局部帶狀注意力層)進(jìn)行了一些更改。

這個(gè)系列中最大的模型為175B,在180B的數(shù)據(jù)上進(jìn)行訓(xùn)練,數(shù)據(jù)主要來(lái)自書籍、社交、新聞、維基百科和互聯(lián)網(wǎng)上的其他信息。

OPT的性能與GPT-3相當(dāng),使用編碼優(yōu)化來(lái)降低計(jì)算密集度。

GLM-130B(通用語(yǔ)言模型)由清華大學(xué)和Zhipu.AI發(fā)布。它使用完整的transformer架構(gòu),并進(jìn)行了一些更改(使用DeepNorm進(jìn)行層后歸一化、旋轉(zhuǎn)嵌入)。

GLM-130B是在400B個(gè)中英文互聯(lián)網(wǎng)數(shù)據(jù)(The Pile、Wudao Corpora和其他中文語(yǔ)料庫(kù))的標(biāo)記上訓(xùn)練的,它的性能也與GPT-3相當(dāng)。

此外,還有一些更小或更專業(yè)的開(kāi)源LLM,主要用于研究目的。

比如Meta發(fā)布的Galactica系列;EleutherAI發(fā)布的GPT-NeoX-20B等。

盡管看起來(lái)越大的模型效果越好,但運(yùn)行起來(lái)也越昂貴。

在執(zhí)行推理時(shí),模型需要加載到內(nèi)存中,而100B參數(shù)的模型通常需要220GB的內(nèi)存。

在2022年3月,DeepMind發(fā)表了一篇論文,研究了在給定計(jì)算預(yù)算下,用于訓(xùn)練的數(shù)據(jù)量與模型參數(shù)的最佳比率是多少。

換句話說(shuō),如果你只有固定的一筆錢可以花在模型訓(xùn)練上,那么模型大小和訓(xùn)練數(shù)據(jù)量應(yīng)該是多少?

作者發(fā)現(xiàn),總體而言,應(yīng)該把更多的資源分配給訓(xùn)練數(shù)據(jù)。

他們自己的例子是一個(gè)叫做Chinchilla的70B模型,使用1.4T的訓(xùn)練數(shù)據(jù)。

2023的開(kāi)源LLM

模型爆發(fā)

2023年開(kāi)始,一大波模型涌現(xiàn)出來(lái),每個(gè)月、每周、甚至每天都會(huì)有新的模型發(fā)布:

2月的LLaMA(Meta)、4月的Pythia(Eleuther AI)、MPT(MosaicML)、 5月的X-GEN(Salesforce)和Falcon(TIIUAE)、7月的Llama 2(Meta)、9月的Qwen(阿里巴巴)和Mistral(Mistral.AI),11月的Yi(01-ai),12月的DeciLM(Deci)、Phi-2(微軟) 和SOLAR(Upstage)。

在Meta AI的LLaMA系列中,研究人員的目標(biāo)是訓(xùn)練一組不同大小的模型,能夠在給定的預(yù)算下具有最佳性能。

他們首次明確提出不僅要考慮訓(xùn)練預(yù)算,還要考慮推理成本,從而在更小的模型大小上達(dá)到更高的性能(權(quán)衡是訓(xùn)練計(jì)算效率)。

Llama 1系列中最大的模型是在1.4T數(shù)據(jù)上訓(xùn)練的65B參數(shù)模型,而較小的模型(6 B和13B)是在1T數(shù)據(jù)上訓(xùn)練的。

小型13B LLaMA模型在大多數(shù)基準(zhǔn)測(cè)試中都優(yōu)于GPT-3,而最大的LLaMA模型到達(dá)了當(dāng)時(shí)的SOTA。不過(guò),LLaMA是以非商業(yè)許可發(fā)布的,限制了社區(qū)的應(yīng)用。

之后,MosaicML發(fā)布了MPT模型,具有允許商業(yè)用途的許可證,以及訓(xùn)練組合的細(xì)節(jié)。第一個(gè)MPT模型為7B ,隨后是6月份的30B版本,均使用1T英語(yǔ)和代碼數(shù)據(jù)進(jìn)行訓(xùn)練。

在此之前,模型的訓(xùn)練數(shù)據(jù)是公開(kāi)的,不過(guò)之后的模型就不再提供任何關(guān)于訓(xùn)練的信息,——不過(guò)最起碼權(quán)重是開(kāi)源的。

無(wú)處不在的對(duì)話模型

與2022年相比,2023年發(fā)布的幾乎所有預(yù)訓(xùn)練模型都帶有預(yù)訓(xùn)練版本和對(duì)話微調(diào)版本。

公眾越來(lái)越多地使用這些聊天模型,并進(jìn)行各種評(píng)估,還可以通過(guò)聊天的方式對(duì)模型進(jìn)行微調(diào)。

指令微調(diào)(IFT)使用指令數(shù)據(jù)集,其中包含一組查詢的提示和答案。這些數(shù)據(jù)集教會(huì)模型如何遵循指令,可以是人類的,也可以是LLM生成的。

使用LLM輸出合成數(shù)據(jù)集,是完成指令和聊天微調(diào)的方法之一,通常被稱為distillation ,表示從高性能模型中獲取知識(shí),來(lái)訓(xùn)練或微調(diào)較小的模型。

這兩種方法都相對(duì)容易實(shí)現(xiàn):只需要查找或生成相關(guān)數(shù)據(jù)集,然后使用與訓(xùn)練時(shí)相同的技術(shù)微調(diào)模型。

來(lái)自人類反饋的強(qiáng)化學(xué)習(xí) (RLHF) 是一種特定方法,旨在調(diào)整模型預(yù)測(cè)的內(nèi)容,與人類的喜好保持一致。

根據(jù)給定的提示,模型會(huì)生成幾個(gè)可能的答案,人類對(duì)這些答案進(jìn)行排名,排名用于訓(xùn)練所謂的偏好模型,然后使用偏好模型通過(guò)強(qiáng)化學(xué)習(xí)對(duì)語(yǔ)言模型進(jìn)行微調(diào)。

這是一種成本高昂的方法,主要用于調(diào)整模型以實(shí)現(xiàn)安全目標(biāo)。

人們之后開(kāi)發(fā)了一種成本較低的變體,使用高質(zhì)量的LLM對(duì)模型輸出進(jìn)行排名,稱為來(lái)自AI反饋的強(qiáng)化學(xué)習(xí) (RLAIF)。

直接偏好優(yōu)化 (DPO) 是RLHF的另一種變體,但不需要訓(xùn)練和使用單獨(dú)的偏好模型。

DPO利用人類或AI給出的排名數(shù)據(jù)集,通過(guò)查看其原始策略和最佳策略之間的差異,來(lái)直接更新模型。

這使得優(yōu)化過(guò)程變得簡(jiǎn)單很多,同時(shí)實(shí)現(xiàn)了差不多的最終性能。

社區(qū)在做什么?

在2023年初,已經(jīng)發(fā)布了一些用于教學(xué)或聊天微調(diào)的數(shù)據(jù)集。

比如在人類偏好方面,OpenAI的WebGPT數(shù)據(jù)集、Anthropic的HH-RLHF數(shù)據(jù)集和OpenAI的Summarize。

指令數(shù)據(jù)集的例子包括BigScience的Public Pool of Prompts、Google的FLAN 1和2、AllenAI的Natural Instructions、Self Instruct(由不同隸屬關(guān)系的研究人員生成自動(dòng)指令的框架)、SuperNatural指令(微調(diào)數(shù)據(jù)的專家創(chuàng)建的指令基準(zhǔn))、Unnatural指令等。

今年1月,中國(guó)研究人員發(fā)布了人類ChatGPT指令語(yǔ)料庫(kù) (HC3),包含各種問(wèn)題的人類與模型答案。

3月,斯坦福大學(xué)開(kāi)放了Alpaca模型,是第一個(gè)遵循指令的LLaMA模型 (7B),還包括相關(guān)的數(shù)據(jù)集(使用LLM生成的52K指令)。

LAION(一個(gè)非營(yíng)利性開(kāi)源實(shí)驗(yàn)室)發(fā)布了開(kāi)放指令通才(OIG)數(shù)據(jù)集,該數(shù)據(jù)集有43M條指令,既有數(shù)據(jù)增強(qiáng)創(chuàng)建,也有從其他預(yù)先存在的數(shù)據(jù)源編譯而來(lái)的指令。

同月,LMSYS組織(加州大學(xué)伯克利分校)發(fā)布了Vicuna,也是一個(gè)LLaMA微調(diào)(13B),這次使用的是聊天數(shù)據(jù)——用戶與ChatGPT之間的對(duì)話,由用戶自己在ShareGPT上公開(kāi)分享。

4月,BAIR(伯克利人工智能研究實(shí)驗(yàn)室)發(fā)布了Koala,一個(gè)聊天微調(diào)的LLaMA模型,使用了之前的幾個(gè)數(shù)據(jù)集(Alpaca、HH-RLHF、WebGPT、ShareGPT),

DataBricks發(fā)布了Dolly數(shù)據(jù)集,包含15K手動(dòng)生成指令。

5月,清華大學(xué)發(fā)布了UltraChat,一個(gè)包含指令的1.5M對(duì)話數(shù)據(jù)集,以及UltraLLaMA,一個(gè)對(duì)該數(shù)據(jù)集的微調(diào)。

Microsoft隨后發(fā)布了GPT4-LLM數(shù)據(jù)集,用于使用GPT4生成指令,

6月,Microsoft研究分享了一種新方法Orca,通過(guò)使用大型模型的推理痕跡來(lái)構(gòu)建指令數(shù)據(jù)集(解釋它們的分步推理),

——社區(qū)用這種方法創(chuàng)建了Open Orca數(shù)據(jù)集,有數(shù)百萬(wàn)個(gè)條目, 并被用于微調(diào)許多模型(Llama、Mistral等)。

8月,中國(guó)非營(yíng)利組織OpenBMB發(fā)布了UltraLM(LLaMA的高性能聊天微調(diào)),

9月,他們發(fā)布了相關(guān)的偏好數(shù)據(jù)集UltraFeedback,這是一個(gè)由GPT4比較的輸入反饋數(shù)據(jù)集(帶有注釋)。

另外,清華大學(xué)的一個(gè)學(xué)生團(tuán)隊(duì)發(fā)布了OpenChat,一個(gè)使用新的RL微調(diào)策略的LLaMA微調(diào)模型。

10月,Hugging Face發(fā)布了Zephyr,這是一款在UltraChat和UltraFeedback上使用DPO和AIF的Mistral微調(diào),Lmsys發(fā)布了LMSYS-Chat-1M,是與25個(gè)LLM的真實(shí)用戶對(duì)話。

11月,NVIDIA發(fā)布了HelpSteer,一個(gè)對(duì)齊微調(diào)數(shù)據(jù)集,根據(jù)幾個(gè)標(biāo)準(zhǔn)提供提示、相關(guān)模型響應(yīng)和所述答案的等級(jí),而Microsoft Research發(fā)布了Orca-2模型,是一個(gè)在新的合成推理數(shù)據(jù)集上微調(diào)的Llama 2。

開(kāi)發(fā)方式

合并:極致定制

在典型的開(kāi)源方式中,社區(qū)的里程碑之一是模型或數(shù)據(jù)合并。

模型合并是一種將不同模型的權(quán)重融合到單個(gè)模型中的方法,以將每個(gè)模型的各自優(yōu)勢(shì)組合在一個(gè)統(tǒng)一的單個(gè)模型中。

最簡(jiǎn)單的方法之一,是對(duì)一組共享通用架構(gòu)的模型的參數(shù)進(jìn)行平均,——不過(guò)需要考慮更復(fù)雜的參數(shù)組合,例如確定哪些參數(shù)對(duì)給定任務(wù)的影響最大(加權(quán)平均),或者在合并時(shí)考慮模型之間的參數(shù)干擾(并列合并)。

這些技術(shù)允許任何人輕松生成模型組合,并且由于現(xiàn)在大多數(shù)模型都是同一架構(gòu)的變體,因此變得特別容易。

這就是為什么一些 LLM 排行榜上的模型會(huì)有奇怪的名字(比如llama2-zephyr-orca-ultra——表示llama2和zephyr 模型的合并,在orca和ultra數(shù)據(jù)集上進(jìn)行了微調(diào)) 。

PEFT:指尖的個(gè)性化

有時(shí),你可能沒(méi)有足夠的內(nèi)存加載整個(gè)模型,以對(duì)其進(jìn)行微調(diào)。但事實(shí)上,微調(diào)時(shí)可以不需要使用整個(gè)模型。

采用參數(shù)高效微調(diào)(PEFT),首先固定住一部分的預(yù)訓(xùn)練模型的參數(shù),然后在其上添加許多新參數(shù),稱為適配器。

然后,對(duì)任務(wù)進(jìn)行微調(diào)的只是(輕量級(jí))適配器權(quán)重,比原始模型要小得多。

量化:模型無(wú)處不在

性能良好的大模型在運(yùn)行時(shí)需要大量的內(nèi)存,比如一個(gè)30B參數(shù)的模型可能需要超過(guò)66G的RAM才能加載,大多數(shù)個(gè)人開(kāi)發(fā)者都未必?fù)碛凶銐虻挠布Y源。

一個(gè)解決方案就是量化,通過(guò)改變模型參數(shù)的精度來(lái)減小模型的大小。

在計(jì)算機(jī)中,數(shù)字以給定的精度(如float32、float16、int8等)存儲(chǔ)。

精度既指示數(shù)字類型(是浮點(diǎn)數(shù)還是整數(shù))又指示數(shù)字的存儲(chǔ)量:float32將浮點(diǎn)數(shù)存儲(chǔ)在32位的內(nèi)存空間中。精度越高,數(shù)字占用的物理內(nèi)存就越多。

因此,如果降低精度,則會(huì)減少每個(gè)模型參數(shù)占用的內(nèi)存,從而減小模型大小,這也意味著可以減少計(jì)算的實(shí)際精度。

而這種精度的損失帶來(lái)的性能下降,實(shí)際上非常有限。

從一種精度到另一種精度的方法有很多種,每種方案都有自己的優(yōu)點(diǎn)和缺點(diǎn)。常用的方法包括bitsandbytes、GPTQ和AWQ。

參考資料:

https://huggingface.co/blog/2023-in-llms

小編推薦下載

相關(guān)文章

更多>>

資訊排行

同類軟件下載