同社の Mistral-7B を以下で解説しました。
今回は Mixtral-8x7B について解説していきます。
Mixtral-8x7B が人気な理由
Mixtral-8x7B が人気な理由は 3 つあります。
- OSS である
- ChatGPT に次ぐ性能の高さ
- 推論が速い
OSS である
Mistral-7B の時にも言いましたが、OSS のモデルは、ライセンスが定義されているものの、ライセンスの許す限りであれば自分で好きなようにチューニングができます。
そのため、個人・企業でチューニングモデルを作るときのベースモデルとして活用ができます。
例えば、ChatGPT でもチューニングはできますが、Pre-Training まではできなかったり、PEFT は試せないとか制限が多いです。
ChatGPT に次ぐ性能の高さ
読んで字のごとくです。
LLM は進化が激しいので時間が経てばより性能の良いモデルが出てくるでしょうが、2023 年の OSS モデルで最も性能が良いモデルは間違いなく Mixtral-8x7B でした。
推論が速い
これが Mixtral-8x7B の大きな特徴です。
この理由には以下の 2 つがあります。
- Mistral-7B と同じアーキテクチャ
- Sparse Mixture of Experts
Mistral-7B と同じアーキテクチャ
Mistral-7B には以下の 4 つのアーキテクチャを採用していました。
これにより、性能を落とすことなく速度を出しています。
- Grouped-Query Attention
- Sliding Window Attention
- Rolling Buffer Cache
- Pre-fill and Chunking
詳しく知りたい方は以下を見てください。
Sparse Mixture of Experts とは
Sparse Mixture of Experts は Expert 部分と Router 部分で構成されます。
Expert を日本語に訳すと「専門家」といったところで、モデルは推論時に、その問題に適した「専門家」を選択することで素早く良質な回答を返すことができます。
- 例
- 「翻訳タスク」を依頼 -> 「多言語に強い Expert」を使って output を生成
- 「多言語能力が必要な推論タスク」を依頼 -> 「多言語に強い Expert」と「推論に強い Expert」を使って output を生成
このような感じで、問題解決に必要な Expert のみを使って推論するので、Expert を全部闇雲に使って推論するよりも推論が早く、かつ性能もよく output が生成されます。
そして、どの Expert を使うかといった判断を担っているのが、Router 部分です。
なお、Sparse Mixture of Experts の "Sparse" とは、必要な Expert だけが選択され使われていることを意味しています。
Sparse Mixture of Experts の利点
Sparse Mixture of Experts の利点は次の 3 つです。
- 計算効率
- 先述の通り。必要な計算のみ実行するので速い
- 特化した Expert
- Expert が特定のタイプのタスクに特化できるので、性能が高い
- 拡張性
- 新しい Expert を追加することで、モデルを容易に拡張でき、追加タスクやデータに対応できる
Mixtral-8x7B の Mixture of Experts
Mixtral-8x7B には、この Expert が 8 つ含まれています。先述の通り、推論時には必要な expert のみを利用するので、「Mixtral-8x7B 自体は 47B のモデル」だが「推論時は 13B 相当のモデルとして機能する」ようです。
なお、Mixtral-8x7B では、Expert の選択に Softmax 関数を用いた Top-K Gating を採用しています。この方法では、各 Token に対して選ばれた K 個の Expert が出力を行い、その加重和が最終的なレイヤーの出力となります。
まとめ
以上が Mixtral-8x7B の解説でした。
私は Mixtral-8x7B のチューニングは試していませんが、Mixture of Experts の Expert 部分のみを個別でチューニングするとかなら、基盤が弱くてもいけるかもしれませね。
おわり。