ExLlama: Speicher-effiziente Llama-Implementierung für quantisierte Gewichte

ExLlama

3.5 | 55 | 0
Typ:
Open-Source-Projekte
Letzte Aktualisierung:
2025/10/18
Beschreibung:
ExLlama ist eine speichereffiziente, eigenständige Python/C++/CUDA-Implementierung von Llama für schnelle Inferenz mit 4-Bit-GPTQ-quantisierten Gewichten auf modernen GPUs.
Teilen:
Llama Inferenz
GPTQ Quantisierung
CUDA
Speichereffizienz
große Sprachmodelle

Übersicht von ExLlama

ExLlama: Speicher-Effiziente Llama Implementierung für Quantisierte Gewichte

ExLlama ist eine eigenständige Python/C++/CUDA Implementierung von Llama, die für Geschwindigkeit und Speichereffizienz bei der Verwendung von 4-Bit GPTQ Gewichten auf modernen GPUs entwickelt wurde. Dieses Projekt zielt darauf ab, eine schnellere und speichereffizientere Alternative zur Hugging Face Transformers Implementierung zu bieten, insbesondere für Benutzer, die mit quantisierten Modellen arbeiten.

Was ist ExLlama?

ExLlama ist als eine hochleistungsfähige Inferenz-Engine für die Llama-Familie von Sprachmodellen konzipiert. Es nutzt CUDA für GPU-Beschleunigung und ist für 4-Bit GPTQ quantisierte Gewichte optimiert, wodurch Benutzer große Sprachmodelle auf GPUs mit begrenztem Speicher ausführen können.

Wie funktioniert ExLlama?

ExLlama optimiert die Speichernutzung und Inferenzgeschwindigkeit durch verschiedene Techniken:

  • CUDA Implementierung: Nutzt CUDA für effiziente GPU-Berechnungen.
  • Quantisierungsunterstützung: Speziell für 4-Bit GPTQ quantisierte Gewichte entwickelt.
  • Speichereffizienz: Reduziert den Speicherbedarf im Vergleich zu Standardimplementierungen.

Hauptmerkmale und Vorteile:

  • Hohe Leistung: Optimiert für schnelle Inferenz.
  • Speichereffizienz: Ermöglicht das Ausführen großer Modelle auf weniger leistungsstarken GPUs.
  • Eigenständige Implementierung: Keine Notwendigkeit für die Hugging Face Transformers Bibliothek.
  • Web UI: Beinhaltet eine einfache Web UI für einfache Interaktion mit dem Modell (JavaScript geschrieben von ChatGPT, also Vorsicht!).
  • Docker Unterstützung: Kann in einem Docker Container für einfachere Bereitstellung und Sicherheit ausgeführt werden.

Wie benutzt man ExLlama?

  1. Installation:

    • Klonen Sie das Repository: git clone https://github.com/turboderp/exllama
    • Navigieren Sie zum Verzeichnis: cd exllama
    • Installieren Sie Abhängigkeiten: pip install -r requirements.txt
  2. Ausführen des Benchmarks:

    • python test_benchmark_inference.py -d <path_to_model_files> -p -ppl
  3. Ausführen des Chatbot Beispiels:

    • python example_chatbot.py -d <path_to_model_files> -un "Jeff" -p prompt_chatbort.txt
  4. Web UI:

    • Installieren Sie zusätzliche Abhängigkeiten: pip install -r requirements-web.txt
    • Führen Sie die Web UI aus: python webui/app.py -d <path_to_model_files>

Warum ExLlama wählen?

ExLlama bietet mehrere Vorteile:

  • Leistung: Liefert schnellere Inferenzgeschwindigkeiten im Vergleich zu anderen Implementierungen.
  • Zugänglichkeit: Ermöglicht Benutzern mit begrenztem GPU-Speicher, große Sprachmodelle auszuführen.
  • Flexibilität: Kann über das Python-Modul in andere Projekte integriert werden.
  • Benutzerfreundlichkeit: Bietet eine einfache Web UI für die Interaktion mit dem Modell.

Für wen ist ExLlama geeignet?

