由于大型語言模型(LLM)的崛起,2023年被認為是開源領域的關鍵一年。下面精心挑選了一些在2023年上半年掀起波瀾的最有影響力的模型。這些模型幾乎可以與band、GPT-3.5、GPT4、Claude、文心一言等商業大模型競爭。
本文僅針對當前開源大語言模型中一些比較有影響力的項目進行信息收集與分析,但由于2023年大模型的快速發展,有些信息可能已經滯后,讀者可進一步跟蹤官方網站或者開源社區了解相關進展。
- LLaMA
- LLaMA 2
- Alpaca
- Vicuna
- Guanaco
- RedPajama
- Falcon
- FLAN-T5
- Stable Beluga (formerly ‘FreeWilly’)
- MPT
對于這些模型,下面表格列出了關鍵信息,例如:架構設計、訓練所用的數據庫、訓練過程、許可協議信息和特征等。
1.LLaMA
LLaMA不僅僅是一個單一的模型;它是一個包含多個大小不一的大型語言模型的集合,參數從70億到650億不等??捎玫某叽绨?.7B、13.0B、32.5B和65.2B參數,每種參數在不同的任務中表現出色,而較大的型號通常在更復雜的任務中表現更好。
LLaMA由Meta開發,基于Transformer架構,自2018年以來一直是語言建模的標準架構。它與GPT-3有相似之處,但也有一些架構差異。LLaMA使用SwiGLU激活函數代替ReLU激活函數,使用旋轉位置嵌入代替絕對位置嵌入,并且均方根層歸一化代替標準層歸一化。
這些模型是在不同的領域訓練出來并被開源。研發人員可以將其用于各種應用,包括翻譯、問答、文本生成等。LLaMA的多功能性使其能夠針對眾多任務進行微調,使其成為各種AI項目的理想基礎模型。
LLaMA的訓練數據非常廣泛,模型是在來自公開數據源的1.4萬億個令牌上訓練的。這些來源包括CommonCrawl抓取的網頁、Github的開源代碼庫、多種語言的維基百科、Gutenberg項目中公共領域書籍以及Stack Exchange網站上的問題和答案。這些模型的研發通過增加訓練數據量來提高模型性能。
至于許可協議,Meta在非商業許可下向研究社區發布了LLaMA的模型權重。
為了訓練LLaMA模型,開發人員使用了帶有余弦學習速率計劃的AdamW優化器。最終學習率為最大學習率的10%。此外,模型使用0.1的權重衰減和1.0的梯度剪裁。學習速率和批量大小是根據每個模型的大小定制的,進一步優化其在訓練期間的性能。
2.LLaMA 2
LLaMA 2是Meta的LLaMA模型的第二次迭代,專門為對話場景設計.它經過了深度微調,使其與ChatGPT等模型相媲美。LLaMA 2模型有三種大?。?0億、130億和700億參數。
LLaMA 2比其前身LLama 1有了重大的進步和改進。它是在一個新的公開可用數據的混合上訓練的,預訓練語料庫增大40%。該模型的上下文長度增加了一倍,并利用了分組查詢注意機制。
Llama 2-Chat是一個針對基于聊天的交互而優化的微調版本。LLaMA 2和Llama 2-Chat的開發旨在確保其輸出的內容對人類有益且安全。這些自回歸模型基于輸入生成文本,非常適合助理式聊天和各種自然語言生成任務。 根據基準評估,它比大多數其他模型(包括ChatGPT)更有優秀。
LLaMA 2被授權給研究人員和商業實體,堅持開放的原則。這使得無論是研究、商業應用還是項目開發都能夠使用LLaMA 2。
LLaMA 2的訓練數據非常廣泛,包括來自公開來源的2萬億個代幣。微調數據包括公開可用的指令數據集和超過一百萬個新的人類注釋示例。值得注意的是,預訓練數據集和微調數據集都不包括Meta用戶數據,從而確保了用戶隱私和數據安全。
LLaMA 2采用Llama 1模型的修改版本來增強性能,并使用帶有標準Transformer架構的AdamW優化器。它使用與Llama 1相同的標記器,采用字節對編碼(BPE)算法,詞匯量為32 k個標記。Llama 2-Chat的發展經歷了兩個階段。第一個階段,LLaMA 2使用公開的在線數據。然后,通過監督微調創建了Llama 2-Chat的初始版本。在第二階段,Llama 2-Chat使用來自人類反饋的強化學習(RLHF)進行了改進。這個過程涉及拒絕采樣和鄰近策略優化(PPO),以提高其在基于對話的應用程序的性能。
總之,LLaMA 2代表了語言建模方面的重大進步,提供了透明度,可訪問性和性能改進,可能會被研究和商業社區廣泛接受。
3.Alpaca
Alpaca是由斯坦福大學基礎模型研究中心(CRFM)的研究人員開發的它是從Meta的LLaMA 7 B模型中微調的,并使用OpenAI的text-davinci-003作為參考,在52000個指導遵循演示中進行了訓練。盡管表現出與OpenAI的text-davinci-003相似的行為,但Alpaca模型更小。
Alpaca模型的突出特點是其強大的指令遵循能力。憑借其微調的設計和許多指令遵循演示的培訓,它為需要精確遵守指令的任務提供了可靠和有效的選擇。
該模型主要用于學術研究。然而,由于安全措施不足,它還沒有準備好用于一般用途。它不可用于商業用途,因為用于訓練Alpaca的指令數據基于OpenAI的text-davinci-003,其使用條款禁止開發與OpenAI競爭的模型。
采用Hugging Face的訓練框架對Alpaca進行微調,充分利用完全分片數據并行和混合精度訓練。使用8臺80GB A100對7B LLaMA模型進行微調大約需要3個小時,展示了其效率和快速開發的潛力。
總之,Alpaca是一種專門的、高效的語言模型,適用于需要準確和精確執行的任務。它的開發和使用面向研究和學術探索,重點是維護安全和遵守許可證限制。
4.Vicuna
由LMSYS開發的Vicuna系列大型語言模型以其生成類人文本的能力而聞名。這些模型在理解和提供基于用戶提示的響應方面表現出色,使它們對聊天機器人和內容生成等各種應用非常有用。
Vicuna有兩種大小的模型:Vicuna-7B和Vicuna-13B。使用GPT-4作為對比參考的初步評估表明,Vicuna-13B的質量達到OpenAI ChatGPT和google Bard的90%以上。此外,與LLaMA和斯坦福大學Alpaca等其他型號相比,它在90%以上的情況下表現出更強的性能。
Vicuna模型的一個重要方面是它依賴于人類生成的數據。這使它成為第一個使用此類數據訓練的開源大語言模型之一,生成連貫并且具有創造性的文本。Vicuna是Alpaca模型的改進版本,它基于Transformer架構,但采用人類生成的對話數據集進行了微調。
Vicuna的主要用途是用于研究,特別是自然語言處理、機器學習和人工智能方面的研究人員和愛好者。Vicuna僅供非商業用途的用戶使用,用戶必須遵守LLaMA制定的使用模型的規則,尊重OpenAI使用其生成的數據的條款,并遵守ShareGPT的隱私規則。
這兩款Vicuna模型都是在LLaMA-13B模型的基礎上構建的,并從ShareGPT.com公開API收集的約70000個用戶共享對話進行了微調。html被轉換回markdown以確保數據質量,不合適或低質量的樣本被過濾掉。冗長的對話也被分成較小的片段,以適應模型的最大上下文長度2048個令牌。
在訓練過程中,Vicuna基于斯坦福大學的Alpaca模型進行了幾項關鍵改進:
- 多輪對話:調整訓練損失,以解釋多輪對話,使模型更好地理解和響應復雜的,多輪對話。
- 內存優化:最大上下文長度從512擴展到2048,使維庫納能夠理解更長的上下文。梯度檢查點和Flash Attention用于內存優化,以管理增加的GPU內存需求。
- 通過Spot實例降低成本:為了減輕由更大的數據集和增加的序列長度導致的顯著訓練費用,使用了SkyPilot管理的點實例。這些實例更便宜,并具有自動恢復、搶占和自動區域切換功能,顯著降低了培訓成本。
憑借其更加類似人類的文本生成功能,開放性和多功能性,Vicuna代表了大型語言模型領域的一個突破。
5.Guanaco
Guanaco是一個基于Meta的LLaMA模型的高級語言模型系列,用于在多語言環境中出色地完成指令。Guanaco是建立在LLaMA-7B的基礎上,使用創新的QLoRA(量化低秩適配器)方法進行了重大改進和微調的結果。這種方法允許在單個GPU上對大型語言模型進行微調。
Guanaco系列模型包括具有不同數量參數的各種變體,參數從70億到650億不等。根據研究人員的說法,最大的Guanaco模型能夠達到了Chat GPT 99.3%的性能,展示了其在基準測試中的卓越性能。
Guanaco使用QLoRA方法進行訓練,該方法有效地將模型量化到4位精度,并結合了低秩自適應權重(LoRA),在保持高性能的同時顯著降低了內存需求。這種方法允許最大的650億參數Guanaco模型在GPU內存不足48千兆字節的情況下有效運行,在不影響性能的情況下可以減少超過780千兆字節大小。
Guanaco的一個顯著特點是它對擴展對話的適應性。它可以根據用戶的要求繼續回答問題或討論話題,非常適合聊天機器人應用程序。該模型還支持視覺問答(VQA),使其能夠解釋和響應文本和視覺輸入。
Guanaco最初是基于Alpaca模型的52000個數據集的基礎上進行擴展,之后加入了超過534530個額外條目,涵蓋了各種語言、語言任務和語法任務。這種廣泛的訓練有助于其有效執行多語言和多模式任務。
雖然,Guanaco模型未獲得商業應用許可。其主要用途是學術研究和非商業應用。但它在多功能性和強大的性能等方面的自然語言處理任務能力具有較高價值。
總之,Guanaco將高效的微調、多語言功能和適應性會話技能相結合,使其在語言模型領域取得了重大進步,在聊天機器人、內容生成和終端硬件應用、私有模型等方面具有潛在應用價值。
6.RedPajama
RedPajama is a collaborative project involving Together, Ontocord.ai, ETH DS3Lab, Stanford CRFM, and Hazy Research, with the mission to create a set of leading, fully open-source language models. The project’s primary objective is to bridge the quality gap between open and closed models, as many powerful foundation models are currently locked behind commercial APIs, limiting research, customization, and usage with sensitive data.
RedPajama是一個由Together、Ontocord.ai、ETH DS 3Lab、斯坦福大學CRFM和Hazy Research等多機構合作的項目,其使命是創建一套領先的、完全開源的語言模型。該項目的主要目標是彌合開放模型和封閉模型之間的質量差距,因為許多強大的基礎模型目前被鎖定在商業API的后面,限制了敏感數據的研究、定制和使用。
RedPajama項目由三個關鍵組件組成:
- RedPajama數據集:RedPajama數據集是一個擁有1.2萬億令牌完全開放數據集,它是按照LLaMA論文中描述的方法創建的。這個龐大的數據集包括來自不同來源的七個數據切片,包括CommonCrawl、C4、GitHub、arXiv、Books、Wikipedia和StackExchange。每個數據切片都經過精心的預處理和過濾,確保數據質量和令牌計數與Meta在LLaMA論文中報告的數字一致。
- RedPajama基礎模型:由30億個參數和70億個參數構成了RedPajama模型的基礎。它們是基于Pythia架構開發的,在不同的任務中表現出色。兩個變體是RedPajama-INCITE-Chat-3B-v1和RedPajama-INCITE-Instruct-3B-v1,兩者都具有30億個參數。RedPajama-INCITE-Chat-3B-v1模型針對會話AI任務進行了優化,擅長在會話環境中生成類人文本。另一方面,RedPajama-INCITE-Instruct-3B-v1模型旨在有效地執行指令,使其非常適合理解和執行復雜指令。
- RedPajama微調模型:此組件側重于微調基本模型,使其在特定任務中表現出色。該項目提供了RedPajama-INCITE-Base模型的變體,每個模型都具有不同的特性和應用。例如,RedPajama-INCITE-Chat模型使用Dolly 2.0和Open Assistant數據進行微調。相比之下,RedPajama-INCITE-Instruct模型設計用于少量提示詞,減少與HELM基準測試數據集的重疊。
RedPajama模型和數據集是在Apache 2.0許可下發布的,允許在研究和商業應用中使用。
7.Falcon
Falcon模型系列由技術創新研究所開發,包括一系列的大型語言模型。它們經過優化,可以在各種應用程序中實現包括文本生成、摘要和聊天機器人等功能。
Falcon系列模型包括多種型號,例如:Falcon-40B、Falcon-7B、Falcon-180B,每一個都根據特定的要求和場景量身定制。Falcon-40B模型有400億個參數,并在RefinedWeb數據集上訓練。該數據集包含15000億個Token,是一個具備高質量、過濾和消除重復數據的Web數據。Falcon-7B模型是一個較小的變體,有70億個參數,也在RefinedWeb數據集上訓練,但進一步補充了精心整理的語料庫,以增強其能力。Falcon-180B擁有1800億參數,是Falcon在3.5萬億token完成訓練,目前直接登頂HuggingFace排行榜,性能直接碾壓LLaMA 2?;鶞蕼y試中,Falcon 180B在推理、編碼、熟練度和知識測試各種任務中,一舉擊敗LLaMA 2。
作為因果解碼器專用模型,Falcon模型可以基于前面的Token預測序列中預測下一個令牌,使其特別適合文本生成任務,包括摘要和聊天機器人等功能。他們的架構建立在GPT-3模型的基礎上,并進行了一些調整,以實現更好的優化和增強性能。例如,它們使用FlashAttention和多查詢注意力機制。
Falcon-40B在25000億個RefinedWeb數據Token上進行訓練,訓練時間為兩周,使用384個A100 40GB GPU。Falcon-7B模型在RefinedWeb數據集的15000億個Token上進行訓練,也使用相同的384 A100 40GB GPU設置進行了為期兩周的訓練。高效的訓練過程是通過2D并行策略(PP=2,DP=192)與ZeRO優化相結合來實現的,從而使模型在使用更少的訓練計算資源的情況下,性能不亞于其他開源模型。
關于Falcon 180B,它是40B的升級版本。據官方介紹,Falcon 180B 是當前最好的開源大模型。在 MMLU上 的表現超過了 Llama 2 70B 和 OpenAI 的 GPT-3.5。在 HellaSwag、LAMBADA、WebQuestions、Winogrande、PIQA、ARC、BoolQ、CB、COPA、RTE、WiC、WSC 及 ReCoRD 上與谷歌的 PaLM 2-Large 不相上下。
它在 Hugging Face 開源大模型榜單上以 68.74 的成績被認為是當前評分最高的開放式大模型,評分超過了 Meta 的 LlaMA 2 (67.35)。
對于訓練過程,Falcon 180B基于亞馬遜云機器學習平臺Amazon SageMaker,在多達4096個GPU上完成了對3.5萬億token的訓練??侴PU計算時,大約7,000,000個。Falcon 180B的參數規模是Llama 2(70B)的2.5倍,而訓練所需的計算量是Llama 2的4倍。具體訓練數據中,Falcon 180B主要是RefinedWe數據集(大約占85%) 。此外,它還在對話、技術論文,以及一小部分代碼等經過整理的混合數據的基礎上進行了訓練。這個預訓練數據集足夠大,即使是3.5萬億個token也只占不到一個epoch。
硬件要求:
Falcon模型是在Apache 2.0許可證下發布,允許在商業場合使用,沒有版稅或其他限制。但Falcon-180b 在商業用途的使用條件非常嚴格,不包括任何“托管用途”。建議您查看開源許可證并咨詢您的法律團隊。
總之,Falcon模型的多功能性和有效性使其適用于廣泛的場景。它們可以用于大型語言模型的研究,并作為進一步專業化和微調打下堅實基礎,以滿足特定場合應用,如摘要,文本生成和聊天機器人功能。
8.FLAN-T5
FLAN-T5系列包括幾種不同參數的模型:
- Flan-T5 small (80M)
- Flan-T5 base (250M)
- Flan-T5 large (780M)
- Flan-T5 XL (3B)
- Flan-T5 XXL (11B)
FLAN-T5的架構基于T5編碼解碼器架構,其中編碼器和解碼器都是transformers。這個基于transformers的語言模型由12個transformers層和一個用于并行處理文本的前饋神經網絡組成。
FLAN-T5在多任務語言理解和跨語言問答等方面表現出色。它在文本生成、常識推理、問答、情感分類、翻譯、代詞解析等方面十分優秀。它為研究零鏡頭NLP任務和上下文少鏡頭學習NLP任務(如推理和問答)提供了寶貴資源。此外,它理解當前大型語言模型的局限性,有助于推進公平性和安全性的研究。
Google于2022年底在Apache許可下開源FLAN-T5。
Flan-T5在訓練過程中,有兩個階段的過程中使用了大量的文本數據:預訓練和微調。預訓練階段使用T5架構,模型在給定的Token序列中預測中的下一Token。在指令微調階段,FLAN-T5的功能通過特定指令進行了細化,以增強其在各種任務和語言上的性能。
FLAN-T5的微調數據類型非常廣泛,包括473個數據集、146個任務類別和1836個任務。微調過程中混合四種任務:Muffin、T0-SF、NIV 2和CoT。這些混合包括各種任務,例如:對話數據、程序合成數據、算術推理、多跳推理(multi-hop reasoning)、自然語言推理等等。
Flan-T5模型不限于特定的任務或語言,為研究人員和開發人員提供了一個強大的工具,推動了自然語言理解和文本生成的發展。
9.Stable Beluga (Formerly Free Willy)
Stable AI以及CarperAI實驗室的Stable Beluga項目產生了兩個模型,Stable Beluga 1和Stable Beluga 2。這些模型建立在Meta的Llama模型之上,并使用標準Alpaca格式的合成生成的新數據集進行微調。該項目旨在彌合開放模型和封閉模型之間的質量差距,允許研究人員和開發人員探索和定制這些模型,以滿足各種自然語言處理任務。
Stable Beluga 1和Stable Beluga 2分別采用LLaMA-65B和LLaMA 2-70B基礎模型。這兩種模型在各種基準測試中都表現良好。Stable Beluga 2 甚至在某些基準測試中超過了Llama 2。
Stable Beluga大語言模型擅長解決類似法律、數學等專業領域的復雜問題,并專注于微妙的語言細節。
Stable Beluga模型目前作為一項研究實驗,提供了非商業許可(non-commercial license),強調致力于促進AI社區的開放研究和可訪問性。該許可證確保模型可免費用于學術和非商業目的,鼓勵自然語言處理領域的合作和創新。
Stable Beluga模型的訓練過程基于Orca方法,類似于微軟的漸進式學習方法。然而,Stable Beluga項目中使用的數據集與Orca論文不同。該團隊使用Enrico Shippole的數據集,包括COT Submix Original、NIV2 Submix Original、FLAN 2021 Submix Original和T0 Submix Original,來作為提示詞語言模型。數據集包含60萬個高質量的樣本,約為Orca數據集大小的10%。Stable Beluga使用了刪除測試數據并過濾后的數據集進行了微調,以實現其卓越的性能。
10.MPT
由MosaicML開發的MPT模型是一系列基于transformers的語言模型。這些模型專為商業用途而設計,是開源的,并建立在GPT-3模型的基礎上,旨在在各種自然語言處理任務中更加高效和靈活。
MPT系列由多個版本組成,其中MPT-7B、MPT-7B-StoryWriter、 MPT-30B是幾個個重要的模型。MPT-7B 是一個只有解碼器的Transformer模型,它在MosaicML數據團隊策劃的1萬億個文本和代碼標記的大型語料庫上訓練出來,具有67億個參數。模型主要使用了FlashAttention算法,為了處理大上下文,它還使用了ALiBi算法。而MPT-30B,擁有 300 億參數,其功能明顯比前一代 MPT-7B 語言模型更強大,并且性能優于 GPT-3。
MPT-7B的開源許可是Apache-2.0。但是,需要注意的是,不推薦在沒有微調的情況下使用基礎模型。
MPT-7B-StoryWriter-65k+是MPT-7B的一個變體,專為閱讀和寫作等具有極長上下文長度的場景而定制。這是在books3數據集的小說子集上進行微調的結果,上下文長度為65k Token。MPT-7B-StoryWriter-65k+可以在A100-80GB GPU的單個節點上生成多達84k個Token的內容。與MPT-7B一樣,它的開源許可也是Apache-2.0。
MPT-7B-Chat 是個類似聊天機器人的對話生成模型,它是在包括ShareGPT-Vicuna、HC 3、Alpaca、Helpful and Harmless和Evol-Instruct等多個數據集上進行微調的結果。其開源許可為CC-By-NC-SA-4.0,意味著它只能在非商業用途使用。
MPT-7B-Instruct是一個專門為短格式指令而量身定制的模型,基于MosaicML發布的MPT-7B數據集進行微調創建的結果,該數據集的來源是Databricks Dolly-15k和Anthropic的Helpful和Harmless數據集。它的開源許可是CC-By-SA-3.0。
MPT 7B的訓練過程使用了8個A100-80GB的GPU,具有分片數據并行性、LION優化器和完全分片數據并行性(FSDP)技術。梯度檢查點用于優化訓練期間的內存。該模型由67億個參數、32個Transformer層(每個層的隱藏大小為4096)、16個關注點以及50432個單詞的詞匯表組成,序列長度為65536。
MPT-30B 是由MosaicML用2個月的時間訓練的新一代產品,MPT-30B通過數據混合進行預訓練,從10個不同的開源文本語料庫中收集了1T個預訓練數據的token,并使用 EleutherAI GPT-NeoX-20B分詞器對文本進行分詞,并根據一定比例進行采樣。
MPT-30B使用英偉達的H100 GPU 集群進行訓練。采用Apache 2.0開源許可協議,性能強于原始的 GPT-3,并且與LLaMa-30B和 Falcon-40B 等其他開源模型具有競爭力。
總之,MPT是自然語言處理方面一個有價值的開源模型。它們專注于處理長上下文的處理效率、靈活性和令人印象深刻的性能,使它們適合于各種語言相關的任務和應用場景。