18 पॉइंट द्वारा GN⁺ 2023-08-16 | 3 टिप्पणियां | WhatsApp पर शेयर करें
  • LLaMa inference code को pure C++ में दोबारा लिखे गए LLaMA.cpp की वजह से इसे Pixel5, M2 MacBook Pro, Raspberry Pi जैसे विभिन्न हार्डवेयर पर चलाया जा सकता है
  • बड़े models को आमतौर पर महंगे GPU की ज़रूरत होती है, तो यह कैसे संभव है?
  • GPU अपने बड़े memory bandwidth और compute capability की वजह से deep learning के लिए फायदेमंद होते हैं, लेकिन memory bandwidth अक्सर inference की bottleneck बन जाती है
    • क्योंकि वास्तविक computation के लिए HBM memory (RAM) से on-chip memory में डेटा ले जाना पड़ता है
  • LLaMa weights के लिए RAM usage में Quantization महत्वपूर्ण है
    • precision कम करने से model को memory में store करने के लिए आवश्यक memory की मात्रा को बहुत कम किया जा सकता है
    • quantization के ज़रिए model को store करने के लिए आवश्यक memory कम हो जाती है, जिससे वह standard datacenter GPU और high-end consumer GPU की memory में फिट हो सकता है
  • memory bandwidth transformer के sampling से जुड़े लगभग सभी कामों में limiting factor है
  • quantization जैसी विधियों से memory requirements कम कर दी जाएँ, तो serving बहुत आसान हो जाता है
  • यही distillation या "छोटे models को ज़्यादा लंबे समय तक train करना" का एक और कारण है

3 टिप्पणियां

 
breezymind 2023-08-17

मैंने लोकल मशीन पर LlamaCpp के साथ llama2 लोड करके embedding test किया।

https://breezymind.com/llamacpp-embedding

 
xguru 2023-08-17

HN की पहली टिप्पणी उपयोगी है

"जो लोग जिज्ञासु हैं, उनके लिए बता दूँ कि मॉडल को quantize करने पर एक लागत आती है.
https://oobabooga.github.io/blog/posts/perplexities/

मूल रूप से accuracy थोड़ी गिरती है और अजीब जवाब आ सकते हैं, साथ ही अपेक्षा से हटकर या hallucination पैदा होने की संभावना बढ़ जाती है. लेकिन जितने ज़्यादा parameters होते हैं, quality loss उतना कम होता है. इसलिए जब मॉडल का आकार बहुत बड़ा हो, तो यह अंतर लगभग नज़रअंदाज़ करने लायक हो जाता है. और यह सिर्फ inference की लागत है. training पूरी तरह अलग समस्या है और उसमें कहीं ज़्यादा power चाहिए.

इसके बावजूद, हम एक server rack में GPT3-स्तर का performance देख रहे हैं. यह सोचें कि सिर्फ 1 साल पहले तक ऐसा AI सचमुच जादू जैसा लगता था और इसे केवल बड़े data center में ही चलाया जा सकता था, तो यह एक बड़ी उपलब्धि है. मेरी साधारण समझ से bandwidth और memory size को raw computing की तुलना में बढ़ाना शायद आसान है, इसलिए हो सकता है कि जल्द ही हमारे पास सच में "smart" devices हों."

 
GN⁺ 2023-08-16
Hacker News राय
  • मॉडल को quantize करने की लागत, इससे होने वाली accuracy loss और असामान्य प्रतिक्रियाओं की संभावना पर लेख; हालांकि मॉडल के parameters जितने अधिक होते हैं, यह नुकसान उतना कम महत्वपूर्ण हो जाता है.
  • GPT3 के शानदार प्रदर्शन को रेखांकित करने वाला लेख, जो अब एक single server rack पर चल सकता है; यह उस AI की तुलना में बड़ा सुधार है जिसे पिछले साल बड़े data center की ज़रूरत थी.
  • एक टेक्स्ट जो बताता है कि token generation serial है और bandwidth से सीमित है, लेकिन prompt ingestion ऐसा नहीं है और 512+ batch पर चल सकता है.
  • Llama.cpp में अब ~4-bit quantization है, जो complexity को ज़्यादा प्रभावित नहीं करता. Q6_K की complexity लगभग FP16 जैसी है, लेकिन यह काफ़ी छोटा है.
  • Llama.cpp का असली जादू model sharding है, जो छोटे discrete GPU को prompt ingestion और model inference के कुछ हिस्से पूरी तरह offload करने देता है. यह generative AI क्षेत्र में अनोखा है.
  • GPU backends (OpenCL, Metal, CUDA, जल्द ही ROCm और Vulkan) Llama.cpp चलाने का पसंदीदा तरीका हैं. इनके बिना desktop पर 70B, या 16GB RAM वाले laptop पर 33B चलाना संभव नहीं है.
  • Go, Python और अन्य runtimes के साथ आसानी से विस्तार कर पाने की वजह से इस project की प्रशंसा की गई. इसका उपयोग करके Go में कई models को pull और run करने तथा उन्हें REST API से serve करने वाले tools बनाए गए.
  • AVX2 वाले modern CPU पर inference चलाना GPU से धीमा है, लेकिन इसका फायदा यह है कि इसमें RAM का एक single लंबा contiguous region मिल सकता है. हालांकि 4-bit quantization और x86_64 CPU पर fp32 के अलावा किसी और चीज़ से inference चलाने का विकल्प न होना एक बड़ी कमी है.
  • लेख में एक single Pi4 8gig पर 13B dataset, और तीन pi4 nodes पर 65B dataset की सफल replication का ज़िक्र है, जो इस तकनीक की accessibility दिखाता है.
  • latency के numbers पर चर्चा करते समय units को ढीले ढंग से इस्तेमाल करने के लिए लेख की आलोचना की गई.
  • लेख यह सवाल उठाता है कि जब अधिकांश workload memory-bound हैं, तो chip manufacturers chips में इतने अधिक functional units क्यों शामिल करते हैं.
  • Hacker News के बाहर आमतौर पर न मिलने वाली अनोखी सामग्री के लिए लेख की प्रशंसा की गई.
  • यह टेक्स्ट memory-limited token generation की transformer decoder में मौजूद सीमाओं पर चर्चा करता है, और भविष्य में hardware-friendly models की उम्मीद करता है.
  • लेख यह सवाल उठाता है कि महत्वपूर्ण memory bandwidth bottleneck को देखते हुए special hardware को इस तरह क्यों डिज़ाइन किया गया, और क्या software paradigm में बदलाव इस संतुलन को बदल सकता है.