ExLlama ist geeignet für:

  • Forscher und Entwickler, die mit großen Sprachmodellen arbeiten.
  • Benutzer mit NVIDIA GPUs (30er-Serie und neuer empfohlen).
  • Diejenigen, die eine speichereffiziente und hochleistungsfähige Inferenzlösung suchen.
  • Jeder, der daran interessiert ist, Llama Modelle mit 4-Bit GPTQ Quantisierung auszuführen.

Hardware Anforderungen:

  • NVIDIA GPUs (RTX 30er-Serie oder neuer empfohlen)
  • ROCm Unterstützung ist theoretisch, aber ungetestet

Abhängigkeiten:

  • Python 3.9+
  • PyTorch (getestet auf 2.0.1 und 2.1.0 nightly) mit CUDA 11.8
  • safetensors 0.3.2
  • sentencepiece
  • ninja
  • flask und waitress (für Web UI)

Docker Unterstützung:

ExLlama kann in einem Docker Container für einfachere Bereitstellung und Sicherheit ausgeführt werden. Das Docker Image unterstützt NVIDIA GPUs.

Ergebnisse und Benchmarks:

ExLlama demonstriert signifikante Leistungsverbesserungen im Vergleich zu anderen Implementierungen, insbesondere in Bezug auf Tokens pro Sekunde (t/s) während der Inferenz. Benchmarks werden für verschiedene Llama Modellgrößen (7B, 13B, 33B, 65B, 70B) auf verschiedenen GPU-Konfigurationen bereitgestellt.

Beispielhafte Verwendung

import torch
from exllama.model import ExLlama, ExLlamaCache, ExLlamaConfig
from exllama.tokenizer import ExLlamaTokenizer

## Initialisiere Modell und Tokenizer
model_directory = "/path/to/your/model"
tokenizer_path = os.path.join(model_directory, "tokenizer.model")
model_config_path = os.path.join(model_directory, "config.json")

config = ExLlamaConfig(model_config_path)
config.model_path = os.path.join(model_directory, "model.safetensors")

tokenizer = ExLlamaTokenizer(tokenizer_path)
model = ExLlama(config)
cache = ExLlamaCache(model)

## Bereite Eingabe vor
prompt = "The quick brown fox jumps over the lazy"
input_ids = tokenizer.encode(prompt)

## Generiere Ausgabe
model.forward(input_ids, cache)
token = model.sample(temperature = 0.7, top_k = 50, top_p = 0.7)

output = tokenizer.decode([token])
print(prompt + output)

Kompatibilität und Modellunterstützung:

ExLlama ist mit einer Reihe von Llama Modellen kompatibel, einschließlich Llama 1 und Llama 2. Das Projekt wird kontinuierlich aktualisiert, um neue Modelle und Funktionen zu unterstützen.

ExLlama ist ein leistungsstarkes Werkzeug für alle, die Llama Modelle effizient ausführen möchten. Sein Fokus auf Speicheroptimierung und Geschwindigkeit macht es zu einer ausgezeichneten Wahl für Forschung und praktische Anwendungen.

Beste Alternativwerkzeuge zu "ExLlama"

LM Studio
Kein Bild verfügbar
50 0

Mit LM Studio können Sie lokale KI-Modelle wie gpt-oss, Qwen, Gemma und DeepSeek privat und kostenlos auf Ihrem Computer ausführen. Es unterstützt Entwicklerressourcen wie JS- und Python-SDKs.

Lokale KI
KI-Modelllaufzeit
Friendli Inference
Kein Bild verfügbar
111 0

Friendli Inference ist die schnellste LLM-Inferenz-Engine, optimiert für Geschwindigkeit und Kosteneffizienz, die GPU-Kosten um 50-90 % senkt und gleichzeitig einen hohen Durchsatz und eine geringe Latenz bietet.

LLM-Serving
GPU-Optimierung
llama.cpp
Kein Bild verfügbar
103 0

Ermöglichen Sie eine effiziente LLM-Inferenz mit llama.cpp, einer C/C++-Bibliothek, die für verschiedene Hardware optimiert ist und Quantisierung, CUDA und GGUF-Modelle unterstützt. Ideal für lokale und Cloud-Bereitstellung.

