← Resources
By Ren Sugaya
— Performance Engineer, GPU & Inference
·
· TUTORIAL
Apple Silicon पर LLMs चलाना: यूनिफाइड मेमोरी और क्या-क्या फिट होता है
Apple Silicon LLMs चलाने के लिए असामान्य रूप से अच्छा है क्योंकि इसकी यूनिफाइड मेमोरी साझा, हाई-बैंडविड्थ और बड़ी होती है — एक 64GB Mac 70B मॉडल चला सकता है। यह गाइड बताती है कि प्रत्येक RAM टियर पर क्या फिट होता है, MLX बनाम llama.cpp, एक वास्तविक कमज़ोरी (प्रॉम्प्ट प्रोसेसिंग), और टूलिंग।
यूनिफाइड मेमोरी क्यों एक फायदा है
Apple Silicon CPU, GPU और Neural Engine में एकल हाई-बैंडविड्थ मेमोरी पूल साझा करता है — कोई अलग VRAM नहीं है और PCIe बस पर कोई धीमी कॉपी नहीं होती। इसीलिए एक 64GB Mac उस मॉडल को लोड कर सकता है जो 24GB डिस्क्रीट GPU पर फिट नहीं होता: पूरा पूल GPU के लिए उपलब्ध होता है।
यह महत्वपूर्ण है क्योंकि LLM टोकन जनरेशन [मेमोरी-बैंडविड्थ-बाउंड](/articles/running-llms-on-cpu) होती है — प्रत्येक टोकन के लिए मेमोरी से मॉडल पढ़ना पड़ता है — और Apple की यूनिफाइड बैंडविड्थ डिकोड में वास्तव में प्रतिस्पर्धी होने के लिए पर्याप्त उच्च है। यहाँ जनरेशन स्पीड तय करने वाला स्पेक बैंडविड्थ है, कच्ची कंप्यूट नहीं।
मेमोरी टियर के अनुसार क्या फिट होता है
यूनिफाइड मेमोरी बाध्यकारी बाधा है, इसलिए मॉडल को अपने Mac के अनुसार साइज़ करें (4-बिट क्वांटाइज़ेशन पर आंकड़े):
- 16GB: 7B–8B मॉडल आसानी से।
- 32GB: लगभग 30B मॉडल तक।
- 64GB: 70B मॉडल संभव हो जाता है (Q4 पर 70B लगभग 40GB होता है), हालांकि कॉन्टेक्स्ट हेडरूम कम होती है — यह 70B के लिए व्यावहारिक प्रवेश बिंदु है।
- 128GB: बड़े कॉन्टेक्स्ट के लिए जगह के साथ उच्च प्रिसिजन (Q5/Q8) पर 70B।
- Ultra-tier (192GB+): उच्च प्रिसिजन पर 70B, बहुत बड़े मॉडल, या एक साथ कई मॉडल।
अंगूठे का नियम: Q4 पर वज़न के लिए प्रति बिलियन पैरामीटर लगभग 0.5–0.6 GB का बजट रखें, फिर KV cache के लिए जगह छोड़ें, जो कॉन्टेक्स्ट लेंथ के साथ बढ़ता है और अक्सर तय करता है कि आप 16K या 32K कॉन्टेक्स्ट फिट कर पाएंगे या नहीं।
MLX बनाम llama.cpp
Mac पर दो रनटाइम प्रमुख हैं। llama.cpp का Metal बैकएंड GPU कंप्यूट को Metal शेडर्स में ट्रांसलेट करता है और सबसे बड़ी मॉडल लाइब्रेरी के साथ क्रॉस-प्लेटफॉर्म GGUF फॉर्मेट उपयोग करता है। MLX Apple का अपना फ्रेमवर्क है, यूनिफाइड मेमोरी के लिए ज़मीन से बनाया गया — आमतौर पर छोटे मॉडलों पर तेज़ (अक्सर ~14B से नीचे काफी तेज़), ~27B से ऊपर अंतर कम होता जाता है जहाँ दोनों बैंडविड्थ सीलिंग से टकराते हैं।
MLX में गति है: Apple ने इसे पसंदीदा Apple Silicon फ्रेमवर्क के रूप में स्थापित किया, लोकप्रिय रनटाइम ने MLX बैकएंड जोड़े, और यह mixture-of-experts मॉडल पर चमकता है। व्यावहारिक दृष्टिकोण: छोटे और MoE मॉडल पर पीक स्पीड के लिए MLX, सबसे व्यापक मॉडल चयन और क्रॉस-प्लेटफॉर्म सुसंगतता के लिए llama.cpp/GGUF।
असली कमज़ोरी: प्रॉम्प्ट प्रोसेसिंग
Apple Silicon की ईमानदार सीमा जनरेशन नहीं है — यह प्रॉम्प्ट प्रोसेसिंग (पहले टोकन तक का समय) है। Prefill कंप्यूट-बाउंड है, जिसमें बड़े मैट्रिक्स मल्टीप्लिकेशन शामिल हैं, और Apple के GPUs में वे dedicated tensor cores नहीं हैं जो NVIDIA को यहाँ तेज़ बनाते हैं। इसलिए जब टोकन जनरेशन प्रतिस्पर्धी होती है, मॉडल लंबे प्रॉम्प्ट पर प्रतिक्रिया शुरू करने में ध्यान देने योग्य रूप से धीमा हो सकता है, जो लंबे-कॉन्टेक्स्ट काम के वास्तविक अनुभव को प्रभावित करता है।
दूसरी सीमा इकोसिस्टम है: अधिकांश टूलिंग CUDA को लक्षित करती है, GGUF की तुलना में कम पूर्व-क्वांटाइज़्ड MLX मॉडल हैं, और हाई-एंड NVIDIA GPU में अभी भी कई गुना अधिक रॉ बैंडविड्थ है। इंटरैक्टिव सिंगल-यूजर लोकल उपयोग के लिए Apple Silicon उत्कृष्ट है; लंबे-कॉन्टेक्स्ट या हाई-थ्रूपुट सर्विंग के लिए वे अंतर मायने रखते हैं।
टूलिंग और क्वांटाइज़ेशन
Mac टूलिंग लैंडस्केप परिपक्व है: Ollama (CLI प्लस एक OpenAI-compatible API, सबसे आसान शुरुआत), LM Studio (सबसे अच्छा GUI), MLX-LM (पीक परफॉर्मेंस और फाइन-ट्यूनिंग, Python के माध्यम से), और प्राइवेसी-फोकस्ड ऑफलाइन ऐप। GGUF प्रमुख क्रॉस-टूल क्वांटाइज़ेशन फॉर्मेट है; MLX फॉर्मेट Apple-native और तेज़ है लेकिन इसकी लाइब्रेरी छोटी है।
हर जगह की तरह, [क्वांटाइज़ेशन](/articles/llm-quantization-explained-gguf) वह है जो इसे काम करवाती है — 4-बिट पर जाने से मॉडल लगभग चार गुना छोटा हो जाता है (70B ~140GB से ~40GB) मामूली गुणवत्ता हानि के साथ, और Q4_K_M आमतौर पर सबसे अच्छा विकल्प है। यदि आपकी यूनिफाइड मेमोरी अनुमति देती है तो Q5 या Q8 पर जाएं।
osFoundry में Apple Silicon
osFoundry Metal और MLX पाथ के माध्यम से Apple Silicon पर लोकल इन्फ़ेरेंस चलाता है, ताकि मॉडल पूरी तरह से आपके Mac के GPU पर इसकी यूनिफाइड मेमोरी का उपयोग करके चले — कोई डेटा डिवाइस नहीं छोड़ता और कोई PCIe कॉपी पेनल्टी नहीं होती। चूंकि बाधा केवल आपके पास कितनी यूनिफाइड मेमोरी है, osFoundry आपको अपने Mac के अनुसार साइज़ किया गया मॉडल चुनने में मदद करता है — 16GB मशीन पर 7B–8B मॉडल, 64GB+ मशीन पर 70B तक — और उपलब्ध मेमोरी में मॉडल को फिट करने के लिए जितना संभव हो उतनी गुणवत्ता बनाए रखते हुए क्वांटाइज़ेशन चुनता है, ताकि आपको GGUF फॉर्मेट या Q4/Q5/Q8 ट्रेड-ऑफ को मैन्युअली सोचना न पड़े। परिणाम पूरी तरह से प्राइवेट, ऑफलाइन-सक्षम लोकल इन्फ़ेरेंस है जो प्रत्येक Mac के मेमोरी टियर के अनुसार ट्यून किया गया है — और जब आपको तेज़ प्रॉम्प्ट प्रोसेसिंग या अधिक थ्रूपुट की आवश्यकता हो तो वही मॉडल एक dedicated GPU एंडपॉइंट पर स्केल आउट कर सकता है। (अंतर्निहित बैंडविड्थ कहानी के लिए, हमारी [CPU इन्फ़ेरेंस गाइड](/articles/running-llms-on-cpu) देखें।)
Frequently asked questions
- क्या Mac बिना dedicated GPU के लोकल रूप से बड़े भाषा मॉडल चला सकता है?
- हाँ — यही Apple Silicon की ताकत है। इसकी यूनिफाइड मेमोरी CPU और GPU के बीच साझा होती है और हाई-बैंडविड्थ है, इसलिए GPU पूरे मेमोरी पूल का उपयोग कर सकता है। एक 64GB Mac 4-बिट पर 70B मॉडल चला सकता है, जो 24GB डिस्क्रीट GPU में फिट नहीं होता, और छोटे मॉडल तेज़ चलते हैं। कोई अलग GPU की ज़रूरत नहीं।
- 7B, 30B, या 70B मॉडल चलाने के लिए मुझे कितनी यूनिफाइड मेमोरी चाहिए?
- 4-बिट क्वांटाइज़ेशन पर: 7B–8B मॉडल के लिए लगभग 16GB, लगभग 30B तक के लिए 32GB, और 70B के लिए 64GB (जो वज़न में लगभग 40GB है, कम कॉन्टेक्स्ट हेडरूम के साथ)। 128GB आपको उच्च प्रिसिजन पर 70B बड़े कॉन्टेक्स्ट के साथ चलाने देता है। KV cache के लिए हमेशा हेडरूम छोड़ें, जो कॉन्टेक्स्ट लेंथ के साथ बढ़ता है।
- क्या Apple Silicon पर MLX, llama.cpp से तेज़ है?
- अक्सर, छोटे मॉडलों पर — MLX Apple का फ्रेमवर्क है जो यूनिफाइड मेमोरी के लिए बनाया गया है और लगभग 14B से नीचे काफी तेज़ है, और यह mixture-of-experts मॉडल पर चमकता है। लगभग 27B से ऊपर दोनों एकत्रित होते हैं क्योंकि दोनों बैंडविड्थ-बाउंड हो जाते हैं। llama.cpp का फायदा बड़ी GGUF मॉडल लाइब्रेरी और क्रॉस-प्लेटफॉर्म सुसंगतता है। छोटे और MoE मॉडल पर पीक स्पीड के लिए MLX उपयोग करें।
- लंबे प्रॉम्प्ट पर मेरा Mac प्रतिक्रिया देने में धीमा क्यों है?
- क्योंकि प्रॉम्प्ट प्रोसेसिंग (पहले टोकन तक का समय) Apple Silicon का कमज़ोर पहलू है। Prefill कंप्यूट-बाउंड है और Apple के GPUs में वे dedicated tensor cores नहीं हैं जो NVIDIA इसके लिए उपयोग करता है, इसलिए एक लंबे प्रॉम्प्ट में पहला टोकन आने में कुछ समय लगता है — भले ही बाद में टोकन जनरेशन तेज़ हो। यह लंबे-कॉन्टेक्स्ट उपयोग के लिए मुख्य Apple-विशिष्ट सीमा है।
- Mac पर LLMs चलाने का सबसे तेज़ टूल क्या है?
- पीक परफॉर्मेंस के लिए, MLX-LM (Apple का फ्रेमवर्क), विशेष रूप से छोटे और MoE मॉडल पर। उपयोग में आसानी के लिए, Ollama (CLI प्लस एक OpenAI-compatible API) या LM Studio (सबसे अच्छा GUI) लोकप्रिय विकल्प हैं, और कई अब Apple Silicon पर MLX बैकएंड उपयोग करते हैं। सही विकल्प इस पर निर्भर करता है कि आप अधिकतम स्पीड या अधिकतम सुविधा चाहते हैं।
- क्या मैं 64GB MacBook Pro पर 70B मॉडल चला सकता/सकती हूं?
- हाँ, 4-बिट पर — Q4 पर 70B लगभग 40GB है, जो 64GB में रनटाइम और एक मामूली कॉन्टेक्स्ट विंडो के साथ फिट हो जाता है। यह Mac पर 70B के लिए व्यावहारिक प्रवेश बिंदु है; कॉन्टेक्स्ट हेडरूम सीमित है, इसलिए बड़े कॉन्टेक्स्ट या उच्च प्रिसिजन के लिए आप 128GB चाहेंगे। ठोस जनरेशन स्पीड की उम्मीद करें लेकिन लंबे प्रॉम्प्ट पर धीमा time-to-first-token।
- लोकल LLMs के लिए Apple Silicon या NVIDIA?
- Apple Silicon प्राइवेट, सिंगल-यूजर लोकल इन्फ़ेरेंस के लिए उत्कृष्ट है — बड़ी यूनिफाइड मेमोरी एक Mac को उन मॉडलों को चलाने देती है जिनके लिए कई डिस्क्रीट GPU की ज़रूरत होती है, कम पावर पर। NVIDIA रॉ बैंडविड्थ (कई गुना अधिक), प्रॉम्प्ट-प्रोसेसिंग स्पीड, हाई-कंकरेंसी सर्विंग, और इकोसिस्टम (CUDA) में जीतता है। व्यक्तिगत लोकल उपयोग और एक मशीन पर बड़े मॉडलों के लिए Apple चुनें; थ्रूपुट और लंबे-कॉन्टेक्स्ट सर्विंग के लिए NVIDIA।
Sources