混合エキスパート(MoE)とは、人工知能(AI)モデルを、それぞれが入力データのサブセットに特化した個別のサブネットワーク(または「エキスパート」)に分割し、共同でタスクを実行する機械学習アプローチです。
MoEアーキテクチャにより、大規模なモデル(数十億のパラメーターで構成されるモデルであっても)が可能になり、事前トレーニング中の計算コストが大幅に削減され、推論時間中のパフォーマンスが向上します。大まかに言えば、すべてのタスクに対してニューラル・ネットワーク全体をアクティブ化するのではなく、特定のタスクに必要な特定のエキスパートのみを選択的にアクティブ化することで、この効率性を実現します。
MoEセットアップの最新の実装の多くは、(およそ)過去10年間にわたって開発されましたが、MoEモデルの背後にある中心となる前提は、1991年の論文「Adaptive Mixture of Local Experts」に由来しています。この論文では、それぞれがトレーニング・ケースの異なるサブセットに特化した個別のネットワークで構成されるAIシステムをトレーニングすることを提案しました。これには、「エキスパート・ネットワーク」そのものと、各サブタスクにどのエキスパートを使うべきかを決定するゲーティング・ネットワークの両方をトレーニングする必要がありました。類似の従来モデルと比較した場合、著者らの実験モデルは学習速度が著しく速く、従来モデルの半分の学習エポックで目標精度の閾値に達することがわかりました1。
近年、生成AIに使用される主要なディープラーニング・モデルがますます増大し、膨大な計算量が要求されるようになるにつれて、混合エキスパートは、大規模なモデルの大容量化と小型モデルの効率化のトレードオフに対処する手段を提供します。これは特に自然言語処理(NLP)の分野で最も顕著です。MistralのMixtral 8x7Bや(一部のレポートによると)OpenAIのGPT-42などの主要な大規模言語モデル(LLM)の一部が、MoEアーキテクチャーを採用しています。
最新のディープラーニング・モデルは、相互接続されたノード(または「ニューロン」)の複数の層で構成される人工ニューラル・ネットワークから構築されています。各ニューロンには、有効化機能があります。これは、前の層から受信したデータに対して実行される数学的な演算であり、そのアウトプットは、次の層に送られるインプットに通知されます。従来のフィード・フォワード・ニューラル・ネットワーク(FFN)は、最終的な予測が行われる外側の層に到達するまで、ある層のニューロンから次の層のニューロンにデータを徐々に渡すことによって情報を処理します。一部のニューラル・ネットワーク・アーキテクチャーには、トランスフォーマー・モデルの自己注意メカニズムなど、インプット・データ内の追加のパターンと依存関係をキャプチャーする追加要素が組み込まれています。
異なるレイヤーとニューロン間の接続は、学習可能なモデル・パラメーターによって仲介されます:ネットワークのアウトプットのある部分がネットワークの他の部分に与える影響を増幅または減少させる可変の重み(およびバイアス)。ディープラーニング・モデルは、勾配降下法などの最適化アルゴリズムを使用してこれらのパラメータを調整することで「学習」し、予測の精度を高めます。
パラメーターの数が増えると、モデルの容量(情報やパターンを吸収する能力)が増しますが、モデルのトレーニングとオペレーションに必要な計算量も増えます。典型的なディープラーニング・モデル(ここは高密度モデル)では、あらゆる入力を処理するためにネットワーク全体が実行されます。これにより、モデルの容量と実用性の間でトレードオフが生じます。
従来の高密度モデルとは異なり、混合専門家(MoE)モデルは条件付き計算を使用してスパース性を強制します。MoEモデルは、すべてのインプットに対してネットワーク全体を使用するのではなく、ネットワークのどの部分、つまりどの専門家が最も重要かを決定する計算コストの低いマッピング関数を学習します。これは、NLPタスクで単語または単語の断片を表すために使用される個々のトークンなど、特定のインプットを処理するのに効果的です。
これにより、モデルのトレーニングと実行に必要な計算負荷を相応に増加させることなく、(パラメーターの総数を拡張することで)モデルの容量を増やすことができます(これらのパラメーターのすべてが常に使用されるわけではないため)。
MoEモデルは、多数の「専門家」を指定し、それぞれがより大きなニューラル・ネットワーク内の独自のサブネットワークであり、ゲーティング・ネットワーク (または ルーター)をトレーニングして、特定のインプットに最も適した特定の専門家のみをアクティブにすることでデータを処理します。
MoEアプローチの主なメリットは、各インプットトークンに対してニューラル・ネットワーク全体をアクティブにするのではなく、スパース性を強制することで、計算コストを基本的に一定に保ちながらモデル容量を増やすことができることです。
アーキテクチャーレベルでは、これは従来の高密度フィードフォワード・ネットワーク(FFN)層をスパースMoE層(またはブロック)に置き換えることで実現されます。ニューラル・ネットワークの用語では、「ブロック」とは、特定の機能を実行する反復構造要素を指します。スパースMoEモデル(SMoE)では、これらの専門家・ブロックは、単一層、自己完結型FFN、またはそれ自体にネストされたMoEのどれでも構いません。
例えば、ミストラルのミクストラル8x7B言語モデルでは、各層は8つのフィードフォワード・ブロック、つまり専門家で構成され、それぞれが70億のパラメーターを持っています。各層のすべてのトークンについて、ルーター・ネットワークはデータを処理する8個の専門家のうち2つを選択します。次に、これら2個の専門家のアウトプットを結合し、結果を次の層に渡します。特定の層でルーターによって選択される特定の専門家は、前または次の層で選択された専門家とは異なるものにすることができます。3
SMoEは、スパースMoE層で完全に構成される場合がありますが、多くのMoEモデル・アーキテクチャーには、スパース・ブロックと高密度ブロックの両方が含まれます。これはMixtralにも当てはまり、ここでモデルの自己注意メカニズムを担当するブロックは8個の専門家すべてで共有されます。実際には、「8x7B」のような呼称は誤解を招く可能性があります。モデルのパラメーターの多くは70億パラメーターの専門家サブネットワークごとに共有されているため、Mixtralのパラメーターは合計で約470億個で、単純な掛け算で想定される560億個ではありません。
この全体的なパラメータ数は、一般的にスパース・パラメーター数として参照され、一般的にモデル容量の尺度として理解することができます。個々のトークンを処理するために実際に使用されるパラメータの数は(いくつかの専門家ブロックを通過し、他のブロックを迂回するため)アクティブ・パラメータ数と呼ばれ、モデルの計算コストの尺度として理解することができます。Mixtralにインプットされた各トークンは467億のパラメーターにアクセスできますが、特定の例の処理に使用されるアクティブなパラメーターは129億までです。
このパラメーター数の最適な活用法を理解することが、MoEモデルのメリットを理解する鍵となります。例えば、Mixtralは、合計パラメーター数が3分の1少なく、推論時に使用されるアクティブ・パラメーターの数が20%未満であるにもかかわらず、ほとんどのベンチマークでMeta社のLlama 2の700億パラメーター・バリアントよりも大幅に高速にパフォーマンスを発揮します。3
ただし、スパースMoEの全体的なパラメーター数は、計算要件と完全に無関係ではないことに注意する必要があります。推論中はパラメーターのサブセットのみを使用しますが、モデルのパラメーター全体をメモリーにロードする必要があるため、ほとんどの場合、SMoEが享受する計算効率はRAM/VRAM要件には適用されません。
MoEの概念(および効率性)の鍵となるのは、スパース層内の一部の専門家(およびパラメーター)のみが特定の時点で有効化され、アクティブな計算要件が削減されることです。
条件付き計算は、計算需要とモデル容量の増加を切り離す理論的手段として長い間提案されてきましたが、その実行を成功させるためのアルゴリズムとパフォーマンスの課題は、Shazeerらにより2017年に論文「Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer(邦訳:途方もなく巨大なニューラル・ネットワーク:まばらにゲートされた混合専門家層)」が発表されるまで克服されませんでした。4
高密度層に対するスパースな層のメリットは、パターンと依存関係が複雑で非線形であることが多い高次元データを処理する場合に最も顕著になります。例えば、モデルで長いテキスト・シーケンスを処理する必要があるNLPタスクでは、各単語は通常、そのシーケンス内の他の単語の小さなサブセットにのみ関連しています。これにより、SMoEはLLMの分野で大きな可能性を秘めた領域となり、適切に調整されたMoEモデルはパフォーマンスを犠牲にすることなくスパース性のメリットを享受できるようになります。スパースゲートMoEモデルはコンピューター・ビジョン・タスクにもうまく適用されており、5 6その分野では依然として活発に研究されています。
このスパース性は、条件付き計算、つまり特定のインプットに応じて特定のパラメーターを動的に有効化することによって実現されます。したがって、条件付き計算を強制するゲーティング・ネットワーク(または「ルーター」)の効果的な設計は、MoEモデルの成功に不可欠です。
特定の状況でどの専門家を活用するかを選択するために、さまざまなゲーティング・メカニズムを使用できます。適切なゲーティング機能はモデルのパフォーマンスにとって重要です。ルーティング戦略が適切でないと、一部の専門家のトレーニングが不十分になったり、過度に専門化したりして、ネットワーク全体の有効性が低下する可能性があるためです。
Shazeerの独創的な論文で紹介されている、従来の MoE設定における一般的なゲーティング・メカニズムは、softmax関数を使用します。ルーターは、各専門家について、例ごとに、その専門家が特定のインプットに対して最適なアウトプットを生成する確率値(その専門家の現在のパラメーターへの接続の重みに基づく)を予測します。つまり、すべての専門家のアウトプットを計算するのではなく、ルータは、その例の上位k個の専門家(と予測される)のアウトプットのみを計算します。前述のように、Mixtralはこの古典的なトップkルーティング戦略を使用します。具体的には、トップ 2ルーティング(つまり、k=2)を使用して、合計8個の専門家のうち最高の2個を選択します。
2021年に発表された影響力のある論文「Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficiency Sparsity(邦訳:スイッチ・トランスフォーマー:シンプルかつ効率的なスパース性を備えた1兆個パラメーター・モデルへのスケーリング)」で、Fedusらはトップkルーティングを極限まで推し進め、GoogleのT5 LLMと連携して、モデルのFFNレイヤーを128個の専門家に置き換え、「ハードルーティング」とも呼ばれるk=1を実装しました。モデルを 1 兆個のパラメーターまで拡張した場合でも、この設定により事前トレーニング速度が400%向上しました。6
多くのメリットがある一方で、MoEはトレーニング・プロセスは著しく複雑化します。「vanilla」トップkルーティング戦略の重大な欠点は、ゲーティング・ネットワークが少数の専門家だけを有効化する可能性があることです。これは自己強化的な問題です。少数の専門家が初期段階で不均衡に選択されると、それらの専門家はより速く訓練され、他の訓練の少ない専門家よりも信頼性の高い予測をアウトプットするようになるため、さらに選択され続けます。この不均衡な負荷は、他の専門家が最終的に比喩的にも文字通りにも重荷になってしまうことを意味します。
これを緩和するために、Shazeerらはノイズの多いトップkゲーティングを導入しました。これは、各エキスパートに対して予測される確率値にいくらかのガウスノイズを追加し、エキスパートの活性化をより均等に分散させるランダム性を導入するものです。また、専門家の選択に2つのトレーニング可能な正則化項を追加しました。負荷分散損失を最小限に抑えると、1人の専門家への過度の依存がペナルティを受け、専門家多様性損失を最小限に抑えると、すべての専門家の均等な利用が奨励されます。
Googleの2020 年の論文「GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding(邦訳:GShard:条件付き計算と自動シャーディングによる巨大モデルのスケーリング)」では、負荷分散の2つの追加手段が紹介されました。
ランダム・ルーティング:トップ2セットアップの「1番目」の専門家は標準のソフトマックス関数を使用して選択されますが、2番目の専門家はややランダムに選択されます(専門家が選択される確率は、その接続の重みに比例)。したがって、2番目にランクの高い専門家が選択される可能性は最も高くなりますが、選択されることが保証されるわけではありません。
専門家の容量:著者らは、1つの専門家が処理できるトークンの最大数を定義するしきい値を設定しました。選ばれた上位2個の専門家のいずれかが容量いっぱいになった場合、トークンは「オーバーフロー」したとみなされ、ネットワークの次の層にスキップされます。7
前述のとおり、スパース・モデルのメリットは、複雑さが増すことで損なわれることがあります。MoEの実装における課題は、特に微調整プロセスで顕著になります。スパース・モデルは従来の高密度モデルよりも過剰適合する傾向があり、スパースMoE層と密なFFN層の両方が存在する場合、万能アプローチが複雑になります。
MoEを微調整する際の不安定性を軽減するために、さまざまな観察とアプローチが提案されています。先に言及した論文「スイッチ・トランスフォーマー」の著者らは、専門家の数が少ないバリアントの方が微調整がうまくいったことを観察しており、これは事前トレーニングで専門家の数を増やすことによるメリットが、下流のタスクでの特化の妨げによって相殺される可能性があることを示唆しています。
2022年に発表された論文「ST-MoE: Designing Stable and Transferable Sparse Expert Models(放題:ST-MoE:安定的かつ転送可能なスパース専門家モデルの設計)」で、Zophらは、すべてのパラメーターを微調整する(「All」)、非MoEパラメーターのみを微調整する(「Non MoE」)、MoEパラメーターのみを微調整する(「MoE」)、自己注意とエンコーダー/デコーダー注意のパラメーターのみを微調整する(「Attention」)、非 MoE FFN パラメーターのみを微調整する(「FFN」)という5つの異なるアプローチの結果を比較しました。
「All」と「Non MoE」の間にはほとんど差が見られなかった
「Attention」パラメーターのみを微調整すると、パフォーマンスがわずかに低下しました。
モデル・パラメーターの約80%がスパースMoE層に存在していたにもかかわらず、MoEパラメーターのみを更新すると、モデルのパフォーマンスが大幅に低下しました。
「FFN」は、すべてのベースラインと比較してパフォーマンスが向上した唯一のアプローチでした。
著者らは、専門家層はモデルのすべての層の4分の1に過ぎず、トークンは層ごとに最大2個の専門家しか認識しないため、MoEパラメーターを分離すると包括的な重み更新が少なくなり(したがって、過剰適合とトレーニング損失が大きくなる)と仮説を立てました。8
2023年7月の論文「Mixture-of-Experts Meets Instruction Tuning」では、Google社のT5とFlan-T5(Google社のFlanプロトコル —LLMを使用して命令を調整したT5のバージョン)に相当するものをベースラインとして使用し、MoEモデルに対する命令調整の影響を調査しました。実験では、高密度T5モデルのファイン・チューニング、高密度Flan-T5モデルのファイン・チューニング、MoE モデルのファイン・チューニング、命令調整されたFlan-MoEモデルのファイン・チューニングの4つの設定を比較しました。
仮説どおり、微調整後、高密度T5に相当するモデルMoEモデルのパフォーマンスを上回りました。しかし逆に、微調整されたFlan-MoEモデルは、微調整されたFlan-T5モデルよりも大幅に優れたパフォーマンスを発揮しました。さらに、MoEと比較したFlan-MoEの改善は、オリジナルのT5と比較したFlan-T5の改善よりもさらに大きいものでした。9
これは、標準的なチューニングが難しいにもかかわらず、MoEモデルは密度の高いモデルよりも命令チューニングの恩恵を実際に受けていることを示唆しています。この発見は、IBM watsonx.aiの基盤モデルとして提供されているMixtralの命令チューニング版であるMixtral 8x7B Instructのリリースで実現されました。
IBM® Granite™をご紹介します。ビジネス向けに特化し、AIアプリケーションの拡張に合わせて最適化された、オープンで高性能かつ信頼性の高いAIモデル・ファミリーです。言語、コード、時系列、ガードレールのオプションをご覧ください。
ユースケースに最適なAI基盤モデルを選択する方法について説明します。
IBM Developerの記事、ブログを読み、チュートリアルで学んで、LLMに関する知識を深めましょう。
最新のAI技術とインフラストラクチャーを使用して、モデルのパフォーマンスを向上させ、競合他社に差をつけるよう、チームを継続的に後押しする方法を学びましょう。
あらゆる業界に信頼性、パフォーマンス、費用対効果の高いメリットを提供する エンタープライズ・グレードの基盤モデルの価値に関する 詳細をご覧ください。
生成AI、機械学習、基盤モデルをビジネス・オペレーションに組み込んでパフォーマンスを向上させる方法をご紹介します。
2,000の組織を対象に実施されたAIの取り組みに関する調査結果をご覧ください。成功事例や課題、そしてAIを活用して競争優位性を高めるためのヒントが得られます。
注意:すべてibm.com外部へのリンクになります。
1 「Adaptive Mixtures of Local Experts」、 トロント大学、1991年3月
2 「AI Expert Speculates on GPT-4 Architecture」、 WeightsおよびBiases、2023年6月21日
3 「Mixtral of experts」、 Mistral AI社、2023年12月11日
4 「Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer」、 arXiv社、2017年1月23日
5 「Scaling Vision with Sparse Mixture of Experts」、 arXiv社、2021年6月10日 「MoCaE: Mixture of Calibrated Experts Significantly Improves Object Detection」、 Papers with Code、2023年9月26日
6 「Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity」、 arXiv社、2021年1月11日(最終更新日:2022年6月16日)
7 「GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding」、 arXiv社、2020年6月30日
8 「ST-MoE: Designing Stable and Transferable Sparse Expert Models」、 arXiv社、2022年2月17日
9 「Mixture-of-Experts Meets Instruction Tuning: A Winning Combination for Large Language Models」、 arXiv社、最終更新日:2023年7月5日