LLM-Inferenz
C/C++-Bibliothek
llm-answer-engine
Kein Bild verfügbar
162 0

Erstellen Sie eine von Perplexity inspirierte KI-Antwort-Engine mit Next.js, Groq, Llama-3 und Langchain. Erhalten Sie effizient Quellen, Antworten, Bilder und Folgefragen.

KI-Antwort-Engine
semantische Suche
vLLM
Kein Bild verfügbar
151 0

vLLM ist eine Inferenz- und Serving-Engine mit hohem Durchsatz und Speichereffizienz für LLMs, die PagedAttention und kontinuierliche Batchverarbeitung für optimierte Leistung bietet.

LLM-Inferenz-Engine
PagedAttention
Nebius AI Studio Inference Service
Kein Bild verfügbar
155 0

Der Nebius AI Studio Inference Service bietet gehostete Open-Source-Modelle für schnellere, günstigere und genauere Ergebnisse als proprietäre APIs. Skalieren Sie nahtlos ohne MLOps, ideal für RAG und Produktionsworkloads.

KI-Inferenz
Open-Source-LLMs
ChatLLaMA
Kein Bild verfügbar
153 0

ChatLLaMA ist ein LoRA-trainierter KI-Assistent basierend auf LLaMA-Modellen, der benutzerdefinierte persönliche Gespräche auf Ihrem lokalen GPU ermöglicht. Mit Desktop-GUI, trainiert auf Anthropics HH-Datensatz, verfügbar für 7B-, 13B- und 30B-Modelle.

LoRA-Feinabstimmung
xTuring
Kein Bild verfügbar
137 0

xTuring ist eine Open-Source-Bibliothek, die Benutzern ermöglicht, Large Language Models (LLMs) effizient anzupassen und zu optimieren, mit Fokus auf Einfachheit, Ressourcenoptimierung und Flexibilität für die KI-Personalisierung.

LLM-Feinabstimmung
Modellanpassung
Inweave
Kein Bild verfügbar
142 0

Inweave ist eine KI-gestützte Plattform für Startups und Scaleups, die Workflows effizient automatisiert. Bereitstellen anpassbarer KI-Assistenten mit Top-Modellen wie GPT und Llama über Chat oder API für nahtlose Produktivitätsgewinne.

Workflow-Automatisierung
Sagify
Kein Bild verfügbar
143 0

Sagify ist ein Open-Source-Python-Tool, das Machine-Learning-Pipelines auf AWS SageMaker vereinfacht und eine einheitliche LLM-Gateway für die nahtlose Integration proprietärer und Open-Source-Großsprachmodelle bietet.

ML-Bereitstellung
LLM-Gateway
LlamaChat
Kein Bild verfügbar
104 0

LlamaChat ist eine macOS-App, mit der Sie lokal auf Ihrem Mac mit LLaMA-, Alpaca- und GPT4All-Modellen chatten können. Laden Sie es jetzt herunter und erleben Sie lokales LLM-Chatten!

lokales LLM
macOS-App
LLaMA
Featherless.ai
Kein Bild verfügbar
313 0

Führen Sie sofort jedes Llama-Modell von HuggingFace aus, ohne Server einzurichten. Über 11.900 Modelle verfügbar. Ab 10 US-Dollar pro Monat für unbegrenzten Zugriff.

LLM-Hosting
KI-Inferenz
serverlos
Venice
Kein Bild verfügbar
216 0

Venice.ai: Private und unzensierte KI für Text, Bilder, Charaktere und Code. Greifen Sie privat auf führende Open-Source-Modelle zu.

Private KI
unzensierte KI
KI-Modell
Fireworks AI
Kein Bild verfügbar
348 0

Fireworks AI bietet blitzschnelle Inferenz für generative KI unter Verwendung modernster Open-Source-Modelle. Optimieren und stellen Sie Ihre eigenen Modelle ohne zusätzliche Kosten bereit. Skalieren Sie KI-Workloads global.

Inferenz-Engine
Open-Source-LLMs