模型概述
模型特點
模型能力
使用案例
🚀 Cerebras-GPT 111M
Cerebras-GPT 111M 是基於 Transformer 架構的語言模型,旨在助力大語言模型的研究,可作為自然語言處理、應用、倫理和對齊研究的基礎模型。
🚀 快速開始
本模型可使用 AutoModelForCausalLM
功能輕鬆加載:
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("cerebras/Cerebras-GPT-111M")
model = AutoModelForCausalLM.from_pretrained("cerebras/Cerebras-GPT-111M")
text = "Generative AI is "
可與 Hugging Face Pipelines 一起使用:
from transformers import pipeline
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
generated_text = pipe(text, max_length=50, do_sample=False, no_repeat_ngram_size=2)[0]
print(generated_text['generated_text'])
或者使用 model.generate()
:
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs, num_beams=5,
max_new_tokens=50, early_stopping=True,
no_repeat_ngram_size=2)
text_output = tokenizer.batch_decode(outputs, skip_special_tokens=True)
print(text_output[0])
✨ 主要特性
- 模型家族豐富:Cerebras-GPT 家族包含 111M、256M、590M、1.3B、2.7B、6.7B 和 13B 等多種規模的模型。
- 遵循最優定律:所有模型均按照 Chinchilla 縮放定律(每個模型參數對應 20 個令牌)進行訓練,實現計算最優。
- 高效訓練架構:採用 Cerebras 的權重流式傳輸技術,通過將計算與模型存儲分離,簡化大語言模型的訓練,實現跨節點的高效擴展。
📚 詳細文檔
模型描述
Cerebras-GPT 家族的發佈是為了推動使用開放架構和數據集對大語言模型縮放定律的研究,並展示在 Cerebras 軟件和硬件堆棧上訓練大語言模型的簡單性和可擴展性。所有 Cerebras-GPT 模型均可在 Hugging Face 上獲取。
該家族包括 111M、256M、590M、1.3B、2.7B、6.7B 和 13B 等模型。
Cerebras-GPT 家族的所有模型均按照 Chinchilla 縮放定律(每個模型參數對應 20 個令牌)進行訓練,這是計算最優的方式。
這些模型在由 16 個 CS - 2 晶圓級系統組成的 Andromeda AI 超級計算機上進行訓練。Cerebras 的 權重流式傳輸技術 通過將計算與模型存儲分離,簡化了大語言模型的訓練。這使得使用簡單的數據並行性在節點間實現高效的訓練擴展成為可能。
用於預訓練和微調的 Cerebras 系統可通過 Cerebras Model Studio 在雲端獲取。與 Cerebras CS - 2 兼容的檢查點可在 Cerebras Model Zoo 中找到。
模型詳情
屬性 | 詳情 |
---|---|
開發者 | Cerebras Systems |
許可證 | Apache 2.0 |
模型類型 | 基於 Transformer 的語言模型 |
架構 | GPT - 3 風格架構 |
數據集 | The Pile |
分詞器 | 字節對編碼 |
詞彙量大小 | 50257 |
序列長度 | 2048 |
優化器 | AdamW, (β1, β2) = (0.9, 0.95), adam_eps = 1e−8 (對於較大模型為 1e−9) |
位置編碼 | 學習型 |
語言 | 英語 |
聯繫信息:若要詢問有關 Cerebras - GPT 模型的問題,請加入 Cerebras Discord。
這是 Cerebras - GPT 的標準參數化版本,具有 111M 個參數。
相關模型:[Cerebras - GPT 模型](https://huggingface.co/models?sort=downloads&search=cerebras - gpt)
不同規模 Cerebras - GPT 模型的參數詳情如下:
模型 | 參數 | 層數 | d_model | 頭數 | d_head | d_ffn | 學習率 | 批次大小 (序列) | 批次大小 (令牌) |
---|---|---|---|---|---|---|---|---|---|
Cerebras - GPT | 111M | 10 | 768 | 12 | 64 | 3072 | 6.0E - 04 | 120 | 246K |
Cerebras - GPT | 256M | 14 | 1088 | 17 | 64 | 4352 | 6.0E - 04 | 264 | 541K |
Cerebras - GPT | 590M | 18 | 1536 | 12 | 128 | 6144 | 2.0E - 04 | 264 | 541K |
Cerebras - GPT | 1.3B | 24 | 2048 | 16 | 128 | 8192 | 2.0E - 04 | 528 | 1.08M |
Cerebras - GPT | 2.7B | 32 | 2560 | 32 | 80 | 10240 | 2.0E - 04 | 528 | 1.08M |
Cerebras - GPT | 6.7B | 32 | 4096 | 32 | 128 | 16384 | 1.2E - 04 | 1040 | 2.13M |
Cerebras - GPT | 13B | 40 | 5120 | 40 | 128 | 20480 | 1.2E - 04 | 720 → 1080 | 1.47M → 2.21M |
訓練數據
Cerebras - GPT 使用來自 EleutherAI 的 the Pile 數據集進行訓練。有關數據源和方法的更詳細分解,請參閱 Pile 論文。Pile 數據集使用 ftfy 庫進行清理以規範文本,然後使用 Eleuther 提供的腳本進行過濾。
我們使用 GPT - 2 詞彙表通過字節對編碼對數據進行分詞。我們的 Pile 分詞版本有 371B 個令牌。我們在論文的附錄 A.1 中包含了有關訓練數據集預處理的更多詳細信息。
近期研究發現 Pile 數據集中存在大量重複數據。Eleuther 的 Pythia 應用了去重過程以減少重複數據,從而減小了 Pile 數據集的大小。Pythia 在標準數據集和去重數據集上都進行了訓練,以評估其影響。我們的模型在未去重的標準 Pile 數據集上進行訓練,使用去重數據集可能會帶來進一步改進的機會。
訓練過程
我們使用 GPT - 3 風格的模型架構。與 GPT - 3 風格的稀疏帶狀注意力不同,我們的所有層都使用全注意力。模型形狀的選擇要麼遵循寬高比 80,要麼與 GPT - 3 模型形狀相同。學習率在 3.75 億個令牌(對於 111M 和 256M 模型為 1500 步)內進行預熱,然後以 10 倍的餘弦衰減。未使用丟棄法,權重衰減設置為 0.1。所有模型的最大序列長度(MSL)均為 2048。
所有模型均訓練到 Chinchilla 點:每個模型參數對應 20 個令牌。步驟數根據最佳批次大小(因模型而異)和固定序列長度(2048)選擇。具體細節如下表所示:
模型參數 | 序列長度 | 批次大小 | 步驟數 | 令牌數 | 每個參數的令牌數 | 浮點運算次數 |
---|---|---|---|---|---|---|
111M | 2048 | 120 | 9037 | 2.22E + 09 | 20 | 2.6E + 18 |
256M | 2048 | 264 | 9468 | 5.12E + 09 | 20 | 1.3E + 19 |
590M | 2048 | 264 | 21836 | 1.18E + 10 | 20 | 6.1E + 19 |
1.3B | 2048 | 528 | 24334 | 2.63E + 10 | 20 | 2.8E + 20 |
2.7B | 2048 | 528 | 49041 | 5.30E + 10 | 20 | 1.1E + 21 |
6.7B | 2048 | 1040 | 62522 | 1.33E + 11 | 20 | 6.3E + 21 |
13B | 2048 | 720 → 1080 | 174335 | 2.57E + 11 | 20 | 2.3E + 22 |
評估
我們從小到大訓練模型,並在訓練過程中擬合冪律。冪律有助於推斷我們訓練的下一個更大模型的驗證損失,併為訓練過程是否順利提供信心。
我們使用 Pile 驗證集和測試集對文本預測交叉熵進行了上游(預訓練)評估。我們使用 [Eleuther lm - evaluation - harness](https://github.com/EleutherAI/lm - evaluation - harness) 對標準化任務上的文本生成準確性進行了下游評估。論文第 3 節將結果與許多公開可用的大語言模型進行了比較。
零樣本評估
模型 | 參數 | 訓練浮點運算次數 | PILE 測試交叉熵 | Hella - Swag | PIQA | Wino - Grande | Lambada | ARC - e | ARC - c | OpenBookQA | 下游平均 |
---|---|---|---|---|---|---|---|---|---|---|---|
Cerebras - GPT | 111M | 2.6E + 18 | 2.566 | 0.268 | 0.594 | 0.488 | 0.194 | 0.380 | 0.166 | 0.118 | 0.315 |
Cerebras - GPT | 256M | 1.3E + 19 | 2.299 | 0.274 | 0.613 | 0.511 | 0.293 | 0.410 | 0.170 | 0.158 | 0.347 |
Cerebras - GPT | 590M | 6.1E + 19 | 2.184 | 0.291 | 0.627 | 0.498 | 0.366 | 0.464 | 0.190 | 0.158 | 0.370 |
Cerebras - GPT | 1.3B | 2.8E + 20 | 1.996 | 0.325 | 0.664 | 0.521 | 0.462 | 0.508 | 0.224 | 0.166 | 0.410 |
Cerebras - GPT | 2.7B | 1.1E + 21 | 1.834 | 0.386 | 0.701 | 0.559 | 0.567 | 0.571 | 0.246 | 0.206 | 0.462 |
Cerebras - GPT | 6.7B | 6.3E + 21 | 1.704 | 0.447 | 0.739 | 0.602 | 0.636 | 0.643 | 0.282 | 0.238 | 0.512 |
Cerebras - GPT | 13B | 2.3E + 22 | 1.575 | 0.513 | 0.766 | 0.646 | 0.696 | 0.714 | 0.367 | 0.286 | 0.570 |
五樣本評估
模型 | 參數 | Hella - Swag | PIQA | Wino - Grande | Lambada | ARC - e | ARC - c | OpenBookQA |
---|---|---|---|---|---|---|---|---|
Cerebras - GPT | 111M | 0.267 | 0.588 | 0.475 | 0.158 | 0.356 | 0.166 | 0.136 |
Cerebras - GPT | 256M | 0.278 | 0.606 | 0.522 | 0.225 | 0.422 | 0.183 | 0.164 |
Cerebras - GPT | 590M | 0.291 | 0.634 | 0.479 | 0.281 | 0.475 | 0.206 | 0.152 |
Cerebras - GPT | 1.3B | 0.326 | 0.668 | 0.536 | 0.395 | 0.529 | 0.241 | 0.174 |
Cerebras - GPT | 2.7B | 0.382 | 0.697 | 0.543 | 0.487 | 0.590 | 0.267 | 0.224 |
Cerebras - GPT | 6.7B | 0.444 | 0.736 | 0.590 | 0.591 | 0.667 | 0.314 | 0.270 |
Cerebras - GPT | 13B | 0.514 | 0.768 | 0.674 | 0.655 | 0.743 | 0.398 | 0.318 |
使用場景和侷限性
預期用途
主要預期用途是進一步開展大語言模型的研究。這些模型可作為自然語言處理、應用、倫理和對齊研究的基礎模型。我們的主要目標用戶是致力於改進大語言模型的研究人員,以及尋求參考實現、訓練設置、超參數或預訓練模型的從業者。我們以完全寬鬆的 Apache 許可證發佈這些模型,供社區自由使用。
您可以通過 Cerebras [Model Studio](https://www.cerebras.net/product - cloud/) 或第三方庫對 Cerebras - GPT 模型進行微調並部署。在將 Cerebras - GPT 模型家族用於生產下游應用之前,應進行進一步的安全相關測試和緩解措施。
由於資金和計算預算的限制,Cerebras - GPT 模型僅按照論文中描述的方法進行訓練和評估。
非預期用途
Cerebras - GPT 模型在 Pile 數據集上進行訓練,僅支持英語,不適合機器翻譯任務。
Cerebras - GPT 模型未針對面向人類的對話應用(如聊天機器人)進行調優,其對提示的響應方式與經過指令調優或從人類反饋中進行強化學習(RLHF)的模型(如 Flan - T5 或 ChatGPT)不同。Cerebras - GPT 模型可以使用這些方法進行調優。
風險、偏差和倫理考慮
- 數據:Pile 數據集已從各種倫理角度(如毒性分析、性別偏差、貶義詞內容、種族敏感內容等)進行了全面分析。請參考 Pile 數據集的相關參考文獻。
- 人類生活:該模型的輸出可能與人類價值觀一致,也可能不一致。在將此模型部署到可能直接影響人類生活的生產環境之前,需要徹底調查風險。
- 風險和危害:Pile 數據集中可能存在分佈偏差,這可能在下游模型部署中以各種形式表現出來。大語言模型還存在其他風險,如放大刻板印象、記憶訓練數據或洩露私人或安全信息。
- 緩解措施:在預訓練 Cerebras - GPT 時,僅採用了標準 Pile 數據集預處理中的緩解措施。
📄 許可證
本項目採用 Apache 2.0 許可證。
致謝
我們感謝所有現在和過去的 Cerebras 工程師,是他們使這項工作成為可能。



