Want to Become a Sponsor? Contact Us Now!🎉

LLM
Wie man Llama.cpp mühelos auf dem eigenen Computer ausführt

Llama.cpp: C/C++-Port für Facebooks LLaMA-Modell

Published on

Willkommen in der faszinierenden Welt von Llama CPP! Wenn du schon immer mit Sprachmodellen arbeiten wolltest, bist du hier genau richtig. Llama CPP ist ein Tool, das im Bereich der Prompt-Entwicklung für Aufsehen sorgt und das aus gutem Grund.

In diesem umfassenden Leitfaden werden wir alles besprechen, was du über Llama CPP wissen musst. Vom Setup bis zur Ausführung deines ersten Modells haben wir alles dabei. Also tauchen wir ein und entfesseln das volle Potenzial dieses leistungsstarken Tools.

Möchtest du die neuesten LLM-News erfahren? Schau dir das aktuelle LLM-Ranking an!

Was ist Llama CPP?

Llama CPP ist ein Projekt, mit dem du nahtlos mit Sprachmodellen arbeiten kannst. Es ist ein Tool, das die Lücke zwischen komplexen Algorithmen und praktischer Implementierung schließt. Aber was genau ist ein Sprachmodell? Lass es uns erklären:

  • Sprachmodell: Ein rechnerisches Modell, das die Wahrscheinlichkeit einer Sequenz von Wörtern vorhersagt. Es bildet das Rückgrat verschiedener Anwendungen wie Chatbots, Übersetzungsdienste und sogar die Autokorrekturfunktion deines Smartphones.

Llama CPP ist nicht nur ein weiteres Tool; es ist ein robustes Framework, das es dir ermöglicht:

  • Vortrainierte Modelle von Plattformen wie Hugging Face auszuführen
  • Das Projekt entweder mit der CPU oder der GPU zu erstellen
  • Es mit Python zu integrieren, um die Funktionalität zu erweitern

Einrichtung von Llama CPP: Ein Schritt-für-Schritt-Leitfaden

Der Einstieg in Llama CPP ist kinderleicht. Du benötigst lediglich einen Computer und eine Internetverbindung. Hier ist, wie du es einrichtest:

  1. Repository klonen: Öffne dein Terminal und führe den folgenden Befehl aus, um das Llama CPP-Repository von GitHub zu klonen.

    git clone https://github.com/ggerganov/llama.cpp
    cd llama.cpp

    Dadurch wird das Repository heruntergeladen und du wirst in das neu geklonte Verzeichnis navigiert.

  2. Sprachmodelle herunterladen: Du benötigst Sprachmodelle, um mit Llama CPP zu arbeiten. Du kannst diese entweder von Hugging Face oder vom originalen LLaMa-Projekt herunterladen. Platziere sie in einem Verzeichnis innerhalb des geklonten Repos.

  3. Wähle deinen Build aus: Entscheide, ob du das Projekt mit der CPU oder der GPU erstellen möchtest. Für die Kompilierung mit GPU benötigst du das NVIDIA CUDA Toolkit.

  4. Code kompilieren: Verwende den Befehl make, um den Code zu kompilieren. Wenn du die GPU verwendest, musst du einen anderen Befehl ausführen, über den wir im nächsten Abschnitt sprechen werden.

Indem du diesen Schritten folgst, hast du Llama CPP erfolgreich auf deinem System eingerichtet. Jetzt bist du bereit, in die technischeren Aspekte einzutauchen, wie die Wahl zwischen CPU- und GPU-Builds, die wir als Nächstes behandeln werden.

Führe Llama-cpp-python in Python aus

Wenn du Llama CPP-Modelle innerhalb eines Python-Skripts ausführen möchtest, kannst du die llama_cpp_python-Bibliothek verwenden. Hier ist ein detaillierteres Beispiel:

from llama_cpp_python import LlamaModel
 
# Initialisiere das Modell
model = LlamaModel("/pfad/zu/deinem/modell")
 
