Home
Login
unslothai/unsloth

Unsloth: Hocheffizientes Feinabstimmungs- und Reinforcement-Learning-Tool für große Sprachmodelle - 2x schnellere Trainingsgeschwindigkeit, 70% weniger Speicherverbrauch

Apache-2.0Python 40.5kunslothai Last Updated: 2025-06-12
https://github.com/unslothai/unsloth

Unsloth Projekt – Detaillierte Vorstellung

Projektübersicht

Unsloth ist ein Open-Source-Tool, das sich auf das Feinjustieren (Fine-tuning) und das bestärkende Lernen (Reinforcement Learning) von großen Sprachmodellen (LLMs) konzentriert. Es ermöglicht eine 2-fache Beschleunigung der Trainingsgeschwindigkeit und eine Reduzierung des GPU-Speicherverbrauchs um 70% für Modelle wie Qwen3, Llama 4, DeepSeek-R1, Gemma 3, TTS usw. Das Projekt zielt darauf ab, KI-Technologien zugänglicher und benutzerfreundlicher zu machen und Forschern und Entwicklern effiziente Lösungen für das Modelltraining zu bieten.

Hauptmerkmale

  • Hochleistungsoptimierung: 2-fache Beschleunigung der Trainingsgeschwindigkeit, 70% weniger GPU-Speicherverbrauch
  • Kein Präzisionsverlust: Keine Verwendung von Näherungsverfahren, um die Trainingsgenauigkeit zu gewährleisten
  • Breite Kompatibilität: Unterstützung für eine Vielzahl von Mainstream-LLM-Modellen und Trainingsmethoden
  • Benutzerfreundlich: Bereitstellung von anfängerfreundlichen Notebooks und detaillierter Dokumentation

Kernfunktionen und -eigenschaften

1. Modellunterstützung

Unsloth unterstützt zahlreiche Mainstream-Sprachmodelle, darunter:

  • Llama-Serie: Llama 4, Llama 3.3 (70B), Llama 3.2, Llama 3.1
  • Qwen-Serie: Qwen 3 (14B), Qwen 2.5 (einschließlich Coder-Modelle)
  • Gemma-Serie: Gemma 3, Gemma 2 (9B/27B)
  • Andere Modelle: Phi-4 (14B), Mistral Small (22B), DeepSeek-R1 usw.

2. Trainingsmethoden

Feinjustierung (Fine-tuning):

  • Unterstützung für vollständige Parameter-Feinjustierung, Vortraining
  • 4-Bit-, 8-Bit-, 16-Bit-Quantisierungstraining
  • QLoRA- und LoRA-Feinjustierung
  • Dynamische 4-Bit-Quantisierungstechnologie

Bestärkendes Lernen (Reinforcement Learning):

  • DPO (Direct Preference Optimization)
  • GRPO (Long Context Reasoning Optimization)
  • PPO (Proximal Policy Optimization)
  • Training von Belohnungsmodellen
  • Online-DPO

3. Technische Vorteile

Leistungsoptimierung:

  • Alle Kernel sind in OpenAIs Triton-Sprache geschrieben, manuell implementierte Backpropagation-Engine
  • 0% Präzisionsverlust - Keine Näherungsverfahren - Alle Berechnungen sind exakt
  • Unterstützung für das Training mit langen Kontexten (bis zu 342K Kontext)

Speicheroptimierung:

  • Dynamische 4-Bit-Quantisierungstechnologie, die die Genauigkeit verbessert und gleichzeitig nur <10% mehr GPU-Speicher benötigt
  • Gradienten-Checkpoint-Optimierung, die den Speicherverbrauch um weitere 30% reduziert
  • Unterstützung für 4-fach längere Kontextfenster

4. Hardwarekompatibilität

  • GPU-Anforderungen: Unterstützung für NVIDIA-GPUs ab 2018, mindestens CUDA-Fähigkeit 7.0
  • Unterstützte Modelle: V100, T4, Titan V, RTX 20/30/40-Serie, A100, H100, L40 usw.
  • Betriebssysteme: Linux und Windows
  • Spezielle Unterstützung: GTX 1070, 1080 können ausgeführt werden, sind aber langsamer

5. Integration und Ökosystem

