布朗大學的計算機科學研究畢業生 Vanya Cohen 近日在 Medium 分享了他復現 GPT-2 大模型的全過程。作者復刻了Open-AI 15億參數模型,允許其他人在其預訓練模型上進行構建并進一步改進。
BERT,XLNet,GPT-2和Grover等大型語言模型在生成文本和多個NLP任務方面取得了令人矚目的成果。
本文試圖去復刻GPT-2的15億模型以供研究人員使用。
Google Colab地址:
https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit
單獨提供的模型權重:
https://drive.google.com/drive/u/1/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1
復刻
之所以采取遲遲不放出模型的安全戰略,是因為這些模型難以復刻并需要高度專業的領域知識。
但是布朗大學的兩名碩士研究生卻證明了本文的許多結果復刻起來并不是那么的難。而且不僅他們倆可以,絕大多數感興趣的人都可以復刻GPT-2。
研究生之一:Vanya Cohen
此外,Zellers等人表明像GPT-2這樣的大型語言模型是一種非常有用的工具,可以抵制使用與文本生成器相同的模型。
兩位研究生經過深思熟慮后認為,復刻工作并不是獨一無二的,并且大型語言模型是目前抵制生成文本的最有效手段,因此在對抗未來模型被濫用的可能性方面,發布本模型是有益的。
本模型的實現基于Grover模型,并修改其代碼庫以匹配GPT-2的語言建模訓練目標。由于他們的模型是在類似的大型語料庫上進行訓練的,因此大部分代碼和超參數都可以重復使用。本模型沒有從Grover中大幅改變超參數。
使用本模型代碼從頭開始訓練模型的成本約為5萬美元。要注意這個數字是云計算的估計值,并不包含所涉及的各種其他細微的內部成本。
存在顯著的時間-成本平衡,并且較慢的訓練方法具有相當小的成本,因此降低了使用門檻。
數據集
原始文件提供了有關如何清理數據集的最低限度的詳細信息。
與在WebText中一樣,首先從Reddit中解析出超過3個向上投票的所有鏈接。接著,從PushshiftRedditscrape開始。這是一個包含不斷更新的Reddit帖子、評論以及相關元數據集合的數據集。
然后過濾一些鏈接以刪除不太可能包含可用文本或HTML(即視頻文件,PDF和CSS樣式文件)的文件類型的直接鏈接。
同時還過濾網頁以刪除維基百科,因為它被各種評估基準和數據集使用。目前還無法確定過濾標準是否與OpenAI相匹配,因為此信息從未發布過。
使用Newspaper Python庫從HTML頁面中提取文本,然后使用fastText Python庫來提取英文文本、過濾掉其他語言。具體來說,使用WhatTheLangpython Wrapper。
使用局部敏感散列(LSH)來去重。然后將文檔散列為5-grams的集合,并且刪除了相似度閾值大于0.5的所有文檔。
使用Heuristic Cleaning算法,從數據集中刪除少于128個令牌的文檔。這些較短的文件往往質量較低,這是由文本連貫性決定的。最后將此數據集作為OpenWebTextCorpus發布。
使用Radford等人發布的小型模型和Binary Pattern Encoder對數據集進行編碼,并使用OpenWebText web-scrapingcodebase的修改版本作為數據集集合的起點。
勘誤表
從公開發布的來自WebText的260k文檔集合中來看,研究人員發現所有文件都具有最小字節對(BPE)編碼,長度為40,最大值為1024.
OpenWebText的不同之處在于為128個令牌設置文檔長度的下限(而不是BPE代碼),并且不限制最大文檔長度。
原始的WebTextCorpus在這些樣本可用之前發布,因此沒有使用該信息來生成cleaning heuristics。
研究人員曾多次嘗試聯系Radford等人,以澄清評估和模型細節,但最終都沒有成功。
結果
盡管訓練分布存在差異,但確實報告了與大多數數據集相似的困惑。
示例:輸入“Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!”輸出結果如下:
-
語言模型
+關注
關注
0文章
523瀏覽量
10274 -
數據集
+關注
關注
4文章
1208瀏覽量
24696
原文標題:布朗大學90后研究生:我們復現了15億參數GPT-2模型,你也行!
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論