# Setze die Eingabeaufforderung und generiere Text
prompt = "Hallo, wie geht es dir?"
text = model.generate(prompt)
 
# Gib den generierten Text aus
print(f"Generierter Text für die Eingabeaufforderung '{prompt}' lautet: {text}")

Dieses Python-Skript importiert die Klasse LlamaModel aus der Bibliothek llama_cpp_python, initialisiert das Modell mit dem Pfad zu deinem heruntergeladenen Sprachmodell und generiert dann Text basierend auf einer gegebenen Eingabeaufforderung.

Führe Llama.cpp in Docker aus

Wenn du mit Docker vertraut bist, kannst du dein Llama CPP-Projekt für eine einfachere Bereitstellung und Skalierbarkeit containerisieren. So baust und führst du einen Docker-Container für dein Llama CPP-Projekt aus:

# Navigiere zum Llama CPP-Verzeichnis
cd /pfad/zum/llama_cpp_verzeichnis
 
# Baue das Docker-Image
docker build -t llama_cpp_image .
 
# Führe den Docker-Container aus
docker run -it --name llama_cpp_container llama_cpp_image

In diesem Beispiel ist llama_cpp_image der Name des Docker-Images und llama_cpp_container der Name des laufenden Containers. Diese Namen kannst du anpassen.

Wahl zwischen CPU und GPU: Optimiere deinen Llama CPP-Build

Wenn es darum geht, dein Llama CPP-Projekt zu erstellen, hast du zwei Hauptoptionen: CPU und GPU. Jede Option hat ihre Vor- und Nachteile, aber die Wahl hängt letztendlich von deinen spezifischen Anforderungen und Ressourcen ab.

CPU vs. GPU: Schneller Vergleich:

  • Geschwindigkeit: GPU-Builds sind im Allgemeinen schneller aufgrund ihrer Fähigkeit zur parallelen Verarbeitung.
  • Ressourcenverbrauch: CPU-Builds verbrauchen weniger Ressourcen, können aber langsamer sein.
  • Flexibilität: GPU-Builds erfordern spezifische Hardware und zusätzliche Einrichtung, bieten jedoch eine höhere Leistung.

Lassen uns in die Details eintauchen:

Wenn du gerade erst anfängst oder keine leistungsstarke GPU hast, ist ein CPU-Build die beste Wahl. Er ist unkompliziert und erfordert keine zusätzlichen Installationen. So kompilierst du dein Llama CPP-Projekt nur mit der CPU:

  1. Navigiere zum Verzeichnis: Öffne dein Terminal und navigiere zum geklonten Llama CPP-Verzeichnis.
  2. Kompiliere den Code: Führe den folgenden Befehl aus:
    make
  3. Führe das Modell aus: Nach erfolgreicher Kompilierung kannst du das Modell mit der erstellten ausführbaren Datei ausführen.

Für diejenigen, die die volle Leistung ihrer Hardware nutzen möchten, ist ein GPU-Build der richtige Weg. Insbesondere wenn du eine NVIDIA-GPU hast, kannst du Berechnungen deutlich beschleunigen. So geht's:

  1. Installiere das NVIDIA CUDA Toolkit: Bevor du den Code für die GPU kompilieren kannst, musst du das NVIDIA CUDA Toolkit installieren. Du kannst es von der offiziellen NVIDIA-Website herunterladen.
  2. Kompiliere mit CUDA-Unterstützung: Navigiere zum Llama CPP-Verzeichnis und führe den folgenden Befehl aus:
    make clean && LLAMA_CUBLAS=1 make -j
  3. Mit GPU-Unterstützung ausführen: Verwenden Sie die Flagge --n-gpu-layers, um bei der Ausführung des Modells Berechnungen auf die GPU auszulagern.

Hinweis: Die Verwendung der GPU-Version ermöglicht es Ihnen, bestimmte Schichten des Modells auf die GPU auszulagern, wodurch der Vorgang schneller und effizienter wird.

Ausführung Ihres ersten Llama CPP-Modells

Grundlegende Modellausführung

