原文來源:機(jī)器之心
圖片來源:由無界 AI生成
小身板,大能量。
當(dāng)大家都在研究大模型(LLM)參數(shù)規(guī)模達(dá)到百億甚至千億級(jí)別的同時(shí),小巧且兼具高性能的小模型開始受到研究者的關(guān)注。
小模型在邊緣設(shè)備上有著廣泛的應(yīng)用,如智能手機(jī)、物聯(lián)網(wǎng)設(shè)備和嵌入式系統(tǒng),這些邊緣設(shè)備通常具有有限的計(jì)算能力和存儲(chǔ)空間,它們無法有效地運(yùn)行大型語言模型。因此,深入探究小型模型顯得尤為重要。
接下來我們要介紹的這兩項(xiàng)研究,可能滿足你對(duì)小模型的需求。
TinyLlama-1.1B
來自新加坡科技設(shè)計(jì)大學(xué)(SUTD)的研究者近日推出了 TinyLlama,該語言模型的參數(shù)量為 11 億,在大約 3 萬億個(gè) token 上預(yù)訓(xùn)練而成。
- 論文地址:https://arxiv.org/pdf/2401.02385.pdf
- 項(xiàng)目地址:https://github.com/jzhang38/TinyLlama/blob/main/README_zh-CN.md
TinyLlama 以 Llama 2 架構(gòu)和分詞器(tokenizer)為基礎(chǔ),這意味著 TinyLlama 可以在許多基于 Llama 的開源項(xiàng)目中即插即用。此外,TinyLlama 只有 11 億的參數(shù),體積小巧,適用于需要限制計(jì)算和內(nèi)存占用的多種應(yīng)用。
該研究表示僅需 16 塊 A100-40G 的 GPU,便可在 90 天內(nèi)完成 TinyLlama 的訓(xùn)練。
該項(xiàng)目從上線開始,持續(xù)受到關(guān)注,目前星標(biāo)量達(dá)到 4.7K。
TinyLlama 模型架構(gòu)詳細(xì)信息如下所示:
訓(xùn)練細(xì)節(jié)如下:
研究者表示,這項(xiàng)研究旨在挖掘使用較大數(shù)據(jù)集訓(xùn)練較小模型的潛力。他們重點(diǎn)探究在用遠(yuǎn)大于擴(kuò)展定律(scaling law)建議的 token 數(shù)量進(jìn)行訓(xùn)練時(shí),較小模型的行為表現(xiàn)。
具體來說,該研究使用大約 3 萬億個(gè) token 訓(xùn)練具有 1.1B 個(gè)參數(shù)的 Transformer (僅解碼器)模型。據(jù)了解,這是第一次嘗試使用如此大量的數(shù)據(jù)來訓(xùn)練具有 1B 參數(shù)的模型。
盡管規(guī)模相對(duì)較小,但 TinyLlama 在一系列下游任務(wù)中表現(xiàn)相當(dāng)出色,它的性能顯著優(yōu)于同等大小的現(xiàn)有開源語言模型。具體來說,TinyLlama 在各種下游任務(wù)中都超越了 OPT-1.3B 和 Pythia1.4B 。
此外,TinyLlama 還用到了各種優(yōu)化方法,如 flash attention 2、FSDP( Fully Sharded Data Parallel )、 xFormers 等。
在這些技術(shù)的加持下,TinyLlama 訓(xùn)練吞吐量達(dá)到了每 A100-40G GPU 每秒 24000 個(gè) token。例如,TinyLlama-1.1B 模型對(duì)于 300B token 僅需要 3,456 A100 GPU 小時(shí),而 Pythia 為 4,830 小時(shí),MPT 為 7,920 小時(shí)。這顯示了該研究?jī)?yōu)化的有效性以及在大規(guī)模模型訓(xùn)練中節(jié)省大量時(shí)間和資源的潛力。
TinyLlama 實(shí)現(xiàn)了 24k tokens / 秒 / A100 的訓(xùn)練速度,這個(gè)速度好比用戶可以在 8 個(gè) A100 上用 32 小時(shí)訓(xùn)練一個(gè)具有 11 億參數(shù)、220 億 token 的 chinchilla-optimial 的模型。同時(shí),這些優(yōu)化也大大減少了顯存占用,用戶可以把 11 億參數(shù)的模型塞入 40GB 的 GPU 里面還能同時(shí)維持 16k tokens 的 per-gpu batch size。只需要把 batch size 改小一點(diǎn), 你就可以在 RTX 3090/4090 上面訓(xùn)練 TinyLlama。?
實(shí)驗(yàn)中,該研究主要關(guān)注具有純解碼器架構(gòu)的語言模型,包含大約 10 億個(gè)參數(shù)。具體來說,該研究將 TinyLlama 與 OPT-1.3B、Pythia-1.0B 和 Pythia-1.4B 進(jìn)行了比較。
TinyLlama 在常識(shí)推理任務(wù)上的性能如下所示,可以看出 TinyLlama 在許多任務(wù)上都優(yōu)于基線,并獲得了最高的平均分?jǐn)?shù)。
此外,研究者在預(yù)訓(xùn)練期間跟蹤了 TinyLlama 在常識(shí)推理基準(zhǔn)上的準(zhǔn)確率,如圖 2 所示,TinyLlama 的性能隨著計(jì)算資源的增加而提高,在大多數(shù)基準(zhǔn)中超過了 Pythia-1.4B 的準(zhǔn)確率。
表 3 表明,與現(xiàn)有模型相比,TinyLlama 表現(xiàn)出了更好的問題解決能力。
手快的網(wǎng)友已經(jīng)開始整活了:運(yùn)行效果出奇得好,在 GTX3060 上運(yùn)行,能以 136 tok / 秒的速度運(yùn)行。
「確實(shí)是快!」
小模型 LiteLlama
由于 TinyLlama 的發(fā)布,SLM(小型語言模型)開始引起廣泛關(guān)注。德克薩斯工農(nóng)大學(xué)的 Xiaotian Han 發(fā)布了 SLM-LiteLlama。它有 460M 參數(shù),由 1T token 進(jìn)行訓(xùn)練。這是對(duì) Meta AI 的 LLaMa 2 的開源復(fù)刻版本,但模型規(guī)模顯著縮小。
項(xiàng)目地址:https://huggingface.co/ahxt/LiteLlama-460M-1T
LiteLlama-460M-1T 在 RedPajama 數(shù)據(jù)集上進(jìn)行訓(xùn)練,并使用 GPT2Tokenizer 對(duì)文本進(jìn)行 token 化。作者在 MMLU 任務(wù)上對(duì)該模型進(jìn)行評(píng)估,結(jié)果如下圖所示,在參數(shù)量大幅減少的情況下,LiteLlama-460M-1T 仍能取得與其他模型相媲美或更好的成績(jī)。
以下為該模型的性能表現(xiàn),更詳細(xì)內(nèi)容請(qǐng)參閱:
https://huggingface.co/datasets/open-llm-leaderboard/details_ahxt__llama2_xs_460M_experimental
面對(duì)規(guī)模大幅縮小的 LiteLlama,有網(wǎng)友好奇,它是否能夠在 4GB 的內(nèi)存上運(yùn)行。如果你也想知道,不如親自試試看吧。
參考鏈接:
https://twitter.com/_akhaliq/status/1744009616562819526
https://twitter.com/XiaotianHan1/status/1743824496916656275
https://twitter.com/abacaj/status/1743303507594097136