AI Personal Learning
und praktische Anleitung
讯飞绘镜

llama.cpp: effizientes Inferenzwerkzeug, unterstützt mehrere Hardware, einfach zu implementierende LLM-Inferenz

Allgemeine Einführung

llama.cpp ist eine in reinem C/C++ implementierte Bibliothek, die den Inferenzprozess für Large Language Models (LLM) vereinfachen soll. Sie unterstützt eine breite Palette von Hardware-Plattformen, einschließlich Apple Silicon, NVIDIA GPUs und AMD GPUs, und bietet mehrere Quantisierungsoptionen, um die Inferenzgeschwindigkeit zu erhöhen und die Speichernutzung zu reduzieren. Ziel des Projekts ist es, eine hochleistungsfähige LLM-Inferenz mit minimaler Einrichtung sowohl für lokale als auch für Cloud-Umgebungen zu erreichen.

llama.cpp:高效推理工具,支持多种硬件,轻松实现LLM推理-1


llama.cpp:高效推理工具,支持多种硬件,轻松实现LLM推理-1

 

Funktionsliste

  • Unterstützt mehrere Hardware-Plattformen, einschließlich Apple Silicon, NVIDIA GPUs und AMD GPUs
  • Bietet 1,5-Bit- bis 8-Bit-Quantisierungsoptionen für ganze Zahlen
  • Unterstützt mehrere LLM-Modelle wie LLaMA, Mistral, Falcon, etc.
  • Bereitstellung einer REST-API-Schnittstelle für eine einfache Integration
  • Unterstützt gemischte CPU+GPU-Überlegungen
  • Bieten Sie mehrere Programmiersprachen an, z. B. Python, Go, Node.js, usw.
  • Bereitstellung mehrerer Tools und Infrastrukturunterstützung wie Modellumwandlungstools, Lastausgleicher usw.

 

Hilfe verwenden

Einbauverfahren

  1. Klon-Lagerhaus:
   git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
  1. Kompilieren Sie das Projekt:
   make

Leitlinien für die Verwendung

Modellumwandlung

llama.cpp bietet eine Reihe von Werkzeugen, um Modelle zu konvertieren und zu quantisieren, damit sie auf unterschiedlicher Hardware effizient laufen. Das Modell "Hugging Face" kann zum Beispiel mit dem folgenden Befehl in das GGML-Format konvertiert werden:

python3 convert_hf_to_gguf.py --model <model_name>

Beispiel für eine Argumentation

Nach der Kompilierung können Sie die folgenden Befehle zur Inferenz verwenden:

./llama-cli -m models/llama-13b-v2/ggml-model-q4_0.gguf -p "你好,世界!"

REST-API-Verwendung

llama.cpp bietet auch einen OpenAI API-kompatiblen HTTP-Server, der für lokale Modellinferenzdienste verwendet werden kann. Starten Sie den Server:

./llama-server -m models/llama-13b-v2/ggml-model-q4_0.gguf --port 8080

Auf die grundlegende Web-UI kann dann über einen Browser oder über die API für Inferenzanfragen zugegriffen werden:

curl -X POST http://localhost:8080/v1/chat -d '{"prompt": "你好,世界!"}'

Detaillierte Funktionsabläufe

  1. ModellbeladungZuerst müssen Sie die Modelldatei herunterladen und im angegebenen Verzeichnis ablegen, dann laden Sie das Modell mit dem Befehlszeilentool.
  2. BegründungskonfigurationRelevante Parameter für die Inferenz, wie z. B. Kontextlänge, Stapelgröße usw., können über Konfigurationsdateien oder Befehlszeilenparameter festgelegt werden.
  3. API-EinbindungÜber die REST-API-Schnittstelle kann llama.cpp in bestehende Anwendungen integriert werden, um automatisierte Argumentationsdienste zu ermöglichen.
  4. LeistungsoptimierungDie Nutzung von Quantisierungsoptionen und Hardware-Beschleunigungsfunktionen kann die Geschwindigkeit und Effizienz von Schlussfolgerungen erheblich verbessern.
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " llama.cpp: effizientes Inferenzwerkzeug, unterstützt mehrere Hardware, einfach zu implementierende LLM-Inferenz
de_DEDeutsch