Um Ihr erstelltes Modell auszuführen, verwenden Sie die während des Erstellungsprozesses generierte ausführbare Datei. Die Flagge --model-path gibt an, wo sich Ihr heruntergeladenes Sprachmodell befindet. So wird es gemacht:

# Navigieren Sie zum Verzeichnis, in dem sich Ihre Llama CPP-Ausführungsdatei befindet
cd /pfad/zum/llama_cpp_verzeichnis
 
# Führen Sie das Modell aus
./llama_cpp_executable --model-path /pfad/zu/ihrem/modell

Hinweis: Ersetzen Sie /pfad/zu/ihrem/modell durch den tatsächlichen Verzeichnispfad, in dem sich Ihr heruntergeladenes Sprachmodell befindet. llama_cpp_executable ist der Name der ausführbaren Datei, die nach der Erstellung von Llama CPP generiert wurde.

Erweiterte Funktionen: GPU-Auslagerung und mehr

Wenn Sie Llama CPP mit GPU-Unterstützung erstellt haben, können Sie Berechnungen auf die GPU auslagern, um die Ausführung des Modells zu beschleunigen. Die Flagge --n-gpu-layers gibt an, wie viele Schichten des neuronalen Netzwerks von der GPU verarbeitet werden sollen.

# Führen Sie das Modell mit GPU-Auslagerung aus
./llama_cpp_executable --model-path /pfad/zu/ihrem/modell --n-gpu-layers 2

In diesem Beispiel gibt 2 an, dass zwei Schichten des neuronalen Netzwerks von der GPU verarbeitet werden. Sie können diese Zahl je nach den Fähigkeiten Ihrer spezifischen GPU und der Größe des Modells, das Sie ausführen, anpassen.

Leistungsoptimierung: Modellkonvertierung

Llama CPP bietet ein Python-Skript namens convert.py, mit dem Sie Ihr Modell in verschiedene Formate konvertieren können, um eine bessere Leistung zu erzielen. Sie können zum Beispiel das Modell in fp16 (16-Bit-Gleitkommazahlen) konvertieren, um es kleiner und schneller zu machen.

# Navigieren Sie zum Verzeichnis, das das Skript convert.py enthält
cd /pfad/zum/llama_cpp_verzeichnis/scripts
 
# Führen Sie das Konvertierungsskript aus
python convert.py --input /pfad/zum/ursprünglichen/modell --output /pfad/zur/konvertierten/modell --type fp16

Fazit

In diesem Leitfaden haben wir viel abgedeckt, von der Einrichtung von Llama CPP über die Ausführung Ihres ersten Modells bis hin zur Erkundung seiner zusätzlichen Funktionen. Mit seiner Flexibilität, Leistungsoptimierungsmöglichkeiten und zusätzlichen Funktionen wie Python-Integration und Docker-Unterstützung ist Llama CPP ein robustes Werkzeug für alle, die mit Sprachmodellen arbeiten möchten.

FAQs

  • Was ist Llama CPP?

    • Llama CPP ist ein leistungsstolles Werkzeug für die Arbeit mit Sprachmodellen. Es ermöglicht CPU- und GPU-Builds, Python-Integration und mehr.
  • Wie führe ich Llama CPP in Python aus?

    • Sie können Llama CPP mit Python integrieren, indem Sie den Code und die Dokumentation aus dem GitHub-Repository llama-cpp-python verwenden.
  • Wie schnell ist Llama CPP?

    • Die Geschwindigkeit von Llama CPP hängt davon ab, ob Sie eine CPU- oder GPU-Version verwenden. GPU-Builds sind in der Regel schneller aufgrund ihrer Fähigkeit zur parallelen Verarbeitung.
  • Verwendet Llama CPP GPU?

    • Ja, Llama CPP ermöglicht die Verwendung von GPU-basierten Berechnungen, was die Ausführung des Modells erheblich beschleunigen kann.

Möchten Sie die neuesten LLM-Nachrichten erfahren? Schauen Sie sich das neueste LLM-Ranking an!

Anakin AI - The Ultimate No-Code AI App Builder