Versuchen Sie es hier
Treten Sie unserem Discord bei
Simplifine optimiert die LLM-Feinabstimmung für jeden Datensatz oder jedes Modell mit einem einfachen Befehl und verwaltet die gesamte Infrastruktur, Auftragsverwaltung, Cloud-Speicherung und Inferenz.
Einfache cloudbasierte LLM-Feinabstimmung: Optimieren Sie jedes LLM mit nur einem Befehl.
Nahtlose Cloud-Integration: Verwalten Sie das Herunterladen, Speichern und Ausführen von Modellen automatisch direkt aus der Cloud.
Integrierte KI-Unterstützung: Erhalten Sie Hilfe bei der Auswahl von Hyperparametern, der Generierung synthetischer Datensätze und Datenqualitätsprüfungen.
Wechsel vom Gerät zum Cloud-Training: Fügen Sie einen einfachen Dekorator hinzu, um vom lokalen zum cloudbasierten Training zu wechseln.
Automatische Optimierung: Optimiert automatisch die Modell- und Datenparallelisierung durch Deepspeed ✅ und FDSP ✅.
Benutzerdefinierte Evaluierungsunterstützung: Nutzen Sie das integrierte LLM für Evaluierungsfunktionen oder importieren Sie Ihre eigenen benutzerdefinierten Evaluierungsmetriken.
Community-Support: Stellen Sie Support-Fragen zum Simplifine Community Discord.
Führende Institutionen vertrauen darauf: Forschungslabore der Universität Oxford verlassen sich bei ihren LLM-Feinabstimmungsanforderungen auf Simplifine.
Beginnen Sie hier >
Unsere vollständige Dokumentation finden Sie unter docs.simplifine.com.
Installation von PyPI
pip install simplifine-alpha
Sie können die Installation auch direkt von Github aus mit dem folgenden Befehl durchführen:
pip install git+https://github.com/simplifine-llm/Simplifine.git
Wir suchen Mitwirkende! Treten Sie dem contributors
-Thread auf unserem Discord bei:
Simplifine ist unter der GNU General Public License Version 3 lizenziert. Weitere Informationen finden Sie in der LICENSE-Datei.
Treten Sie für alle Funktionsanfragen, Fehler und Support unserem Discord bei!
Wenn Sie Vorschläge für neue Funktionen haben, die Sie gerne implementiert sehen würden, melden Sie bitte ein Problem – wir werden hart daran arbeiten, dies so schnell wie möglich umzusetzen!
Bei weiteren Fragen können Sie uns gerne [email protected] kontaktieren.
? Fehlerbehebungen: Optimierter Code und gelöste Trainer-bezogene Probleme für einen reibungsloseren Betrieb.
Neue Funktion: Einführung der Unterstützung für die Definition komplexerer Konfigurationsdateien, wodurch die Flexibilität des Trainers erhöht wird.
Dokumentation: Neue Beispiele hinzugefügt, darunter Tutorials zu cloudbasierten Schulungen und der Erstellung eines Fake-News-Detektors.
? Aktualisierte Dokumentation: Schauen Sie sich die neuesten Dokumente unter docs.simplifine.com an.
? Fehlerbehebungen: Es wurden Probleme behoben, die bei bestimmten Konfigurationen zu Ladefehlern führten, um eine umfassendere Kompatibilität sicherzustellen.
Neue Funktion: Direkte Installation von Git ermöglicht und Unterstützung für Hugging Face API-Tokens hinzugefügt, wodurch der Zugriff auf eingeschränkte Modelle ermöglicht wird.
Dokumentation: Aktualisierte Beispiele, um die neuesten Funktionen widerzuspiegeln.
Wir unterstützen derzeit sowohl DistributedDataParallel (DDP) als auch ZeRO von DeepSpeed.
TL;DR :
DDP ist nützlich, wenn ein Modell in den GPU-Speicher passt (dazu gehören Farbverläufe und Aktivierungszustände).
ZeRO ist nützlich, wenn ein Modell eine Aufteilung auf mehrere GPUs erfordert.
Längere Version :
DDP : Distributed Data Parallel (DDP) erstellt eine Replik des Modells auf jedem Prozessor (GPU). Stellen Sie sich beispielsweise 8 GPUs vor, denen jeweils ein einzelner Datenpunkt zugeführt wird – dies würde eine Stapelgröße von 8 ergeben. Die Modellreplikate werden dann auf jedem Gerät aktualisiert. DDP beschleunigt das Training durch Parallelisierung des Dateneingabeprozesses. DDP schlägt jedoch fehl, wenn das Replikat nicht in den GPU-Speicher passt. Denken Sie daran, dass der Speicher nicht nur Parameter, sondern auch Farbverläufe und Optimiererzustände beherbergt.
ZeRO : ZeRO ist eine leistungsstarke Optimierung, die von DeepSpeed entwickelt wurde und in verschiedenen Stufen (1, 2 und 3) erhältlich ist. Jede Phase unterteilt verschiedene Teile des Trainingsprozesses (Parameter, Verläufe und Aktivierungszustände). Dies ist sehr nützlich, wenn ein Modell nicht in den GPU-Speicher passt. ZeRO unterstützt auch die Auslagerung auf die CPU, wodurch noch mehr Platz für das Training größerer Modelle entsteht.
LLaMA-3-8b-Modell mit 16-Bit-Präzision : Verwenden Sie ZeRO Stage 3 auf 8 A100.
LLaMA-3-8b-Modell mit LoRA-Adaptern : Normalerweise gut mit DDP auf A100s.
GPT-2 mit 16-Bit-Präzision : Verwenden Sie DDP.
Problem: RuntimeError: Fehler beim Erstellen der Erweiterung „cpu_adam“ python dev
Dieser Fehler tritt auf, wenn python-dev
nicht installiert ist und ZeRO Offload verwendet. Um dieses Problem zu beheben, versuchen Sie Folgendes:
# Versuchen Sie sudo apt-get install python3-dev, wenn Folgendes fehlschlägt.apt-get install python-dev # für Python 2.x installsapt-get install python3-dev # für Python 3.x-Installationen
Siehe diesen Link