laptop_mac macOS Sonoma
Intermediate
schedule 8 min read
by Alex Rivera • May 14, 2024
Linux पर Llama 3 चलाने से आपको अधिकतम नियंत्रण और प्रदर्शन मिलता है। हम llama.cpp का उपयोग करेंगे — एक अत्यधिक अनुकूलित C++ inference engine जो मूल रूप से NVIDIA CUDA, AMD ROCm, और CPU-only inference को सपोर्ट करता है।
Step 1 परिचय
जबकि Ollama और LM Studio जैसे wrappers जल्दी शुरुआत करने के लिए बेहतरीन हैं, वे अंतर्निहित engine को छुपा देते हैं। यदि आप अपने Linux हार्डवेयर से प्रदर्शन की आखिरी बूंद तक निचोड़ना चाहते हैं, तो सीधे source से llama.cpp को compile करना सर्वोत्तम तरीका है।
यह गाइड आपको NVIDIA CUDA सपोर्ट के साथ engine compile करने, Llama 3 8B मॉडल डाउनलोड करने, और इसे सीधे आपके terminal से चलाने की प्रक्रिया से गुजारेगी।
Step 2 पूर्वापेक्षाएँ
सबसे पहले, हमें core build tools और NVIDIA CUDA toolkit इंस्टॉल करने की आवश्यकता है। अपना terminal खोलें और चलाएं:
Terminal
sudo apt update
sudo apt install build-essential git python3-pip
sudo apt install nvidia-cuda-toolkit
सत्यापित करें कि आपके NVIDIA drivers और CUDA ठीक से काम कर रहे हैं:
Step 3 संकलन
हम GitHub से llama.cpp repository clone करेंगे और इसे compile करेंगे। हम make command में LLAMA_CUDA=1 flag पास करते हैं ताकि compiler NVIDIA GPU acceleration के साथ binary बना सके।
Terminal
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make -j$(nproc) LLAMA_CUDA=1
एक बार compilation पूरा होने के बाद, root directory में आपके पास कई executable files होंगी, जिनमें llama-cli और llama-server शामिल हैं।
Step 4 Llama 3 Weights डाउनलोड करना
llama.cpp .gguf फ़ाइल फ़ॉर्मेट का उपयोग करता है। हम HuggingFace CLI का उपयोग करके Meta के Llama 3 8B मॉडल को सीधे अपने server पर सुरक्षित रूप से डाउनलोड कर सकते हैं।
पहले, CLI इंस्टॉल करें:
Terminal
pip3 install -U "huggingface_hub[cli]"
अब, मॉडल का Q4_K_M quantized संस्करण डाउनलोड करें। यह 4-bit quantization गति और बुद्धिमत्ता के बीच सही संतुलन बनाती है और आराम से 8GB 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 Inference चलाना
Llama 3 के साथ बातचीत करने का समय आ गया है। हम llama-cli tool का उपयोग करेंगे।
-ngl 99 flag इस command का सबसे महत्वपूर्ण हिस्सा है: यह llama.cpp को 99 layers (मूल रूप से एक 8B मॉडल के लिए सभी) आपके NVIDIA GPU के VRAM में offload करने के लिए कहता है।
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:"
आपको engine को initialize होते, मॉडल को VRAM में load होते, और एक interactive prompt प्रस्तुत होते देखना चाहिए।
Step 6 Local API Server
यदि आप इसे एक headless Ubuntu server पर host कर रहे हैं और मॉडल को remotely (या Open WebUI जैसे UI के माध्यम से) access करना चाहते हैं, तो आप built-in HTTP server चला सकते हैं।
Terminal
./llama-server -m ./models/Meta-Llama-3-8B-Instruct-Q4_K_M.gguf -ngl 99 --host 0.0.0.0 --port 8080
आपका उच्च-प्रदर्शन, CUDA-accelerated backend अब http://YOUR_SERVER_IP:8080 पर सुन रहा है और OpenAI API के drop-in replacement के रूप में काम करता है!