論文
・ Year : NeurIPS2022
・ リンク
・ github
1.どんなものか
さまざまなタスクを1つの重みで共有するジェネラルモデルは以前から研究が進んでいた.
しかし,タスク間でパラメータに干渉する問題があった.
この問題に対して勾配の観点から問題を定量化,評価を行った.また下流タスクにおいて計算コストを
削減しつつこれを実現.
2.先行研究との差分
タスク干渉問題を勾配方向の観点から分析
3.技術や研究のキモ
タスク間損失
タスク間でパラメータ干渉が起きているかの指標. i番目のタスクに対してパラメータ更新を行った場合にj番目のタスクの損失の変化量を示す. また,これを用いてタスク間の干渉を表したものが二つ目の式この評価指標を用いてvision transformerの異なる層のFFNにおけるタスク間の干渉について調べた結果が以下の通り.
Conditional Mixture-of-Experts
入力シーケンスから得られるトークン$x_i$をE個のLinear層のどれを通すのかについて決定する.(routing)そして最終的な出力は加重和として次のように表される.ここで$\bm{W}_g$ はroutingに用いられる学習可能な重み. $\bm{W}_e$は選択されたlinear層の重みである.
Routing Strategy
Token level
先行研究のバニラMoEと同様にトークン表現を直接使用Context level
類似した表現を持つトークンはタスク間でも出現する可能性あり.これに対してExpartの判断はタスクの干渉を緩和するために異なるはずである. gatingの信頼性の高い判断のために,グローバルコンテキストとローカルトークン表現の組合せを探索する.ここでattnpoolはattension poolingを意味する.Modality level
現在では、異なるモダリティの入力に対して独立したパラメータを持つモダリティ固有のエンコーダを使用するのが一般的. これに触発されトークンのモダリティもルーティングに活用.ここで$id_{modal}$はトークン$x_i$のモダリティインデックスを示す.Task level
タスク干渉に対してタスク情報も活用する.ここで$id_{task}$はトークンのタスクインデックスを示す.Attribute routing
ジェネラルモデルとしての汎化性能を保ちつつ,現在のタスク,モダリティ情報を考慮するためにゲート決定のためのトークン属性を追加. これはタスクによって定まるものであり,詳細はこの論文の付録に載っている.大まかに考えるとトークン,コンテキストー>データ依存 モダリティ,タスクレベルー>データ非依存
4.有効性の証明
条件付きMoEにおけるrouting別の性能比較
ImageNet-1Kによる画像分類,COCO Captionによる画像キャプション,Books&WikiのMasked Language Modelingの3つのタスクについて 学習と検証を行った.条件付きMoEにおけるrouting別の性能比較
ImageNet21k:分類タスク, Kinetics-700,Moments in Time:ビデオ分類,BookCorpus&English Wikipedia:言語モデリングタスクその他様々なデータセットを用いて大規模に実験を行っている.詳細は論文の付録を参考.
5.議論
感想
