Llama.cpp auf dem Mac: Der Leitfaden für Power-User

laptop_mac macOS Sonoma Intermediate schedule 8 min read
Author by Alex Rivera • May 14, 2024

Wenn Sie maximale Leistung, absolute Kontrolle und keinerlei Bloatware wünschen, ist die direkte Kompilierung von llama.cpp aus dem Quellcode die einzig wahre Methode. Hier erfahren Sie genau, wie es auf Apple Silicon funktioniert.

Step 1 Einführung

llama.cpp ist die zugrunde liegende C++-Engine, die fast alle lokalen KI-Tools antreibt (einschließlich Ollama und LM Studio). Durch die native Ausführung im Terminal entfernen Sie den UI-Overhead und erhalten vollständige Kontrolle über die Leistungsparameter.

Step 2 Voraussetzungen

Sie benötigen Apples Xcode Command Line Tools und Homebrew, um den C++-Code zu kompilieren.

Terminal
xcode-select --install
brew install cmake python3

Step 3 Kompilierung

Wir werden das Repository klonen und es mit dem Flag LLAMA_METAL=1 kompilieren, um sicherzustellen, dass es Apples GPU nutzt.

Terminal
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make -j LLAMA_METAL=1

Step 4 Gewichte herunterladen

Wir müssen ein Modell im .gguf-Format herunterladen. Wir verwenden die huggingface-cli, um Llama 3 8B herunterzuladen.

Terminal
pip3 install 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

Jetzt chatten wir mit dem Modell. Das Flag -ngl 99 weist die Engine an, alle Schichten auf die GPU Ihres Macs 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:"

Step 6 Lokaler Server

Wenn Sie einen OpenAI-kompatiblen API-Endpunkt direkt vom Terminal aus hosten möchten, verwenden Sie die llama-server-Binärdatei:

Terminal
./llama-server -m ./models/Meta-Llama-3-8B-Instruct-Q4_K_M.gguf -ngl 99 --port 8080

Ihr Hochleistungs-Backend lauscht nun unter http://127.0.0.1:8080.