पोस्ट्स
avatar

#Claude #Codex # Ryzen Zen3 GPU पर लोकल LLM चलाने का प्रयास (Qwen3-8B Heretic CPU और GPU की प्रदर्शन तुलना और विश्लेषण) अच्छा करो, AMD, अच्छा करो Vulkan मैंने सोचा था कि यह गेमिंग GPU है, इसलिए खास बात नहीं होगी, और मेरा सोचना सही निकला मेमोरी बैंडविड्थ सीमा है (VRAM छोटा है, इसलिए मुख्य मेमोरी का उपयोग हो रहा है, Mac M5 Studio पर उम्मीद है) AMD का सबसे नया Zen6 है, इसलिए यह 3 पीढ़ियों पुराना CPU (GPU सहित) है ---- # Qwen3-8B Heretic CPU और GPU की प्रदर्शन तुलना और विचार मापन की तारीख: 2026-11-02 / लक्ष्य: Ubuntu मशीन ## निष्कर्ष - **GPU (Radeon एम्बेडेड GPU) प्रॉम्प्ट लोडिंग में तेज है, CPU की तुलना में लगभग 2.5 गुना।** - **टेक्स्ट जनरेशन में केवल CPU की 1.1–1.2 गुना तेजी है।** जनरेशन स्पीड मेमोरी ट्रांसफर स्पीड से सीमित है, क्योंकि एम्बेडेड GPU CPU के साथ मेमोरी साझा करता है। - OpenClaw की तरह हर बार लंबे निर्देश भेजने के मामले में, **प्रॉम्प्ट कैशिंग** का प्रभाव अधिक महत्वपूर्ण है, और दूसरे और आगे के प्रश्नों का समय 7 मिनट से कम होकर 1 मिनट हो गया। ## मापन का परिवेश | आइटम | विवरण | |---|---| | CPU | AMD Ryzen 7 7730U (8 कोर, 16 थ्रेड, Zen 3) | | GPU | CPU-एम्बेडेड AMD Radeon Graphics (Barcelo, Vega 8 के समतुल्य) | | मेमोरी | 30GB (स्पेसिफिकेशन: DDR4-3200 डुअल-चैनल। वास्तविक मशीन पर पुष्टि नहीं) | | GPU मेमोरी | 512MB स्पेशल VRAM + ~15.4GB शेयर्ड मेमोरी (GTT)। LM Studio के लिए उपलब्ध: 10.59GiB | | OS / ड्राइवर | Ubuntu 24.04.5 LTS, Mesa 25.2.8 (RADV) | | LM Studio | हेडलेस संस्करण (llmster), llama.cpp 2.66.0 | | CPU रनटाइम | `llama.cpp-linux-x86_64-avx2` | | GPU रनटाइम | `llama.cpp-linux-x86_64-vulkan-avx2` (सभी परतें GPU पर, `--gpu max`) | | मॉडल | DreamFast/qwen3-8b-heretic Q4_K_M (5.03GB) | | लोडिंग सेटिंग | कॉन्टेक्स्ट लंबाई 32768, सिमुल्टेनियस प्रोसेसिंग 1 | ## मापन की विधि - LM Studio के API (`/api/v0/chat/completions`) पर समान प्रॉम्प्ट भेजकर CPU और GPU की तुलना की। - प्रत्येक स्थिति को 2 बार चलाया। दूसरी बार, प्रॉम्प्ट कैश से पुनःउपयोग होता है, इसलिए **लोडिंग स्पीड के लिए पहली प्रयोग की माप** का प्रयोग किया। - जनरेशन स्पीड LM Studio द्वारा `tokens_per_second` के माध्यम से प्रदान की गई। - प्रतिक्रिया से पहले के "विचार" को `/no_think` से रोका, `temperature` 0 पर सेट किया। - GPU मापन के बाद, CPU मापन से पहले 2 मिनट के लिए कूलिंग की। - स्क्रिप्ट और रिकॉर्ड Ubuntu मशीन पर `~/bench/bench.py`, `~/bench/run.sh`, `~/bench/result.log` में हैं। ## परिणाम ### संक्षिप्त तुलना | सामग्री | पैरामीटर | CPU | GPU | अंतर | |---|---|---|---|---| | 24-टोकन प्रॉम्प्ट पर 256-टोकन जनरेशन | जनरेशन स्पीड | 7.3 tokens/sec | 8.2 tokens/sec | 1.13x | | | कुल समय | 35.7 सेकंड | 31.4 सेकंड | | | 921-टोकन प्रॉम्प्ट | लोडिंग स्पीड | 30.5 tokens/sec | 76.3 tokens/sec | **2.5x** | | | पहला कैरेक्टर | 30.2 सेकंड | 12.1 सेकंड | | | | जनरेशन स्पीड | 7.0 tokens/sec | 8.0 tokens/sec | 1.13x | | 3,621-टोकन प्रॉम्प्ट | लोडिंग स्पीड | 35.4 tokens/sec | 87.5 tokens/sec | **2.5x** | | | पहला कैरेक्टर | 102.3 सेकंड | 41.4 सेकंड | | | | जनरेशन स्पीड | 5.9 tokens/sec | 7.2 tokens/sec | 1.2x | ### मापन का विस्तृत परिणाम | पद्धति | सामग्री | प्रयास | प्रॉम्प्ट | जनरेशन | कुल समय | पहला कैरेक्टर | जनरेशन स्पीड | |---|---|---|---|---|---|---|---| | GPU | संक्षिप्त प्रश्न | 1 | 24 | 256 | 31.4 सेकंड | 0.50 सेकंड | 8.26 | | GPU | संक्षिप्त प्रश्न | 2 | 24 | 256 | 31.2 सेकंड | 0.12 सेकंड | 8.23 | | GPU | ~1,000-टोकन प्रॉम्प्ट | 1 | 921 | 32 | 16.0 सेकंड | 12.07 सेकंड | 7.97 | | GPU | ~1,000-टोकन प्रॉम्प्ट (कैश) | 2 | 921 | 32 | 4.0 सेकंड | 0.14 सेकंड | 7.98 | | GPU | ~4,000-टोकन प्रॉम्प्ट | 1 | 3,621 | 32 | 45.7 सेकंड | 41.38 सेकंड | 7.18 || GPU | लगभग 4,000 टोकन प्रॉम्प्ट | 2 (कैश) | 3,621 | 32 | 4.5 सेकंड | 0.14 सेकंड | 7.22 | | CPU | छोटा प्रश्न | 1 | 24 | 256 | 35.7 सेकंड | 0.73 सेकंड | 7.29 | | CPU | छोटा प्रश्न | 2 | 24 | 241 | 32.8 सेकंड | 0.14 सेकंड | 7.36 | | CPU | लगभग 1,000 टोकन प्रॉम्प्ट | 1 | 921 | 32 | 34.7 सेकंड | 30.21 सेकंड | 7.03 | | CPU | लगभग 1,000 टोकन प्रॉम्प्ट | 2 (कैश) | 921 | 32 | 4.6 सेकंड | 0.15 सेकंड | 6.96 | | CPU | लगभग 4,000 टोकन प्रॉम्प्ट | 1 | 3,621 | 32 | 107.5 सेकंड | 102.30 सेकंड | 5.94 | | CPU | लगभग 4,000 टोकन प्रॉम्प्ट | 2 (कैश) | 3,621 | 32 | 5.4 सेकंड | 0.17 सेकंड | 5.96 | प्रॉम्प्ट और जनरेशन की इकाई टोकन है, और जनरेशन गति की इकाई टोकन/सेकंड है। ### सुधार पहले सरल मापन के दौरान, हमने कहा था कि GPU पर जनरेशन गति लगभग 2.2 गुना बढ़ गई, लेकिन यह गलत था। तुलना के लिए इस्तेमाल किए गए CPU के 3.86 टोकन/सेकंड का मान, bot2 पर लगभग 14,000 टोकन के प्रॉम्प्ट को प्रोसेस करने के बाद का मान है। लंबे प्रॉम्प्ट में जनरेशन धीमा होता है, इसलिए छोटे प्रश्न के मान के साथ तुलना करना गलत था। समान परिस्थितियों में तुलना करने पर, जनरेशन में केवल 1.1 से 1.2 गुना का अंतर है। ## GPU का उपयोग करने पर भी इतना तेज़ क्यों नहीं होता? ### 1. जनरेशन मेमोरी ट्रांसफर स्पीड से सीमित होता है LLM प्रत्येक टोकन को जनरेट करते समय, मॉडल के सभी वजन को मेमोरी से पढ़ता है। जनरेशन गति की सीमा "मेमोरी ट्रांसफर स्पीड ÷ मॉडल का आकार" से निर्धारित होती है। | पैरामीटर | मान | |---|---| | मेमोरी ट्रांसफर स्पीड (सैद्धांतिक) | DDR4-3200 डुअल-चैनल के साथ लगभग 51GB/सेकंड | | प्रति टोकन पढ़ा जाने वाला मात्रा | लगभग 5GB (पूरा मॉडल) | | सैद्धांतिक जनरेशन सीमा | 51 ÷ 5.03 ≒ **लगभग 10 टोकन/सेकंड** | | मापी गई GPU गति | 8.2 टोकन/सेकंड (सीमा का ~80%) | | मापी गई CPU गति | 7.3 टोकन/सेकंड (सीमा का ~70%) | इंटीग्रेटेड GPU CPU के साथ मुख्य मेमोरी साझा करता है, इसलिए सीमा CPU के समान ही है। GPU का उपयोग करने पर, सीमा के पास पहुँचने में केवल 10-20% ही सुधार हुआ। एक्सटर्नल GPU में स्वयं की हाई-स्पीड मेमोरी होती है, इसलिए यह सीमा काफी अधिक होती है। | GPU | मेमोरी ट्रांसफर स्पीड | इस Ubuntu मशीन के साथ अनुपात | |---|---|---| | इस Ubuntu मशीन का इंटीग्रेटेड GPU | ~51GB/सेकंड (CPU के साथ साझा) | 1x | | RTX 4060 | ~272GB/सेकंड | ~5x | | RTX 4090 | ~1,008GB/सेकंड | ~20x | ### 2. पढ़ने की गति कैलकुलेशन पावर पर निर्भर करती है, परंतु इंटीग्रेटेड GPU की कैलकुलेशन पावर कम है प्रॉम्प्ट पढ़ने में, कई टोकन समूह में प्रोसेस होते हैं, इसलिए गति मेमोरी से कम, कैलकुलेशन पावर पर निर्भर करती है। GPU का प्रभाव यहीं प्रकट होता है, और मापे गए मानों में 2.5x का सुधार हुआ। हालाँकि, इस GPU में निम्नलिखित सीमाएँ हैं, जिसके कारण सुधार केवल 2.5x ही हुआ: | सीमा | विवरण | |---|---| | कम कैलकुलेशन यूनिट्स | केवल 8। सिंगल-प्रिसिज़न में ~2TFLOPS (अनुमानित), जो गेमिंग GPU के कुछ-दशमलव हिस्से हैं | | मैट्रिक्स-ऑपरेशन के लिए स्पेशलाइज़्ड सर्किट्स का अभाव | NVIDIA Tensor Cores की तरह AI-विशिष्ट स्पेशलाइज़्ड सर्किट्स का अभाव | | ROCm का समर्थन नहीं | AMD GPU-विशिष्ट कैलकुलेशन प्लेटफ़ॉर्म, इस इंटीग्रेटेड GPU को सत्यापित रूप से समर्थित नहीं करता। Vulkan के माध्यम से सामान्यतःचलाया जा رहा है | 8B मॉडल में प्रति टोकन ~16GFLOP कैलकुलेशन कीआवश्यकता होती है,इसलिए ~2TFLOPS पर, सैद्धांतिक सीमा ~120टोकन/सेकंड है। मापे गए76–88टोकन/सेकंड,इसके6–7%हैं। ### 3. प्रॉम्प्टजबअधिकलंबाहोतहै,तबअधिकधीमाहोजातहै जबसंदर्भबढ़तहै,प्रत्येकटोकनद्वारासंदर्भितपिछलेटोकनबढ़जातहै,इसलिएपढ़नाऔरजनरेटकरनदोनोंधीमाहोजातहै। | परिस्थिति | पढ़ने कीगति |जनरेशनगति| |---|---|---| | GPU, ~1,000टोकनप्रॉम्प्ट|76टोकन/सेकंड|8.0टोकन/सेकंड| | GPU, ~3,600टोकनप्रॉम्प्ट|88टोकन/सेकंड|7.2टोकन/सेकंड| | GPU, OpenClaw(15,686टोकन)केपहले2,048टोकन|78.7टोकन/सेकंड|--| | GPU, OpenClaw(15,686टोकन)कीऔसतगति|44.1टोकन/सेकंड|5.1टोकन/सेकंड| | CPU, OpenClaw(14,021टोकन)|~19.5टोकन/सेकंड|3.86टोकन/सेकंड|3,600 टोकन तक, प्रोसेसिंग की मात्रा बढ़ने के कारण लोडिंग वास्तव में तेज़ हो गई। 15,000 टोकन से अधिक पर, अंत में यह 46 टोकन/सेकंड तक गिर गया। ## OpenClaw (bot2 मेइ) में कैश सत्यापन सत्यापन सत्र में, GPU पर चल रहे Qwen3 का उपयोग करके लगातार दो संदेश भेजे गए। | आइटम | पहला संदेश | दूसरा संदेश | |---|---|---| | OpenClaw द्वारा भेजा गया प्रॉम्प्ट | 15,686 टोकन | 15,744 टोकन | | वास्तविक रूप से लोड किए गए टोकन | 15,686 (सभी) | **135 (केवल नए)** | | लोडिंग समय | 356.1 सेकंड | **6.1 सेकंड** | | जनरेशन | 247 टोकन, 48.1 सेकंड (5.11 टोकन/सेकंड) | 249 टोकन, 48.5 सेकंड (5.11 टोकन/सेकंड) | | कुल | **410 सेकंड** | **58 सेकंड** | - OpenClaw हर बार प्रॉम्प्ट की शुरुआत समान सामग्री के साथ भेजता है, इसलिए दूसरे संदेश में पहले से प्रोसेस किए गए हिस्से (98%) का पुन: उपयोग किया गया। - दूसरे संदेश का अधिकांश प्रतीक्षा समय, लगभग 240 टोकन की सोचने की प्रक्रिया में है। `--thinking off` का उपयोग करने पर भी सोचने की प्रक्रिया बंद नहीं हुई। यदि सोचने की प्रक्रिया को बंद किया जा सके, तो समय लगभग 10 सेकंड हो सकता है। - कैश समय के साथ मिटता नहीं है। यह तब मिटता है, जब मॉडल हटा दिया जाता है, कोई अन्य प्रक्रिया हस्तक्षेप करती है (एक साथ प्रोसेसिंग की सीमा 1 है), या संवाद संपीड़ित होता है। ## तेज़ी लाने के विकल्प मेमोरी की स्थानांतरण गति को बदला नहीं जा सकता, इसलिए प्रति टोकन पढ़े जाने वाले डेटा की मात्रा कम करना प्रभावी है। | विधि | संभावित प्रभाव | ध्यान देने योग्य बातें | |---|---|---| | प्रॉम्प्ट कैश का उपयोग करना | 2वें संदेश के बाद, लोडिंग केवल कुछ सेकंड में (परीक्षण किया गया) | हस्तक्षेप या संपीड़न से मिट सकता है | | Qwen3 की सोचने की प्रक्रिया को बंद करना | प्रति संदेश ~48 सेकंड की कमी | प्रतिक्रिया की गुणवत्ता में हल्की कमी हो सकती है | | MoE-आधारित Qwen3-30B-A3B पर स्विच करना | प्रति टोकन ~3B वजन का उपयोग। पीढ़ी 2-3x होगी, समझ में सुधार होगा | ~18GB है, GPU की 10.6GiB में नहीं आता, इसलिए कुछ CPU पर प्रोसेस होगा। संशोधित/अन-सीन्स्ड संस्करण की पुष्टि नहीं हुई | | छोटे मॉडल (Qwen3-4B) पर स्विच करना | पीढ़ी ~2x | समझ में कमी | | प्रज्ञापूर्ण डिकोडिंग का उपयोग करना | Qwen3-0.6B को प्रस्तावित मॉडल के रूप में। पीढ़ी 1.3-2x | प्रभाव सामग्री पर निर्भर करता है | | क्वांटाइज़ेशन को और कम करना (Q3) | 10-20% में सुधार | सटीकता में कमी | | प्रॉम्प्ट को संक्षिप्त करना | पहले संदेश और कैश मिटने के बाद, लोडिंग समय कम होगा | कुछ सुविधाएँ हटानी पड़ेंगी | इस सारणी में, प्रॉम्प्ट कैश के अलावा, सभी प्रभावों का मूल्यांकन है; परखे नहीं गए। ## वर्तमान स्थिति (2026-11-03) | आइटम | स्थिति | |---|---| | LM Studio | बंद। स्वचालित प्रारंभअक्षम | | चयनित RT | Vulkan (GPU) | | bot2 (मेइ) | gpt-5.4-mini | | bot2 के लिए प्रसारण पोर्ट | बंद। स्वचालित प्रारंभअक्षम | | Qwen3 के bot2 सेटिंग | `~/.openclaw-bot2/openclaw.json.bak-qwen3-active-*` |

यह कंटेंट केवल सूचनात्मक और शैक्षिक उद्देश्यों के लिए है। इसमें थर्ड-पार्टी की इनसाइट्स, प्रायोजित कंटेंट या प्रचार सामग्री शामिल हो सकती है जिसके लिए निर्माता को मुआवजा प्राप्त हो सकता है। इस फ़ीड में दी गई कोई भी जानकारी निवेश सलाह या प्रतिफल की गारंटी नहीं है। आप अपने निवेश संबंधी निर्णयों के लिए पूरी तरह से स्वयं जिम्मेदार हैं। हमेशा स्वयं शोध करें और ट्रेडिंग से पहले सावधानी बरतें। हम थर्ड-पार्टी की जानकारी की सटीकता की गारंटी नहीं देते हैं और किसी भी प्रकार की हानि के लिए उत्तरदायी नहीं हैं। पिछला प्रदर्शन भविष्य के परिणामों का सूचक नहीं है। विवरण के लिए कृपया हमारे सामुदायिक नियम और शर्तें और जोखिम डिस्कोजर स्टेटमेंट देखें।

avatarअपना रिप्लाई पोस्ट करें

कमेंट करें