Framework-Integration:

  • Offizielle Unterstützung durch die 🤗 Hugging Face TRL-Bibliothek
  • Unterstützung für Trainer, Seq2SeqTrainer
  • Kompatibel mit nativem PyTorch-Code

Bereitstellungsoptionen:

  • Export in das GGUF-Format
  • Unterstützung für Ollama-, vLLM-Bereitstellung
  • Integration in den Hugging Face Model Hub

Installation und Verwendung

Schnelle Installation

Für Linux-Geräte wird die Installation mit pip empfohlen:

pip install unsloth

Grundlegendes Nutzungsbeispiel

from unsloth import FastLanguageModel
import torch
from trl import SFTTrainer, SFTConfig

# Modell laden
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "unsloth/gemma-3-4B-it",
    max_seq_length = 2048,
    load_in_4bit = True,
)

# LoRA-Adapter hinzufügen
model = FastLanguageModel.get_peft_model(
    model,
    r = 16,
    target_modules = ["q_proj", "k_proj", "v_proj", "o_proj"],
    lora_alpha = 16,
    use_gradient_checkpointing = "unsloth",
)

# Training starten
trainer = SFTTrainer(
    model = model,
    train_dataset = dataset,
    tokenizer = tokenizer,
    # Andere Trainingsparameter
)
trainer.train()

Leistungsbenchmarks

Vergleich der Trainingseffizienz

Modell GPU-Speicher Unsloth Geschwindigkeit Speicherreduzierung Kontextlänge Hugging Face + FA2
Llama 3.3 (70B) 80GB 2x >75% 13x länger 1x
Llama 3.1 (8B) 80GB 2x >70% 12x länger 1x

Unterstützung für lange Kontexte

Unter gleichen Hardwarebedingungen unterstützt Unsloth deutlich längere Kontexte als herkömmliche Methoden:

  • 8GB GPU: Unsloth unterstützt 2.972 Tokens, herkömmliche Methoden OOM (Out of Memory)
  • 24GB GPU: Unsloth unterstützt 78.475 Tokens, herkömmliche Methoden nur 5.789 Tokens
  • 80GB GPU: Unsloth unterstützt 342.733 Tokens, herkömmliche Methoden nur 28.454 Tokens

Neueste Funktionsupdates

Aktuelle wichtige Updates

  1. Llama 4 Unterstützung: Metas neueste Scout- und Maverick-Modelle
  2. Umfassende Unterstützung: FFT, alle Modelle (Mixtral, MOE, Cohere, Mamba) und alle Trainingsalgorithmen
  3. Visuelle Modelle: Unterstützung für Llama 3.2 Vision, Qwen 2.5 VL, Pixtral usw.
  4. Inferenzoptimierung: 2x schnellere Inferenzgeschwindigkeit

Besondere Funktionen

  • Chat-Oberfläche: Bereitstellung einer interaktiven Chat-Oberfläche
  • Gradientenakkumulations-Fix: Entdeckung und Behebung eines Fehlers bei der Gradientenakkumulation
  • Cut Cross Entropy: Optimierungstechnik, die in Zusammenarbeit mit Apple hinzugefügt wurde
  • Mehrsprachiges kontinuierliches Vortraining: Unterstützung für Koreanisch und andere Sprachen

Community und Ökosystem

Dokumentation und Support

  • Offizielle Dokumentation: docs.unsloth.ai
  • GitHub-Repository: Aktive Open-Source-Community
  • Soziale Medien: Offizieller Twitter/X-Account
  • Community-Forum: Reddit-Seite zum Austausch

Lernressourcen

  • Anfängerfreundliche Colab-Notebooks
  • Detaillierte Installations- und Bedienungsanleitungen
  • Kaggle-Wettbewerbs-Notebooks
  • Vollständige API-Dokumentation

Zusammenfassung

Unsloth ist derzeit eines der besten Open-Source-Tools für das Feinjustieren von LLMs. Durch innovative Optimierungstechniken werden die Trainingsgeschwindigkeit und die Speichereffizienz deutlich verbessert. Sowohl Forscher als auch Entwickler in der Industrie können von den effizienten Trainingsmöglichkeiten von Unsloth profitieren. Die kontinuierlichen Updates und die aktive Community-Unterstützung machen es zu einer wichtigen Wahl im Bereich des LLM-Feinjustierens.