परीक्षण: ओलामा कैसे इंटेल CPU के प्रदर्शन और कुशल कोर का उपयोग कर रहा है
ओलामा इंटेल सीपीयू पर दक्षता वाले कोर्स बनाम प्रदर्शन कोर्स
मेरे पास एक सिद्धांत है जिसे परीक्षण करना है - अगर इंटेल के CPU पर सभी कोर का उपयोग करने से LLMs की गति बढ़ेगी? (परीक्षण: ओलामा कैसे इंटेल CPU के प्रदर्शन और कुशल कोर का उपयोग करता है)
यह मुझे चिंता कर रहा है कि नए gemma3 27 बिट मॉडल (gemma3:27b, 17GB ओलामा पर) मेरे GPU के 16GB VRAM में फिट नहीं हो रहा है और इसके कुछ हिस्सा CPU पर चल रहा है।
सटीक रूप से:
ollama ps
दिखाता है:
gemma3:27b a418f5838eaf 22 GB 29%/71% CPU/GPU
हालांकि यह बुरा नहीं लगता, लेकिन यह परतों के विभाजन के कारण है।
वास्तविक भार है: GPU:28%, CPU: 560%। हां, कई कोर का उपयोग किया जा रहा है।
और यहां एक विचार है:
अगर हम ओलामा को सभी इंटेल CPU कोर के उपयोग के लिए अग्र और कुशल प्रकार के दोनों को उपयोग करने के लिए धकेल दें?
OLLAMA_NUM_THREADS सेटिंग पैरामीटर
ओलामा में एक पर्यावरण चर सेटिंग पैरामीटर OLLAMA_NUM_THREADS है जो ओलामा को बताने के लिए है कि वह कितने थ्रेड और कोर के अनुसार उपयोग करे।
पहले मैंने इसे 3 कोर तक सीमित करने का प्रयास किया:
sudo xed /etc/systemd/system/ollama.service
# OLLAMA_NUM_THREADS=3 के रूप में डालें
# Environment="OLLAMA_NUM_THREADS=3"
sudo systemctl daemon-reload
sudo systemctl restart ollama
लेकिन यह काम नहीं किया।
ओलामा अभी भी Gemma 3 27B LLM चलाते समय ~560% के CPU का उपयोग कर रहा था।
खराब भाग्य।
num_thread कॉल विकल्प
चलो इसे प्रयोग करते हैं:
curl http://localhost:11434/api/generate -d '
{
"model": "gemma3:27b",
"prompt": "Why is the blue sky blue?",
"stream": false,
"options":{
"num_thread": 8
}
}' | jq .
परिणाम:
- CPU उपयोग: 585%
- GPU उपयोग: 25%
- GPU शक्ति: 67w
- प्रदर्शन मूल्यांकन: 6.5 tokens/sec
अब हम दोगुने कोर का प्रयोग करते हैं। ओलामा को प्रदर्शन और कुशल कोर के मिश्रण के उपयोग के लिए कहते हैं:
curl http://localhost:11434/api/generate -d '
{
"model": "gemma3:27b",
"prompt": "Why is the blue sky blue?",
"stream": false,
"options":{
"num_thread": 16
}
}' | jq .
परिणाम:
- CPU उपयोग: 1030%
- GPU उपयोग: 26%
- GPU शक्ति: 70w
- प्रदर्शन मूल्यांकन: 7.4 t/s
अच्छा! प्रदर्शन में लगभग 14% की वृद्धि हुई!
अब हम अत्यधिक तक पहुंचते हैं! सभी भौतिक कोर के उपयोग के लिए:
curl http://localhost:11434/api/generate -d '
{
"model": "gemma3:27b",
"prompt": "Why is the blue sky blue?",
"stream": false,
"options":{
"num_thread": 20
}
}' | jq .
परिणाम:
- CPU उपयोग: 1250%
- GPU उपयोग: 10-26% (अस्थायी)
- GPU शक्ति: 67w
- प्रदर्शन मूल्यांकन: 6.9 t/s
ठीक। अब हम प्रदर्शन में कुछ गिरावट देखते हैं। चलो कुछ 8 प्रदर्शन + 4 कुशल के प्रयोग करते हैं:
curl http://localhost:11434/api/generate -d '
{
"model": "gemma3:27b",
"prompt": "Why is the blue sky blue?",
"stream": false,
"options":{
"num_thread": 12
}
}' | jq .
परिणाम:
- CPU उपयोग: 801%
- GPU उपयोग: 27% (अस्थायी)
- GPU शक्ति: 70w
- प्रदर्शन मूल्यांकन: 7.1 t/s
यहां-तहां।
तुलना के लिए - Gemma 3 14b चलाना, जो Gemma 27b के मुकाबले कम बुद्धिमान है, लेकिन GPU VRAM में बेहतर फिट होता है।
curl http://localhost:11434/api/generate -d '
{
"model": "gemma3:12b-it-qat",
"prompt": "Why is the blue sky blue?",
"stream": false
}' | jq .
परिणाम:
- CPU उपयोग: 106%
- GPU उपयोग: 94% (अस्थायी)
- GPU शक्ति: 225w
- प्रदर्शन मूल्यांकन: 61.1 t/s
यही हम उच्च प्रदर्शन कहते हैं। यद्यपि Gemma 3 27b Gemma 14b के मुकाबले बुद्धिमान है, लेकिन इसके 10 गुना नहीं है!
निष्कर्ष
यदि LLM GPU VRAM में फिट नहीं होता है और कुछ परतों को Ollama द्वारा CPU पर बाहर निकाल दिया जाता है
- हम
num_thread
पैरामीटर के उपयोग द्वारा LLM के प्रदर्शन में 10-14% की वृद्धि कर सकते हैं - बाहर निकालने के कारण होने वाली प्रदर्शन कमी बहुत अधिक है और इस वृद्धि द्वारा नहीं भरी जा सकती है।
- अधिक शक्तिशाली GPU के साथ अधिक VRAM के लिए। RTX 3090 RTX 5080 के मुकाबले बेहतर है, हालांकि मुझे इनमें से कोई भी नहीं है…
उपयोगी लिंक
- ओलामा कैसे समानांतर अनुरोध के साथ निपटता है
- ओलामा मॉडल को अलग ड्राइव या फोल्डर में ले जाएं
- ओलामा चीटशीट
- LLM गति प्रदर्शन की तुलना
- ओलामा पर Deepseek-r1
- Hugo-जनित वेबसाइट को AWS S3 पर तैनात करें
- LLM के साथ सारांशीकरण क्षमता की तुलना
- LLM के लिए प्रभावी प्रेरणाएं लिखें
- इंटेल के 13वें और 14वें पीढ़ी के CPU में गिरावट के समस्याएं
- LLM और Ollama के उपयोग से HTML सामग्री को Markdown में परिवर्तित करें
- क्वैड्रो RTX 5880 Ada 48GB कुछ अच्छा है?
- ओलामा और Qwen3 Embedding मॉडल के साथ टेक्स्ट दस्तावेजों को पुनर्क्रमित करें - Go में