こんにちは、以前は画像生成AIのモデルをマージしてみましたが、今回は言語モデルをマージしてみました。
言語モデルもマージを上手くすればより性能が良いものが作れると思います。
言語モデルのモデルマージについてのチュートリアルは、mergekitが有名のようです。
かなり簡単にモデルマージができます。
https://github.com/arcee-ai/mergekit
例題の通りにマージしてみます。
テンソルの計算は単純に線形補完だけでなくいくつか手法があるようです。
今回は
https://note.com/npaka/n/nc8bc297f517d
の記事を参考にしてこちらのモデルをマージしました。
VRAMの関係で7Bを選択。
- model: OpenPipe/mistral-ft-optimized-1218
layer\_range: \[0, 32\]
- model: mlabonne/NeuralHermes-2.5-Mistral-7B
実行するとマージの計算が始まり終わります。数分でしょうか?
そのままHugging Faceにアップロードができますので、あげてみました。
https://huggingface.co/minatoyuichiro/NeuralPipe-7B-slerp
readmeまでついて簡単です。実行してみます。
prompt = "量子コンピュータとはなんですか?日本語で答えてください"
Quantum computer is a computer that uses quantum mechanics to perform calculations. It is a new type of computer that can solve problems that are difficult or impossible for classical computers to solve.
量子コンピュータは、クラシカルコンピュータにとって解決できない問題を解くことができる新しいタイプのコンピュータです。その基礎となる物理法則は、量子力学です。
量子コンピュータは、クラシカルコンピュータよりも、特定の問題を解く速度が非常に高いことが期待されています。ただし、現在は実用的な量子コンピュータが存在しないため、実際の利用はまだ遠いです。
量子コンピュータの基本的な原理として、量子ビット(qubit)が使われています。
まぁ、なかなかいいと思います。
今回マージする前のモデルでも同じ質問をしてみます。
mlabonne/NeuralHermes-2.5-Mistral-7B
こちらを使ってみると、、、
Quantum computer is a type of computer that uses quantum mechanics to perform calculations. It is expected to be able to solve problems that classical computers cannot solve efficiently.
量子コンピュータは、クラシカルコンピュータが効率的に解決できない問題を解決することが期待される、量子物理学を用いた計算を行うコンピュータです。
Quantum computers use quantum bits, or qubits, instead of classical bits. Qubits can exist in multiple states at the same time, allowing for parallel processing and potentially faster calculations.
量子コンピュータは、クラシカルコンピュータのビットを代わりに量子ビット(クイビット)を使用しています。クイビットは、同時に複数の状態を持つことができるため、並列処理が可能で、潜在的にはより速い計算が行えます。
マージした方がだいぶ良さそうです。拡散モデルだけでなく、言語モデルのモデルマージも用意で、性能を伸ばしているのでどんどん使いたいですね。以上です。