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