最近話題となったMixtralを先日試してみました。
MixtralとはMistral-AIが「MOE(Mixture of Experts)」をベースで作ったモデルで、性能としてLlama2-70BとGPT3.5を超えてると言われてます。
MOEについて、私も初めて知りましたが、実はかなり前からあった技術みたいです。
中身は複雑ですが、簡単に言うと、複数のモデルを用意し、問題によって最適なモデルだけ使って回答する仕組みです。(アンサンブルの改善版みたいな感じです。)
例えば今回Mixtralの場合だと、パラメーターが違うMistral7Bモデルを8個準備してルーターネットワーク(メインで処理を行うネットワーク)にします。その後、処理するtokenが入った時に、ルーターネットワークの8つMistralから最適な2つを選んで回答し、それら回答を加算して最終outputする仕組みです。
先日試したのは元サイズ(32bit)と4bit量化バージョンです。元サイズだとメモリーが160GBかかりますので、試せる公開サイト(poe)で試しました。
Mixtralの特徴は処理時間が速い、コーディングスキルが高いです。
難しいコーディング質問は私も知らないので、試してなかったです。基本的な会話、数学問題、コーディングは他の70Bモデルと同じくらいスペックだと感じてました。(下図)
一番びっくりしたのは処理速度の速さです。ほぼ一瞬で回答を生成します。(Mixtralは処理中に2個のモデルだけ使ってますので、実際推理する時は13Bのパラメーターだけ使います。発生するリソースも13B程度なので当然速くなります。)
ちなみに、日本語は対応してないです。(理解はできますが、回答は英語)
量化バージョンはcolabで実行して試しました。(処理中は37GBくらいメモリーかかりました)
ホームページに書いた「量化しても性能あまり落ちてない」のは確かに気づきました。Llama2-70Bを量化して使うと、すぐ理解力が下がっってるのは感じましたが、Mixtralはあまり変わってないような気がします。
Mixtralは同じモデルのミックスでこんなに変わりますので、違うモデル間のMOEならどうなるのか楽しみですね。
Misxtral reportについて: