MergeKit: Ein Open-Source-Toolkit zum Zusammenführen vortrainierter Sprachmodelle 72

小编 ·

MergeKit: Ein Open-Source-Toolkit zum Zusammenführen vortrainierter Sprachmodelle

MergeKit ist ein Python-Tool, das mehrere große Modelle zu einem zusammenführt und ihre jeweiligen Stärken kombiniert. Ist Modell A beispielsweise stark im Schreiben und Modell B im Programmieren, kann mergekit sie zu einem leistungsfähigeren Modell vereinen. Das Merging funktioniert auf CPU oder GPU, wobei empfohlen wird, zunächst Modelle mit hoher Präzision zusammenzuführen und danach zu quantisieren und zu kalibrieren. Dieses KI-Projekt ist bei Entwicklern sehr beliebt – so nutzen es einige, um Bildungsinhalte in Gaming-Themen zu verwandeln und das Erstellen effizienter und unterhaltsamer zu gestalten.

MergeKit: Ein Open-Source-Toolkit zum Zusammenführen vortrainierter Sprachmodelle

Was ist Mergekit?

Mergekit ist ein Python-Tool, das mehrere große Modelle zu einem einzigen zusammenführen kann, um die jeweiligen Stärken zu vereinen. Wenn zum Beispiel Modell A hervorragend im Schreiben ist und Modell B besonders gut im Programmieren, kann mergekit diese kombinieren, um ein stärkeres Modell zu erzeugen. Es kann Zusammenführungen auf CPU oder GPU durchführen, wobei empfohlen wird, zunächst Modelle mit hoher Präzision zusammenzuführen und sie anschließend zu quantisieren und zu kalibrieren. Dieses KI-Projekt ist bei Entwicklern sehr beliebt – einige nutzen es beispielsweise, um Bildungsinhalte in Spielethemen umzuwandeln und so das Erstellen effizienter und unterhaltsamer zu gestalten.

MergeKit: Ein Open-Source-Toolkit zum Zusammenführen vortrainierter Sprachmodelle.jpg

Hauptfunktionen von Mergekit

  • Modellfusion: Mehrere vortrainierte Sprachmodelle werden zu einem multifunktionalen Modell zusammengeführt, ohne zusätzliches Training oder Rechenaufwand für Ensembles.

  • Verschiedene Fusionsalgorithmen: Unterstützt zahlreiche Fusionsmethoden wie lineare Interpolation, sphärische lineare Interpolation (SLERP), Task Arithmetic, TIES, DARE usw.

  • Hardwarefreundlich: Läuft auf CPU oder GPU, mindestens 8 GB VRAM sind ausreichend.

  • Geringer Speicherverbrauch: Durch Lazy Loading von Tensoren wird der Speicherbedarf reduziert.

  • Parameterinterpolation: Unterstützt Interpolationsgradienten für Parameterwerte und ermöglicht so eine feinere Steuerung.

  • Schichtweiser Aufbau: Ermöglicht das Zusammensetzen von Sprachmodellen aus Schichtfragmenten verschiedener Modelle („Frankenmerging").

  • Mixture-of-Experts-Fusion: Mehrere dichte Modelle werden zu einem Mixture-of-Experts-Modell zusammengeführt.

  • LoRA-Extraktion: Extrahiert PEFT-kompatible Niedrigrang-Approximationen aus feinabgestimmten Modellen.

  • Evolutionäre Fusionsmethoden: Enthält einige experimentelle evolutionäre Fusionsverfahren.

Hauptmerkmale von Mergekit

  • Plattformübergreifende Ausführung: Unterstützt GPU- und CPU-Ausführung, bereits ab 8 GB VRAM beschleunigt.

  • Geringer Speicherverbrauch: Durch Lazy Loading von Tensoren realisiert.

  • Verschiedene Fusionsalgorithmen: Einschließlich linearer Interpolation, SLERP, Task Arithmetic usw., weitere Algorithmen sind in Planung.

  • Grafische Benutzeroberfläche (GUI): Bietet eine GUI auf Basis von Arcee, die den Fusionsprozess vereinfacht.

Installation und Nutzung

Installation

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

Nutzung

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

Anwendungsfälle von Mergekit

  • Fusion von Modellfähigkeiten: Modelle aus verschiedenen Fachbereichen werden zu einem multifunktionalen Modell zusammengeführt.

  • Leistungsoptimierung: Die Stärken verschiedener Modelle werden kombiniert, um die Gesamtleistung zu steigern.

  • Optimierung in ressourcenbeschränkten Umgebungen: Erstellung kleinerer, aber leistungsstarker Modelle bei begrenzten Rechenressourcen.

  • Personalisierte Modellanpassung: Modelle werden entsprechend spezifischer Anforderungen maßgeschneidert.

  • Modellforschung und Experimente: Bietet Forschenden eine flexible Plattform, um unterschiedliche Fusionsstrategien zu erkunden.

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