模型概述
模型特點
模型能力
使用案例
🚀 GPT2(023)模型卡片
GPT2(023)是OpenAI最小的GPT - 2模型(1.24億參數),在約22.3億個標記上進行了微調(幾乎達到了“龍貓最優”預訓練所需的24.8億個標記!而且比Cerebras - GPT - 1.11億模型的總訓練標記數還要多)。這些標記數據來源廣泛,其中13億來自2023年的通用爬蟲網站,5.4億來自arXiv,3.9億來自GitHub。
該模型以1e - 4的學習率進行訓練,預熱1024步,然後衰減至0。訓練期間,在批量大小為512個樣本、上下文長度為1024的情況下,總共進行了4400步訓練。批量大小和上下文長度與GPT2本身的預訓練設置相同。在本地使用12GB的RTX3060顯卡,訓練總共耗時79.32小時,消耗了1.18e + 18次浮點運算。最終訓練損失為2.73。
✨ 主要特性
- 數據多元:使用來自2023年通用爬蟲網站、arXiv和GitHub的大量數據進行微調,使模型能接觸到更廣泛的知識領域。
- 訓練精細:採用特定的學習率策略和訓練步驟,確保模型在訓練過程中能夠有效收斂。
- 性能出色:在一些評估指標上表現良好,具有一定的文本生成和理解能力。
📦 安裝指南
暫未提及安裝相關內容,可參考Hugging Face的transformers
庫的安裝方式來使用此模型。
💻 使用示例
基礎用法
你可以直接使用文本生成管道來使用這個模型。由於生成過程依賴於一定的隨機性,我們設置一個種子以保證結果的可重複性:
>>> from transformers import pipeline, set_seed
>>> generator = pipeline('text-generation', model='crumb/gpt2023')
>>> set_seed(42)
>>> generator("Hello, I'm a language model,", max_length=30, num_return_sequences=5)
[{'generated_text': "Hello, I'm a language model, a language for thinking, a language for expressing thoughts."},
{'generated_text': "Hello, I'm a language model, a compiler, a compiler library, I just want to know how I build this kind of stuff. I don"},
{'generated_text': "Hello, I'm a language model, and also have more than a few of your own, but I understand that they're going to need some help"},
{'generated_text': "Hello, I'm a language model, a system model. I want to know my language so that it might be more interesting, more user-friendly"},
{'generated_text': 'Hello, I\'m a language model, not a language model"\n\nThe concept of "no-tricks" comes in handy later with new'}]
高級用法
以下是如何在PyTorch中使用這個模型來獲取給定文本的特徵:
from transformers import GPT2Tokenizer, GPT2Model
tokenizer = GPT2Tokenizer.from_pretrained('crumb/gpt2023')
model = GPT2Model.from_pretrained('crumb/gpt2023')
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
📚 詳細文檔
GPT2(023)評估
(進行中)
模型 | piqa準確率 | winogrande準確率 | lambada困惑度 | lambada準確率 | arc準確率 | sciq準確率 | wsc準確率 |
---|---|---|---|---|---|---|---|
pythia - 70m | 59.85 | 51.22 | 140.81 | 21.40 | 17.15 | 65.00 | 36.53 |
pythia - 160m | 62.68 | 51.07 | 30.03 | 36.76 | 19.62 | 76.20 | 36.58 |
pythia - 410m | 66.54 | 52.24 | 11.75 | 49.93 | 21.67 | 80.80 | 60.58 |
opt - 125m | 63.00 | 50.27 | 26.02 | 37.90 | 18.94 | 75.1 | 36.54 |
--- | --- | --- | --- | --- | --- | --- | --- |
gpt2 (1.24億參數) | 62.89 | 51.61 | 40.06 | 32.56 | 19.03 | 75 | 43.27 |
gpt2023 (1.24億參數) | 62.02 | 49.64 | 34.55 | 33.98 | 18.94 | 76.1 | 36.54 |
最終得到的模型困惑度為339.38,僅用21%的參數就可與Cerebras - 5.9億參數的模型相競爭,並且比原始的GPT - 2(得分491.57)要好得多!
(指標解釋:https://twitter.com/aicrumb/status/1650350363898265601 ,簡而言之,這是個玩笑)
為了展示GPT2(023)對近期事件的感知能力,讓我們看一個示例:
# About Covid-19
- -
The Covid-19
模型完成的文本如下:
# About Covid-19
- -
The Covid-19 pandemic is the worldwide pandemic that has left thousands of people unable to enter and work in or continue their normal daily normal life. In this brief post, we examine three of the main factors that have accelerated the pandemic and predict the path the pandemic will take through the rest of the world.
可以看出,GPT2(023)能夠生成與新冠疫情相關的連貫文本,展示了它理解近期事件的能力。然而,對於訓練數據中不太相關的某些主題,它可能表現不佳。由於微調時僅使用了22.3億個標記,模型可能錯過了許多近期事件。例如,在回答關於最新美國選舉的問題時:
Q: Who is the last president?
A: Donald Trump
Q: Who is the most recent president?
A:
模型給出的答案是:Barack Obama
模型描述
(來自GPT - 2模型卡片)
GPT - 2是一個基於自監督方式在非常大的英語語料庫上進行預訓練的Transformer模型。這意味著它僅在原始文本上進行預訓練,沒有人工對其進行任何標註(這就是為什麼它可以使用大量公開可用的數據),並通過自動過程從這些文本中生成輸入和標籤。更準確地說,它被訓練來預測句子中的下一個單詞。
具體而言,輸入是一定長度的連續文本序列,目標是相同的序列,但向右移動一個標記(單詞或單詞片段)。模型內部使用掩碼機制,以確保對標記i的預測僅使用從1到i的輸入,而不使用未來的標記。
通過這種方式,模型學習到英語語言的內部表示,然後可用於提取對下游任務有用的特徵。不過,該模型在其預訓練的任務(即根據提示生成文本)上表現最佳。
這是GPT - 2的最小版本,具有1.24億個參數。
侷限性和偏差
該模型使用的訓練數據尚未作為可瀏覽的數據集發佈。我們知道它包含大量來自互聯網的未過濾內容,這些內容遠非中立。正如OpenAI團隊在他們的模型卡片中指出的:
由於像GPT - 2這樣的大規模語言模型無法區分事實和虛構,我們不支持要求生成文本為真實內容的用例。
此外,像GPT - 2這樣的語言模型反映了其訓練系統中固有的偏差,因此我們不建議將它們部署到與人類交互的系統中,除非部署者首先對與預期用例相關的偏差進行研究。我們發現7.74億和15億參數版本在性別、種族和宗教偏差探測方面沒有統計學上的顯著差異,這意味著在處理對人類屬性偏差敏感的用例時,所有版本的GPT - 2都應採取類似程度的謹慎態度。
Open LLM排行榜評估結果
詳細結果可查看此處
指標 | 值 |
---|---|
平均值 | 24.85 |
ARC (25次少樣本學習) | 21.93 |
HellaSwag (10次少樣本學習) | 31.11 |
MMLU (5次少樣本學習) | 25.05 |
TruthfulQA (0次少樣本學習) | 40.71 |
Winogrande (5次少樣本學習) | 50.12 |
GSM8K (5次少樣本學習) | 0.3 |
DROP (3次少樣本學習) | 4.73 |
🔧 技術細節
- 訓練數據:由2023年通用爬蟲網站(13億標記)、arXiv(5.4億標記)和GitHub(3.9億標記)的文本數據組成,共計約22.3億標記。
- 訓練參數:學習率1e - 4,預熱1024步後衰減至0,批量大小512,上下文長度1024,總訓練步數4400。
- 硬件資源:使用12GB的RTX3060顯卡,本地訓練耗時79.32小時,消耗1.18e + 18次浮點運算。
- 最終損失:訓練結束時損失為2.73。
📄 許可證
本模型採用MIT許可證。



