Research / 基盤技術

MoE原論文を読む 必要な部分だけを動かして容量を増やす

大きなモデルほど毎回の計算も増えるとは限らない。2017年の疎ゲートMoE論文は、入力ごとに使う専門ネットワークを選び、計算量を抑えながら容量を増やす方法を検証した。成果の測定条件と運用上の難しさを読む。

論文初公開(arXiv)
参照版
v1
TRAIL公開
  • 疎ゲートMoEは、入力ごとに使う専門ネットワークを選び、総パラメータを増やしても毎回の計算を比例して増やさない方法を試した。
  • 原論文は言語モデルと機械翻訳で、同程度の計算量を使う比較方式よりよい結果を報告した。
  • 専門ネットワークへの負荷の偏りや機器間通信は、設計時に解く必要がある。

何を確かめた研究か

モデルが覚えられる情報を増やそうとすると、通常はパラメータと計算の両方が増える。2017年の疎ゲートMoE論文は、入力ごとに一部のパラメータだけを動かすことで、この二つを切り離せるかを問うた。MoEは「Mixture of Experts」の略で、複数の専門ネットワークから必要なものを選んで使う仕組みを指す。

後年のTransformerを使ったMoEと混同してはいけない。この論文の大規模な実験では、主にLSTMという順序を追って処理するネットワークの間にMoE層を置いた。当時の言語モデルや翻訳課題で、容量を増やす方法を検証した研究である。

どう検証したか

入力を受けると、学習可能な「ゲート」が多数の専門ネットワークのうち少数を選ぶ。選ばれた専門家だけが計算に参加するため、総パラメータ数が大きくても、入力一件に必要な計算はそれより小さくできる。ゲートの選択も学習対象だ。ただし、同じ専門家ばかり選ばれると計算機の負荷が偏る。論文は負荷のバランスを促す追加の学習目標を使った。

著者らは、10億語の言語モデル課題、独自の大規模ニュース文章、機械翻訳などを使い、LSTMのみの方式や既存結果と比較した。言語モデルの実験では、予測のしにくさを表す「perplexity」を指標にした。低い値がよい。ただし、計算量をそろえる比較と、モデル容量をそろえる比較は別の問いに答える。

何が分かったか

論文の図2では、10億語の言語モデル課題で、入力ごとに4人の専門家を使う設定を比べた。約800万の演算を各時点に使う同程度の計算条件では、4096人の専門家を持つ方式のテストperplexityが比較方式より24%低いと報告する。総パラメータを増やすことが、この条件では予測の改善につながった。

別のニュース文章実験では、MoE層だけで最大1370億パラメータの構成も試した。しかし、最大構成が常に最良だったわけではない。1000億語で学習した比較では、専門家数を増やした後に性能が悪化する領域もあり、論文は疎になりすぎた可能性に言及する。パラメータ数を増やせば無条件に品質が上がるという結果ではない。

限界は何か

必要な専門家が異なる機器に分かれると、通信が増える。ゲートが一部の専門家へ入力を集中させれば、待ち時間やメモリ不足も起きうる。論文の負荷分散の工夫は、こうした問題が消えたという証明ではなく、実験を成り立たせるための重要な条件だ。

報告された評価は当時のLSTMを中心とするモデルと、特定の言語・翻訳データによる。現在の対話AIや日本語の業務システムで同じ改善率を得られるとは限らない。また、全パラメータを保存する費用と、各入力で実際に動く部分の計算費用は分けて考える必要がある。

仕事との接点

疎なモデルを評価するなら、総パラメータ数だけを見ず、入力ごとの計算量、機器間通信、応答時間、専門家への負荷の偏りを測りたい。対象のデータで誤りの種類も確認する。これはTRAIL編集部の検討方法であり、原論文が特定企業の導入効果を示したわけではない。

01

出典

Research の一覧へ戻る