メむンコンテンツぞスキップ
芋出し画像

ÎŒTransfer: 小芏暡モデルでのハむパラ探玢を倧芏暡モデルに転移し孊習を効率化する

    最近、友人から倧芏暡モデルの孊習を劇的に効率化しそうな䞋蚘の事実ΌTransferを教えおもらい、こんなこずが成り立぀こずに非垞に驚くずずもに、それを知らなかったこずにちょっずしたショックを受けたした。

    ÎŒTransfer
    䞋蚘の手順で倧芏暡モデルNeural Networksの最適なハむパヌパラメヌタを効率的に獲埗できる
    1. 孊習したい倧芏暡モデルタヌゲットモデルず同じアヌキテクチャの次元や局数のより小さいモデルを甚意し、それぞれのモデルのパラメヌタず最適化アルゎリズムを ÎŒP ず呌ばれる方法でパラメヌタ付けする
    2. その小さいモデルで、最適なハむパヌパラメヌタ孊習率などを探玢する
    3. タヌゲットモデルに小さいモデルで獲埗されたハむパヌパラメヌタを適甚する

    Greg Yang+, "Tensor Programs V:
    Tuning Large Neural Networks via Zero-Shot Hyperparameter Transfer", NeurIPS 2022

    ここで出おくる ÎŒPMaximal Update Parametrizationずいうのは、 Tensor Programs (TP)ずいうフレヌムワヌクにおいお理論的に導出されたパラメヌタ付けパラメヌタのスケヌリングなどの方法です。

    TP は、 Neural Networks NNの解析をするために、線圢倉換や非線圢掻性化関数などの NN の構築で頻出する操䜜をリストアップし、その枠組みで成立する事象や性質を远求するフレヌムワヌクです。

    驚くこずに、ΌP はよくありがちな理論的には正しいが実装が事実䞊䞍可胜な代物ではなく、埌述するように実装も拍子抜けするほどシンプルです。なんならそれを簡単に適甚する Python パッケヌゞすらありたす。

    しかし、ΌP ずそれがもたらす ÎŒTransfer ずいう事実の重芁さ重倧ず蚀っおもいいず思いたすにも関わらず、日本で LLM やVision/Multimodal LLM などの倧芏暡モデルの孊習に興味をもっおいる個人/組織の䞀郚にしか知られおいないように思われたす。これが誀認であれば安心なのですが、残念ながらどうやら海倖でも䞀郚にしか正しく認知されおいないようです。

    このような状況になっおいるのは、この理論が䞀連の論文珟段階で Tensor Programs I 〜 VIで段階的に構築されおいる途䞊であり、いずれも前の論文の理解を前提に曞かれおいるのでキャッチアップするのに䞀定の゚ネルギヌが必芁なこず、そしおキャッチアップした人がこの理論をあたり解説しおいないこずが䞀因のように思われたす。それにより、この理論のフォロワヌがずくに実務家のなかで増えおいないようです。実際、著者の Website でも、Tensor Programs に関する入門線的な論文の䞀぀に䞋蚘の泚釈が぀けられおいたす。

    "A very accessible and pedagogical intro to the scaling (with width) of feature learning. Since the TP series has a reputation for being hard-to-read, this one is not numbered so people will be more likely to read it ;)"

    翻蚳:
    特城量孊習のスケヌリング(幅)に぀いお、非垞にわかりやすく教育的な入門。TPシリヌズは読みにくいずいう評刀があるが、この本にはナンバリングがされおいないので、もっず広く読たれるだろう😉

    著者サむトの "A Spectral Condition for Feature Learning" の泚釈より

    䞊蚘の泚釈が぀いた "A Spectral Condition for Feature Learning" ずいう論文埌で玹介したすもたしかに理論に関しおは「非垞にわかりやすく教育的」ではありたすが、この論文では ÎŒTransfer は蚀及されおいたせん。先に出おいるはずの Tensor Programs V の論文で ÎŒTransfer が発衚されおいるのですが、逆にこの論文だずあちこちを参照しないず理論背景を理解するのが難しいのが実情で、理論ず効果を䞡方理解するには䞡方の論文を読む必芁がありたす。

    たた、いくら実装がシンプルず蚀えども理論の理解なしでは正しく䜿うのは困難です。ずくに倧芏暡モデルであるほど気軜に詊行錯誀はできないでしょう。実は ÎŒP を簡単に䜿えるようにするために開発された著者による Python パッケヌゞもあるのですが、こちらはこちらでコメントがほが付いおいなかったり䟋が簡単すぎたりしお、理論の茪郭を知らないずもう少し耇雑なモデルに察しおどう適甚すればよいかには䞍安が残るでしょうただし、実装自䜓は非垞にコンパクトなので理解の答え合わせにはずおも䟿利です。

    ずいうわけで、初孊者向けに理論の茪郭を描き぀぀、どう利甚すればよいかの指針を䞎えるこずが必芁なのではず思い、自分で倚少キャッチアップしお蚘事にしおみたした。これをきっかけにさらなる解説蚘事や適甚䟋が増えるこずを祈っおいたす。そしお、すでに TP / ÎŒP / ÎŒTransfer に関しお理論的にも実践的にも熟知されおいる方がいたら、ぜひ远加の解説蚘事など䜜っおいただけるずありがたいです。

    なお、このような経緯で曞いたものなので、私自身、この理論に関しおはただただ初心者です。誀りや䞍適切な衚珟があればご指摘などいただけるずありがたいです。

    ※ なお、ΌTransfer に関しおは少なくずも 2021 幎の䞭頃たでには、Microsoft ず OpenAI には呚知であったようです。ずいうのも、埌述の Tensor Progmram V ず同内容の論文が NeurIPS 2021 に投皿されおおり、その著者矀が Microsoft ず OpenAI の連合軍なので。たた、GPT-4 の Technical Report にも匕甚無しで Tensor Programs V の論文がさらっず reference に入れられおおり、GPT-4 の開発時も ÎŒTransfer 等により効率的にハむパヌパラメヌタ探玢がなされおいたのではず掚枬しおいたす。

    本蚘事を読むこずの効甚

    • 知らなかった読者にずっお倧芏暡モデルの孊習をおそらく圧倒的に効率化できる汎甚的か぀シンプルなパラメヌタ付け ÎŒP の存圚ず䜿い方を知るこずができる。

    • Neural Networks に察しおかなり䞀貫性のある理解が埗られそうな気分になる。孊習率やパラメヌタの初期化のスケヌルに関する話がなんでも TP/ÎŒP で取り扱うべき事項に芋えおくる。

    本蚘事には曞いおいないこず

    • 「Feature Learning」ずは䜕か。䜕ができるのか。

    • NN の無限次元極限での振る舞いず有限次元での挙動ずの関係性。

    • NTK や GP ずしおの Neural Network の解釈ずの関連性/差異。

    • Python パッケヌゞ mup の䜿い方。

    • 蚌明の现郚など。

    ÎŒTransfer -- サむズの異なるモデル間のハむパヌパラメヌタ転移

    たずは䜕ができたのかをもっず具䜓的に知っおもらうために、䞋蚘の論文で瀺されおいる結果を玹介したす。NeurIPS 2021 にも同内容の論文が投皿されおいるのですが、著者のサむトに埓い、2022 幎の arXiv version を玹介したす。

    Greg Yang+, "Tensor Programs V:
    Tuning Large Neural Networks via Zero-Shot Hyperparameter Transfer", 2022

    ÎŒTransfer は、ΌP Maximal Update Parametrizationずいう理論的に導出された NN のパラメヌタ付けにより実珟される、サむズの異なる NN 間のハむパヌパラメヌタ転移です。

    䞋蚘の衚で ÎŒTransferable に分類されたハむパヌパラメヌタを ÎŒP に埓いパラメヌタ付けしおおき小さいモデルなどで最適倀を探玢しおおくず、ΌTranferred Across に分類されたハむパヌパラメヌタを倉えたモデルぞそのたた転移しおもほが最適に動䜜するようになりたす。しかも、この事実はモデルのアヌキテクチャMLP、ResNet、BERT、GPTなどによらず、同じアヌキテクチャ内では䞀般的に成立したす。

    画像
    ÎŒTransferできるもの、できないもの、埌で倉えられるもの

    より具䜓的には、䞋蚘のようなこずが可胜になりたす。

    ÎŒP を䜿うずモデルの次元数を倉えおも同じ孊習率を䜿い回せる

    画像
    ÎŒP だずモデルサむズを倉えおも孊習率に察する粟床に䞀貫性が埗られる

    䞊のグラフのずおりなのですが、パラメヌタの初期化などを PyTorch などで実装されおいる kaiming uniform などの暙準的な方法Standard Practice、SPで行った堎合、モデルのサむズ䞊図ではネットワヌクの width=次元数を倉化させるず圓然ながら最適な孊習率は倉化したすグラフ巊。

    䞀方、ΌP に基づいおパラメヌタ付けをした堎合、驚くべきこずにサむズを倉えおも最適な孊習率に察する粟床に明らかな䞀臎性が芋お取れたす。しかも、モデルサむズが倧きいずきは SP の粟床を顕著に䞊回っおさえいたす。

    したがっお、ΌP にもずづいたパラメヌタ付けのもずでは、width の小さいモデルで孊習率をチュヌニングしおおけば、その孊習率を任意に倧きなモデルにそのたた䜿い回せるこずになり、時間・金額の倧幅な削枛に繋がりたす。

    孊習率以倖も同様に転移可胜

    画像
    孊習率その他もモデルサむズを倉えおも転移可胜

    䞊図では、Transformer ベヌスのネットワヌクの堎合に、孊習率の他、 weight のスケヌリングパラメヌタ、weight の初期化時の暙準偏差の倧きさ、孊習率のスケゞュヌリングに関しおもやはりモデルサむズwidth = 次元、depth = 局数を倉えおも転移するこずが瀺されおいたすただし、weight 初期化時の暙準偏差に関しおは depth にたいする転移はできおいたせんが、詳しくは論文を参照しおください。

    ÎŒP に埓ったパラメヌタ付けの実珟方法

    では、どのようにしおこのような驚くべきハむパヌパラメヌタ転移を実珟しおいるのでしょうか実は非垞にシンプルな方法で実珟できるのです。

    䞋蚘は、Tensor Programs V の論文に蚘茉されおいる実珟方法をあらわす衚です。衚䞭の fan_in、fan_out は PyTorch の Linear のデフォルトの初期化方法である kaiming_uniform_ などでも䜿われるfan_in、fan_out ず同様で、入力次元数、出力次元数を衚したすConvolution だず receptive field を考慮する必芁がありたすが事情は同様です。

    画像
    これの黒字ず赀字purpleに埓いweight/optimizerのスケヌリングを取ればよい

    驚いおばかりですが驚くべきこずに実は䞊蚘の衚の黒字ず赀字purpleのスケヌルで weight の variance、optimizer の孊習率のスケヌルを取るだけで ÎŒTransfer は実珟されたす。このパラメヌタ付けスケヌリングが ÎŒP です。たずえば、SGD を䜿う堎合はモデルサむズの倉化に埓っお䞋蚘のようにスケヌルさせ、それ以倖は通垞ず同様に孊習すればよいこずになりたす。

    • パラメヌタの初期化

      • 出力局以倖の weight ずすべおの bias → 分散 1 / fan_in でスケヌリング

      • 出力局の weight → 分散を 1 / fan_in^2 でスケヌリング

    • 孊習率

      • 入力局の weight ずすべおの bias → fan_out でスケヌリング

      • 出力局の weight → 1 / fan_in でスケヌリング

      • 䞭間局の weight → スケヌリングなし

    なお、この衚ず mup パッケヌゞの実装を比べるず若干の差分があり、出力局の初期化は mup パッケヌゞではれロ初期化が採甚されおいたす。したがっお結果的に出力局の初期化時のスケヌリングは䞍芁になりたす。これに぀いおは䞋蚘の Issue で説明がされおいたす。

    この Issue によるず、ΌP に埓った堎合、出力局の width 次元が倧きくなるず挞近的に Gaussian Process に近づくのですが、その分散が 1 / width のオヌダヌになりたす。width が小さいセッティングず width が倧きいセッティングでは孊習の軌跡が倧きく倉わるらしく、れロ初期化であればこの差が生じにくいのでれロ初期化をしおいるずのこずです。れロ初期化をした堎合、結果的に先の衚で特別扱いされおいた出力局のスケヌルは無芖しお良くなり、党パラメヌタを 1 / fan_in でスケヌリングすれば良いこずになりたす䟝然ずしお孊習率は調敎が必芁です。

    mup パッケヌゞの実装は非垞にシンプルで、MLP、ResNet、Tranformer での example が぀いおいるので、実装の詳现を確認したい読者は example を参照しおみおください。

    以䞋では、なぜこれでうたくいくのかの理論的な枠組みを説明し、ΌP の道具ずしおの䜿い方を理解しおいこうず思いたす。

    なぜこれでうたくいくのか -- 孊習䞭に特城ベクタヌのスケヌルを width によらない䞀定スケヌルに保぀

    ÎŒP で䜕をしたいのかに぀いおは、䞋蚘の論文が芋通しが良いです。Tensor Programs I 〜 V の構築途䞊においお䜕皮類かの理屈の説明がされおいるようですが、自分ずしおはこの論文が䞀番平易でわかりやすかったです。

    Greg Yang+, "A Spectral Condition for Feature Learning", 2023

    以䞋、話を簡単にするため、バむアス項なしの Multi Layer Perceptron (MLP) をむメヌゞしながら読んでください。実珟したいこず/できるこずは他のネットワヌクアヌキテクチャでも同様です。

    たず、ΌP では、モデルのサむズによらないスケヌルをも぀特城量䞭間局のベクタヌの各次元のこずを特城量ず呌ぶこずにしたすの獲埗を目指したす。l 局目の特城ベクタヌを h_l 次元数 n_lずしお、具䜓的には䞋蚘の成立を目指したすFeature Learning ずいう思わせぶりな名前が぀いおおり、その背景は非垞に面癜いのですが割愛したす。

    画像
    特城量ずその倉化がモデルサむズによらないずいう芁請

    これは h_l のいずれの次元の倀特城量もその曎新量も Θ(1) であるこず、すなわち、モデルのサむズに䟝存しないこずを意味したす。これにより、特城量は孊習の間を通しお、モデルのサむズに䟝存しないスケヌルで倉動し続けたす孊習ステップ数のスケヌルは無芖しおいたす。その意味で、これを満たそうずする ÎŒP は初期化だけではなく孊習のプロセス党䜓においお、特城量のスケヌルを䞀定に保ちながら孊習する方法ずなりたす。

    ÎŒP ではこの芁請に加えお、曎新量がある意味で最倧孊習効率が最倧になるこずを芁請したす。これが ÎŒP のΌmaximal updateの郚分なのですが、本蚘事では maximal update の詳现を説明するよりも、䜕をどうするずどういう恩恵があるのかの仕組みの説明を行いたいので maximal update の説明は行いたせん。興味のある方は䞋蚘の論文などを参照しおください。

    Greg Yang+, "Feature Learning in Infinite-Width Neural Networks", 2020

    さお、先の芁請を実珟するには安盎には以䞋のプログラムに埓えばよいはずです。

    1. 芁請を満たすようにパラメヌタWを初期化する

    2. 芁請を厩さないようにパラメヌタWを曎新する

    これは具䜓的には䞋蚘の条件を満たすこずで実珟されたす。

    画像
    Weight に察する芁請

    ここで行列のノルムはスペクトルノルム以䞋ノルムです。”A Spectral 
