單張GPU搞定GPT-3超參數(shù)!先訓練小模型,再“一鍵遷移” |已開源

發(fā)布時間:2022-03-14 22:38:44  |  來源:騰訊網(wǎng)  

豐色 發(fā)自 凹非寺

量子位 | 公眾號 QbitAI

“一個GPU沒法訓練GPT-3,更別提在上面調(diào)整超參數(shù)了?!?/p>

不不不,現(xiàn)在情況有變——

在單個GPU上完全可以調(diào)整大規(guī)模模型的超參數(shù)。

怎么說?

原來有人發(fā)現(xiàn)了一種新的調(diào)參方法,無論模型規(guī)模怎么變化,所得的最優(yōu)超參數(shù)都能保持性能穩(wěn)定。

由此一來,我們可以先訓練一個小版本的模型,在上面間接調(diào)整好超參,然后以零樣本的方式直接將它們復制到全尺寸模型上,就能獲得相當不錯的性能。

這對手里GPU資源不夠的人來說簡直不要太好了吧。

目前,相關帖子也在Reddit上引起熱議,得到了300+的點贊支持。

在一個GPU上調(diào)參GPT-3大模型

方法名叫muP (Maximal Update Parametrization),作者分別來自微軟和OpenAI。

想法很簡單,利用的是他們在之前的工作中發(fā)現(xiàn)的一個叫做 P的特殊參數(shù)化思路:

窄神經(jīng)網(wǎng)絡和寬神經(jīng)網(wǎng)絡共享同一組最優(yōu)超參數(shù),即使寬度無限大(width->∞)時也一樣。

具體原理可以參見論文《Feature Learning in Infinite-Width Neural Networks》。

可共享的超參數(shù)包括學習率learning rate、learning rate schedule、initialization、parameter multipliers……甚至可以單獨針對每個參數(shù)張量。

作者在寬度高達4096的Transformer以及ResNet上驗證了這一結論。

因此,資源匱乏的煉丹er就可以在單張GPU上對一個小版本的GPT-3模型進行超參數(shù)調(diào)整:

如果在這個小模型上得到的參數(shù)接近最優(yōu),那么在大模型上也可以得到一樣的結果。

ps. 這種調(diào)參方式又被命名為“ 遷移( Transfer)”。

具體效果如何?

作者訓練了一個只有4000萬參數(shù)規(guī)模的小型GPT-3,它小到可以直接跑在一張GPU上。

然后把它的超參數(shù)“ 遷移”到一個有67億參數(shù)的大規(guī)模GPT-3上,結果發(fā)現(xiàn)它的性能和原始的GPT-3完全相當——盡管原GPT-3的參數(shù)規(guī)模還是它的兩倍!

而這一調(diào)整成本只占整個預訓練成本的7%。

由于模型規(guī)模增大,直接調(diào)整小型模型的成本仍大致相同,如果用該方式來調(diào)參175億規(guī)模的GPT-3,其成本可能最多只有總預訓練成本的0.3%。

好了,這時你可能會問:能不能只縮小模型的寬度呢?

作者表示,對于“non-width stuff”,沒有理論保證。

不過好消息是,他們在preLN Transformer的合理范圍內(nèi)對depth、batch size、sequence length和timestep的遷移效果進行了測試。

其中,他們將BERT-base和BERT-large在寬度和深度上縮小到同樣的規(guī)模, 然后同時進行超參數(shù)調(diào)整后發(fā)現(xiàn):

相比已經(jīng)調(diào)優(yōu)的megatron BERT基線,兩者的性能都得到了改善,尤其是BERT-large提升更大。

由此也總結出一個道理:

遷移后的模型規(guī)模越大,收益越高。

所以作者還調(diào)侃道,雖然我們沒有測試175億規(guī)模的GPT-3,但保證結果能讓你“流口水”。

說了這么多,到底如何實現(xiàn)?

下表概括了如何通過fan-in或fan-out調(diào)整你的模型的initialization和learning rate。

其中粉色文本為 P,括號中的灰色文本為pytorch默認值。

當然,如果你不想自己手動操作,作者也開源了Pytorch實現(xiàn),通過pip install mup就可以應用到你的模型中。

關于作者

一作名叫Greg Yang,微軟高級研究員。

通訊作者為微軟研究院深度學習技術中心合伙人研究經(jīng)理、IEEE Fellow高劍峰。

還有兩位華人作者分別為來自微軟的Liu Xiaodong(北京郵電大學校友)和Chen Weizhu (已在微軟工作16年)。

他們的這篇成果已被NeurIPS 2021接收。

GitHub鏈接:

https://github.com/microsoft/mup

論文地址:

https://arxiv.org/abs/2203.03466

官方博客鏈接:

https://www.microsoft.com/en-us/research/blog/%C2%B5transfer-a-technique-for-hyperparameter-tuning-of-enormous-neural-networks/

Reddit討論:

https://www.reddit.com/r/MachineLearning/comments/tb0jm6/r_you_cant_train_gpt3_on_a_single_gpu_but_you_can/

關鍵詞: 單張GPU搞定GPT-3超參數(shù)先訓練小模型 再一鍵遷移

 

網(wǎng)站介紹  |  版權說明  |  聯(lián)系我們  |  網(wǎng)站地圖 

星際派備案號:京ICP備2022016840號-16 營業(yè)執(zhí)照公示信息版權所有 郵箱聯(lián)系:920 891 263@qq.com