laptop_mac macOS Sonoma
Intermediate
schedule 8 min read
by Alex Rivera • May 14, 2024
Llama 3 unter Linux auszuführen gibt Ihnen maximale Kontrolle und Leistung. Wir verwenden llama.cpp — eine hochoptimierte C++ Inferenz-Engine, die nativ NVIDIA CUDA, AMD ROCm und rein CPU-basierte Inferenz unterstützt.
Step 1 Einführung
Während Wrapper wie Ollama und LM Studio hervorragend für einen schnellen Einstieg geeignet sind, abstrahieren sie die zugrunde liegende Engine. Wenn Sie das letzte Quäntchen Leistung aus Ihrer Linux-Hardware herausholen möchten, ist das direkte Kompilieren von llama.cpp aus dem Quellcode der Goldstandard.
Diese Anleitung führt Sie durch das Kompilieren der Engine mit NVIDIA CUDA-Unterstützung, das Herunterladen des Llama 3 8B-Modells und das direkte Ausführen aus Ihrem Terminal.
Step 2 Voraussetzungen
Zunächst müssen wir die grundlegenden Build-Tools und das NVIDIA CUDA-Toolkit installieren. Öffnen Sie Ihr Terminal und führen Sie folgendes aus:
Terminal
sudo apt update
sudo apt install build-essential git python3-pip
sudo apt install nvidia-cuda-toolkit
Überprüfen Sie, ob Ihre NVIDIA-Treiber und CUDA korrekt funktionieren:
Step 3 Kompilierung
Wir werden das llama.cpp-Repository von GitHub klonen und es kompilieren. Wir übergeben das Flag LLAMA_CUDA=1 an den make-Befehl, um sicherzustellen, dass der Compiler das Binary mit NVIDIA GPU-Beschleunigung erstellt.
Terminal
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make -j$(nproc) LLAMA_CUDA=1
Sobald die Kompilierung abgeschlossen ist, befinden sich mehrere ausführbare Dateien im Stammverzeichnis, darunter llama-cli und llama-server.
Step 4 Herunterladen der Llama 3-Gewichte
llama.cpp verwendet das .gguf-Dateiformat. Wir können die HuggingFace CLI verwenden, um Metas Llama 3 8B-Modell sicher und direkt auf unseren Server herunterzuladen.
Installieren Sie zunächst die CLI:
Terminal
pip3 install -U "huggingface_hub[cli]"
Laden Sie nun die Q4_K_M-quantisierte Version des Modells herunter. Diese 4-Bit-Quantisierung bietet eine perfekte Balance zwischen Geschwindigkeit und Intelligenz und passt problemlos in 8 GB VRAM.
Terminal
huggingface-cli download bartowski/Meta-Llama-3-8B-Instruct-GGUF Meta-Llama-3-8B-Instruct-Q4_K_M.gguf --local-dir ./models
Step 5 Inferenz ausführen
Es ist Zeit, mit Llama 3 zu interagieren. Wir verwenden das Tool llama-cli.
Das Flag -ngl 99 ist der wichtigste Teil dieses Befehls: Es weist llama.cpp an, 99 Schichten (für ein 8B-Modell im Wesentlichen alle) in den VRAM Ihrer NVIDIA GPU auszulagern.
Terminal
./llama-cli -m ./models/Meta-Llama-3-8B-Instruct-Q4_K_M.gguf \
-n 512 \
-ngl 99 \
--color \
-i -r "User:" \
-p "You are a helpful AI assistant.\n\nUser: Hello!\nAI:"
Sie sollten sehen, wie die Engine initialisiert wird, das Modell in den VRAM lädt und Ihnen eine interaktive Eingabeaufforderung präsentiert.
Step 6 Der lokale API-Server
Wenn Sie dies auf einem headless Ubuntu-Server hosten und remote auf das Modell zugreifen möchten (oder über eine UI wie Open WebUI), können Sie den integrierten HTTP-Server starten.
Terminal
./llama-server -m ./models/Meta-Llama-3-8B-Instruct-Q4_K_M.gguf -ngl 99 --host 0.0.0.0 --port 8080
Ihr hochleistungsfähiges, CUDA-beschleunigtes Backend lauscht nun unter http://YOUR_SERVER_IP:8080 und fungiert als vollwertiger Ersatz für die OpenAI API!