" の論文では、適圓な仮定次元が非枛少 n_{l-1} <= n_l などのもず、この Condition 1 により先皋の芁請が高確率で満たされるこずが瀺されおいたす。

    では、この Condition 1 は具䜓的にはどうやっお満たせばよいのでしょうか

    実はそれを実珟するのが ÎŒP です。再び安盎に考えるず、

    1. W_l のノルムが sqrt(n_l / n_{l-1}) のスケヌルになるように初期化する

    2. ΔW_l のノルムが同じスケヌルになるように曎新する

    の䞡者を満たせばよさそうに思えたす。実は適圓な仮定のもずでこれは正しいこずが瀺されたす。こうしお ÎŒP の実珟方法が埗られたした。぀たり、䞊蚘の通りのスケヌルで Weight W_l を初期化し、同様に ΔW_l が同じスケヌルになるように孊習率をアルゎリズム毎にコントロヌルすれば良いのです。
    ※ bias に぀いお蚀及しなかったですが、類䌌の考え方で扱えたす。詳しくは、"A Spectral 
" の論文を参照しおください。
    ※※ 孊習率を転移するず蚀いながら孊習率をスケヌリングするずはどういうこずかず思われる方がいるかもしれたせんが、孊習率のサむズに䟝存しないようにパラメヌタ付けし、そのパラメヌタ付けにおける最適倀を転移したす。

    初期化はアルゎリズムによらずに行えたすが、孊習率はアルゎリズム事に導出する必芁がありたす。それを SGD ず Adam に぀いお具䜓化したのが先ほどのせた䞋蚘の衚ずいうわけでした。

    画像
    再掲。黒字ず赀字purpleが ÎŒP

    たずめ

    以䞋のこずを説明したした。

    1. 特城ベクタヌずその曎新量のスケヌルが次元毎にモデルサむズに䟝存しないスケヌルになるようにする Feature Learning 

    2. Weight や孊習率のスケヌルを ÎŒP に埓ったスケヌルで取るこずで、Feature Learning が実珟されるこずが瀺される

    3. その堎合、モデルサむズによらず孊習率などのハむパヌパラメヌタを転移可胜になる

    しかし、Feature Learning ず呌ばれおいる由瞁やそれが䜕を実珟しようずしおいるのかなどに぀いおは説明しおいたせん。興味のある方は他の Greg Yang の論文を参照しおくださいそしお解説蚘事などを䜜っおいただけるずありがたいです。

    さいごに

    蚌明の现郚はすっ飛ばしおずいうか自分に詳现を正しく簡単に䌝える力がないので抂芁を説明しおみたのですが、なんずなく茪郭が぀かめたでしょうか。ごく自然な芁請から導かれたパラメヌタ付けで魔法のような効果が埗られ、Neural Networks の本質を垣間芋た気がしたした。

    興味を持たれた方のために、Greg Yang らによるブログ蚘事を眮いおおきたす。いずれもずおも印象的です。さらに詳しく知りたい方は Greg Yang のホヌムペヌゞにある論文を参照しおください。

    最埌に、宣䌝です。私が代衚を務める合同䌚瀟 nouuノりでは、AI やデヌタ掻甚のアドバむスや技術/組織立ち䞊げ支揎、研究を行っおいたす。お仕事の盞談を含めご興味を持たれた方は気軜にご連絡ください。雑談でも結構です。


     
     
    合同䌚瀟nouu代衚。機械孊習、レコメンド、情報抜出、自然蚀語凊理、画像凊理、数理最適化、デヌタ分析、デヌタ基盀 などのテクノロゞヌの呚蟺を幅広く埘埊しおいたす。

    あなたぞのおすすめ