laptop_mac macOS Sonoma
Intermediate
schedule 8 min read
by Alex Rivera • May 14, 2024
Wer maximale Leistung, absolute Kontrolle und keinerlei Bloatware anstrebt, für den ist die direkte Kompilierung von llama.cpp aus dem Quellcode mithilfe des NVIDIA CUDA Toolkits die einzig wahre Methode. Hier ist genau beschrieben, wie das unter Windows funktioniert.
Step 1 Einführung
llama.cpp ist die zugrundeliegende C++-Engine, die nahezu alle lokalen KI-Tools antreibt (einschließlich Ollama und LM Studio). Durch die native Kompilierung und Ausführung direkt aus dem Windows-Terminal entfällt der UI-Overhead vollständig, und man erhält die totale Kontrolle über die VRAM-Allokierungs-Flags.
Step 2 Voraussetzungen
Zunächst müssen die erforderlichen Build-Tools installiert werden, um C++-Code unter Windows mit CUDA-Unterstützung kompilieren zu können.
- Git for Windows installieren.
- CMake installieren (sicherstellen, dass es zur PATH-Variable hinzugefügt wird).
- Visual Studio Build Tools 2022 installieren (die Workload „Desktopentwicklung mit C++" auswählen).
- Das NVIDIA CUDA Toolkit installieren (erforderlich für GPU-Beschleunigung).
Step 3 Kompilierung
Eine Developer Command Prompt for VS 2022 öffnen (im Windows-Startmenü danach suchen).
Das Repository klonen und mit dem Flag LLAMA_CUDA=ON kompilieren, um sicherzustellen, dass die NVIDIA-GPU genutzt wird.
Terminal
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
mkdir build
cd build
cmake .. -DLLAMA_CUDA=ON
cmake --build . --config Release
Nach abgeschlossener Kompilierung befinden sich die ausführbaren Dateien unter build\bin\Release\.
Step 4 Modellgewichte herunterladen
Es muss ein Modell im .gguf-Format heruntergeladen werden. Dazu wird die huggingface-cli in einem Standard-PowerShell-Fenster verwendet.
Terminal
pip install -U huggingface_hub
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
Nun kann die Konversation mit dem Modell beginnen. Das Flag -ngl 99 weist die Engine an, alle Layer in den VRAM der NVIDIA-GPU auszulagern.
Terminal
.\build\bin\Release\llama-cli.exe -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.
User: Hello!
AI:"
Step 6 Lokaler Server
Wer einen OpenAI-kompatiblen API-Endpunkt direkt aus dem Terminal heraus betreiben möchte, verwendet die ausführbare Datei llama-server:
Terminal
.\build\bin\Release\llama-server.exe -m .\models\Meta-Llama-3-8B-Instruct-Q4_K_M.gguf -ngl 99 --port 8080
Das hochleistungsfähige CUDA-Backend ist nun unter http://127.0.0.1:8080 erreichbar.