MergeKit:事前学習済み言語モデルをマージするためのオープンソースツールキット 78

小编 ·

MergeKit:事前学習済み言語モデルをマージするためのオープンソースツールキット

MergeKitは複数の大規模モデルを一つに統合し、それぞれの強みを活かせるPythonツールです。例えばモデルAが文章執筆に強く、モデルBがコーディングに優れている場合、MergeKitで両方を結合してさらに強力なモデルを作成できます。CPU・GPUの両方でマージが可能で、最初に高精度モデルでマージし、その後量子化とキャリブレーションを行うのが推奨されています。開発者の間で高い人気を誇るこのAIプロジェクトは、教育コンテンツをゲームテーマに変換するなど、創作をより効率的かつ楽しくする用途にも活用されています。

MergeKit:事前学習済み言語モデルをマージするためのオープンソースツールキット

Mergekitとは?

Mergekitは、Python製のツールで、複数の大規模モデルを一つに統合し、それぞれの強みを活かすことができます。例えば、モデルAは文章作成が得意、モデルBはプログラミングが得意、という場合、mergekitを使えばこれらを統合して、より強力なモデルを作成できます。CPUやGPU上でマージを実行することも可能で、まずは高精度モデルでマージし、その後量子化とキャリブレーションを行うことが推奨されています。このAIプロジェクトは開発者の間で非常に人気があり、例えば教育コンテンツをゲームテーマに変換するなど、創造的かつ効率的な作業に活用されています。

MergeKit:一个用于合并预训练语言模型的开源工具包.jpg

Mergekitの主な機能

  • モデルのマージ:複数の事前学習済み言語モデルを、追加の学習や統合計算のオーバーヘッドなしに、一つの多機能モデルに統合します。

  • 複数のマージアルゴリズム:線形補間、球面線形補間(SLERP)、タスク算術(Task Arithmetic)、TIES、DAREなど、さまざまなマージ方法をサポートします。

  • ハードウェアフレンドリー:CPUまたはGPU上で動作し、最小8GBのVRAMで実行可能です。

  • 低メモリ使用:テンソルの遅延読み込み技術を採用することで、メモリ使用量を削減しています。

  • パラメータ補間:パラメータ値の補間勾配をサポートし、より細粒度な制御を提供します。

  • 階層型アセンブリ:異なるモデルの層の断片を結合して言語モデルを組み立てる(「Frankenmerging」)ことをサポートします。

  • Mixture of Expertsマージ:複数の高密度モデルをMixture of Expertsモデルに統合します。

  • LoRA抽出:微調整されたモデルからPEFT互換の低ランク近似を抽出します。

  • 進化的マージ手法:いくつかの実験的な進化的マージ手法が含まれています。

Mergekitの主な特徴

  • クロスプラットフォーム実行:GPUとCPUでの実行をサポートし、最小8GBのVRAMで高速化が可能です。

  • 低メモリ使用:テンソルの遅延読み込みによって実現されています。

  • 複数のマージアルゴリズム:線形補間、SLERP、タスク算術などが含まれており、今後もさらに多くのアルゴリズムが追加される予定です。

  • グラフィカルユーザーインターフェース(GUI):ArceeベースのGUIを提供し、マージプロセスを簡素化します。

インストールと使用方法

インストール

git clone https://github.com/arcee-ai/mergekit.git
cd mergekit
pip install -e .

使用方法

mergekit-yaml config.yml ./output-dir --cuda

Mergekitの活用シーン

  • モデル能力の融合:異なる専門分野のモデルを一つの多機能モデルに統合します。

  • パフォーマンスの最適化:異なるモデルの強みを組み合わせて、全体的なパフォーマンスを向上させます。

  • リソース制限のある環境での最適化:計算リソースが限られている状況でも、小型で強力なモデルを作成できます。

  • パーソナライズされたモデルのカスタマイズ:特定のニーズに応じてモデルをカスタマイズします。

  • モデルの研究と実験:研究者がさまざまなマージ戦略を探索するための柔軟なプラットフォームを提供します。

Github:https://github.com/arcee-ai/mergekit