Meta AI開源的大羊駝LLaMA模型徹底點燃了開源社區(qū)的熱情,并在此基礎(chǔ)上相繼開發(fā)出了各種類ChatGPT的羊駝Alpaca, Vicuna等。
但Meta只是開源了LLaMA的權(quán)重,訓(xùn)練用到的數(shù)據(jù)集并沒有開源出來,對于那些想從頭開始訓(xùn)練LLaMA的從業(yè)者來說,目前還沒有開源方案。
最近,由Ontocord.AI,蘇黎世聯(lián)邦理工學(xué)院DS3Lab,斯坦福CRFM,斯坦福Hazy Research 和蒙特利爾學(xué)習(xí)算法研究所的宣布開啟「紅睡衣」(RedPajama)計劃,旨在生成可復(fù)現(xiàn)、完全開放、最先進的語言模型,即從零一直開源到ChatGPT!

下載地址:
https://huggingface.co/datasets/togethercomputer/RedPajama-Data-1T
預(yù)處理倉庫:https://github.com/togethercomputer/RedPajama-Data
「紅睡衣」開源計劃總共包括三部分:
1. 高質(zhì)量、大規(guī)模、高覆蓋度的預(yù)訓(xùn)練數(shù)據(jù)集;
2. 在預(yù)訓(xùn)練數(shù)據(jù)集上訓(xùn)練出的基礎(chǔ)模型;
3. 指令調(diào)優(yōu)數(shù)據(jù)集和模型,比基本模型更安全、可靠。

目前紅睡衣計劃中的第一部分,即預(yù)訓(xùn)練數(shù)據(jù)集RedPajama-Data-1T已開源,包括七個子集,經(jīng)過預(yù)處理后得到的token數(shù)量大致可以匹配Meta在原始LLaMA論文中報告的數(shù)量,并且數(shù)據(jù)預(yù)處理相關(guān)腳本也已開源。

完整的RedPajama-Data-1T數(shù)據(jù)集需要的存儲容量為壓縮后3TB,解壓后5TB,有條件、有網(wǎng)速的小伙伴可以開始搞起來了!
目前開發(fā)團隊正在橡樹嶺領(lǐng)導(dǎo)計算設(shè)施(OLCF)的支持下開始訓(xùn)練模型,預(yù)計幾周后即可開源。
通過OpenChatKit,研究人員已經(jīng)收到了數(shù)十萬條高質(zhì)量的自然用戶指令,將用于發(fā)布 RedPajama 模型的指令優(yōu)化版本。
復(fù)刻LLaMA
2023年2月27日,Meta推出LLaMa并發(fā)布了相關(guān)論文。

論文鏈接:https://arxiv.org/pdf/2302.13971.pdf
LLaMa實際上是一組基礎(chǔ)語言模型的統(tǒng)稱,其參數(shù)范圍從70億到650億不等,其中LLaMA-13B(130億參數(shù))版本甚至在大多數(shù)基準(zhǔn)測試中都優(yōu)于1750億參數(shù)的GPT-3;最大的LLaMA-65B和Chinchilla-70B和PaLM-540B相比也不落下風(fēng)。
和之前的大模型不同的是,LLaMa完全使用「公開數(shù)據(jù)集」就達到了SOTA,并不存在其他模型中「不可告人」的秘密,無需使用專用或只存在于虛空中的數(shù)據(jù)集。
具體使用的數(shù)據(jù)集和預(yù)處理操作如下。

English CommonCrawl-占比67%
使用CCNet pipeline對五個CommonCrawl dumps(2017-2020年)進行預(yù)處理,刪除重復(fù)的行,并用fastText線性分類器進行語言分類,去除非英語頁面,并用ngram語言模型過濾低質(zhì)量內(nèi)容。
還訓(xùn)練了一個線性模型來對維基百科中用作參考文獻的頁面與隨機采樣的頁面進行分類,并去除未被分類為參考文獻的頁面。
C4-占比15%
在探索實驗中,研究人員觀察到使用多樣化的預(yù)處理CommonCrawl數(shù)據(jù)集可以提高性能,所以將公開的C4數(shù)據(jù)集納入我們的數(shù)據(jù)。
C4的預(yù)處理也包含重復(fù)數(shù)據(jù)刪除和語言識別步驟:與CCNet的主要區(qū)別是質(zhì)量過濾,主要依靠啟發(fā)式方法,如是否存在標(biāo)點符號,以及網(wǎng)頁中的單詞和句子數(shù)量。
Github-占比4.5%
使用谷歌BigQuery上的GitHub公共數(shù)據(jù)集,只保留在Apache、BSD和MIT許可下發(fā)布的項目。
然后用基于行長或字母數(shù)字字符比例的啟發(fā)式方法過濾了低質(zhì)量的文件,并用正則表達式刪除了HTML boilerplate(如等)。
最后在文件層面上對所生成的數(shù)據(jù)集進行重復(fù)計算,并進行精確匹配。
維基百科-占比4.5%
數(shù)據(jù)集中添加了2022年6月至8月期間的維基百科dumps,涵蓋20種語言,包括使用拉丁字母或西里爾字母的語言,具體為bg, ca, cs, da, de, en, es, fr, hr, hu, it, nl, pl, pt, ro, ru, sl, sr, sv, uk;然后對數(shù)據(jù)進行預(yù)處理,以去除超鏈接、評論和其他格式化的html模板。
Gutenberg and Books3-占比4.5%
訓(xùn)練數(shù)據(jù)集中包括兩個書籍相關(guān)的語料庫,Gutenberg Project為公共領(lǐng)域的書籍;ThePile中Books3部分是一個用于訓(xùn)練大型語言模型的公開數(shù)據(jù)集。
預(yù)處理操作主要是刪除重復(fù)內(nèi)容超過90%的書籍。
ArXiv-占比2.5%
通過處理arXiv的Latex文件將科學(xué)數(shù)據(jù)添加到訓(xùn)練數(shù)據(jù)集中,刪除了第一節(jié)之前的所有內(nèi)容,以及書目;還刪除了.tex文件中的注釋,以及用戶寫的內(nèi)聯(lián)擴展的定義和宏,以提高不同論文的一致性。
Stack Exchange-占比2%
Stack Exchange是一個高質(zhì)量問題和答案的網(wǎng)站,涵蓋了從計算機科學(xué)到化學(xué)等不同領(lǐng)域。保留了28個最大網(wǎng)站的數(shù)據(jù),刪除了文本中的HTML標(biāo)簽,并按分?jǐn)?shù)(從高到低)對答案進行了排序。
分詞器(Tokenizer)
根據(jù)SentencePiece的實現(xiàn)使用字節(jié)對編碼(byte-pair-encoding,BPE)算法對數(shù)據(jù)進行分詞,其中連續(xù)的數(shù)字被分割成單個數(shù)字。
最終整個訓(xùn)練數(shù)據(jù)集在分詞后獲得了大約1.4T的tokens,除了維基百科和圖書數(shù)據(jù)外,其他的數(shù)據(jù)在訓(xùn)練期間只使用一次,總共進行了約兩個epochs。
參考資料:https://www.together.xyz/blog/redpajama