मराठी बातम्या
ताज्या
देशाची पुन्हा दिवाळखोरीकडे वाटचाल सुरू आहे, असा इशारा माजी मंत्री रजिथा सेनारत्ने यांनी दिला.माजी राष्ट्रपती थंबुटेगामा येथील गरजू कुटुंबासाठी घरासाठी निधी देतातअब्जावधी रुपयांची कॅन्सर उपचार यंत्रे निष्क्रिय असल्याने रुग्णांना अधिक विलंब होतोसूर्याला एकाच वर्षात प्रत्येकी 2 अब्ज भारतीय रुपये कमावणाऱ्या तीन चित्रपटांची शक्यतापाकिस्तानमधील तारबेला जलविद्युत प्रकल्पात रिटेनिंग वॉल कोसळल्याची माहिती आहेमंत्री म्हणतात की आंतरराष्ट्रीय प्रसारक श्रीलंकेच्या पर्यटनासाठी समर्थन देतातनोचियागामा हत्येत कथित मदत केल्याप्रकरणी पोलिसांनी एका व्यक्तीला अटक केलीसिंहराजामध्ये कथित वन्यजीव नमुने गोळा केल्याप्रकरणी चार चिनी नागरिकांना कोठडी
एआय आणि तंत्रज्ञान

FlashAttention स्केलिंग, बहु-GPU प्रशिक्षण आणि वेट क्वांटायझेशन

केबल ट्रे आणि पाइप असलेल्या इमारत-सेवा छताचे प्रातिनिधिक चित्र, डेटा सेंटर नव्हे.
केबल ट्रे आणि पाइप असलेल्या इमारत-सेवा छताचे प्रातिनिधिक चित्र, डेटा सेंटर नव्हे.

आधुनिक AI पायाभूत सुविधा प्रचंड मॉडेलना कार्यक्षमतेने प्रशिक्षण देण्यासाठी आणि चालवण्यासाठी हार्डवेअर-अनुकूल अटेन्शन कर्नल, वितरित बहु-GPU समांतरता आणि लो-बिट क्वांटायझेशनवर अवलंबून असतात. ही तीन तंत्रे सैद्धांतिक मॉडेल आकार आणि GPUच्या भौतिक मर्यादा यांतील अंतर भरून काढतात.

1. Hopper (H100) GPUs वरील FlashAttention-2 आणि FlashAttention-3

मूळ FlashAttentionने मेमरी बँडविड्थचा अडथळा सोडवला असला, तरी आधुनिक GPUsवरील मूळ गणनाक्षमतेचा मोठा भाग वापराविना राहिला होता. FlashAttention-2 (2023) आणि FlashAttention-3 (2024) यांनी GPU थ्रेड आणि हार्डवेअर इंजिन यांच्यातील समन्वयाची पद्धत पुन्हा आखली.

  • FlashAttention-2 (कामाचे अधिक चांगले विभाजन).
  • नॉन-मॅटमल ऑपरेशन्स कमी करणे. GPU Tensor Cores मॅट्रिक्स गुणाकार (matmul) साधारण 16× अधिक वेगाने करतात, त्या तुलनेत प्रमाणित CUDA cores Softmax रीस्केलिंगसारखी स्केलर ऑपरेशन्स करतात. FlashAttention-2ने ऑनलाइन Softmaxचे गणित पुन्हा लिहून रीस्केलिंग अंतर्गत लूपच्या अगदी शेवटपर्यंत पुढे ढकलले, त्यामुळे संथ नॉन-मॅटमल सूचनांची संख्या कमी झाली.
  • अनुक्रमाच्या लांबीवर समांतरता. मूळ आवृत्ती मुख्यतः बॅचचा आकार आणि अटेन्शन हेड्स यांवर काम समांतर करत असे, त्यामुळे लांब अनुक्रम आणि लहान बॅचसह प्रशिक्षण करताना GPU cores निष्क्रिय राहत. FlashAttention-2 अनुक्रम-लांबीच्या परिमाणावर समांतरता जोडते आणि लूपचा क्रम उलटवते (Q ब्लॉक्सवर बाह्य लूप, K आणि V वर अंतर्गत लूप), ज्यामुळे संथ शेअर्ड-मेमरी लेखन कमीत कमी होते.
  • FlashAttention-3 (Hopper H100 हार्डवेअरचा वापर).
  • असिंक्रोनस डेटा हालचाल (TMA). NVIDIAच्या Hopper आर्किटेक्चरने Tensor Memory Accelerator (TMA) आणला. हे समर्पित हार्डवेअर युनिट गणना करणाऱ्या थ्रेड्सना अडकवून न ठेवता ग्लोबल HBM आणि ऑन-चिप SRAM यांच्यात डेटा कॉपी करते.
  • वॉर्प स्पेशलायझेशन (प्रोड्युसर-कन्झ्युमर मॉडेल). FlashAttention-3 GPU वॉर्प्सना (32 थ्रेड्सचे गट) समर्पित भूमिकांमध्ये विभागते. प्रोड्युसर वॉर्प्स TMA वापरून K आणि Vच्या आगामी टाइल्स SRAMमध्ये आधीच आणतात, तर कन्झ्युमर वॉर्प्स सध्याच्या टाइल्स Tensor Coresमध्ये पाठवतात (WGMMA सूचना). यामुळे मेमरी ट्रान्सफर, मॅट्रिक्स गणित आणि Softmax गणना एकाच वेळी ओव्हरलॅप होतात.
  • FP8 कमी-अचूकतेचा आधार. FlashAttention-3 Hopperचे FP8 Tensor Cores वापरात आणते, ज्यामुळे FP16च्या तुलनेत मूळ थ्रूपुट दुप्पट होतो. FP8मधील टोकाच्या अॅक्टिव्हेशनमुळे अचूकता कमी होऊ नये म्हणून ते ब्लॉक क्वांटायझेशन (छोट्या टाइल्सचे स्वतंत्र स्केलिंग) आणि इनकोहेरंट प्रोसेसिंग (क्वांटायझेशनपूर्वी टोकाची मूल्ये सौम्य करण्यासाठी Q आणि Kला यादृच्छिक ऑर्थोगोनल मॅट्रिक्सने गुणणे) वापरते.

2. बहु-GPU स्केलिंग धोरणे (3D समांतरता)

एखाद्या मॉडेलमध्ये दहा-दहा अब्ज किंवा शेकडो अब्ज पॅरामीटर असताना त्याचे वेट्स, ग्रेडियंट्स आणि ऑप्टिमायझर स्टेट्स एका GPUच्या VRAMपेक्षा जास्त जागा घेतात. मोठ्या प्रमाणावरील प्रशिक्षण तीन वेगळी समांतरकरण धोरणे एकत्र करते, ज्याला अनेकदा 3D समांतरता म्हणतात.

धोरणकाम कसे विभागतेसंवादातील अडथळासर्वोत्तम वापर
डेटा समांतरता (DP / FSDP)GPUsवर मॉडेलच्या प्रती ठेवते; प्रत्येक GPU डेटाची वेगळी बॅच प्रक्रिया करतो.GPUsदरम्यान ग्रेडियंट्स आणि विभागलेल्या वेट्सचे All-Reduce / All-Gather.लेयर्स एका उपकरणात मावत असताना शेकडो GPUsवर प्रशिक्षण थ्रूपुट वाढवणे.
टेन्सर समांतरता (TP)स्वतंत्र वेट मॅट्रिक्सचे (लेयर्सचे) GPUsमध्ये उभे किंवा आडवे विभाजन करते.प्रत्येक Transformer लेयरनंतर All-Reduce (अतिवेगवान NVLink आवश्यक).एका GPUमध्ये न मावणाऱ्या प्रचंड लेयर्स, काटेकोरपणे एकाच 8-GPU सर्व्हर नोडमध्ये ठेवलेल्या.
पाइपलाइन समांतरता (PP)मॉडेलचे खोलीनुसार विभाजन करून लेयर्सचे क्रमवार गट वेगवेगळ्या GPUsवर ठेवते.पाइपलाइन टप्प्यांदरम्यान पॉइंट-टू-पॉइंट (P2P) अॅक्टिव्हेशन ट्रान्सफर.तुलनेने संथ InfiniBand/Ethernet नेटवर्कने जोडलेल्या अनेक सर्व्हर नोड्सवर स्केल करणे.
  • डेटा समांतरता & ZeRO / FSDP. प्रमाणित डेटा समांतरतेत प्रत्येक GPU मॉडेलची पूर्ण प्रत ठेवतो, त्यामुळे मेमरी वाया जाते. आधुनिक फ्रेमवर्क्स ZeRO (Zero Redundancy Optimizer) किंवा PyTorch FSDP (Fully Sharded Data Parallel) वापरतात. ते पॅरामीटर, ग्रेडियंट्स आणि ऑप्टिमायझर स्टेट्स सर्व GPUsमध्ये विभागतात आणि प्रत्येक लेयरचे वेट्स गणनेसाठी नेमके वेळेत एकत्र आणतात.
  • टेन्सर समांतरता (लेयरच्या आत). प्रचंड फीड-फॉरवर्ड मॅट्रिक्स गुणाकार Y = XWची नक्कल करण्याऐवजी टेन्सर समांतरता Wचे स्तंभांनुसार GPUsमध्ये विभाजन करते (W = [W_1, W_2]). प्रत्येक GPU एकाच वेळी आउटपुटचा आपला अर्धा भाग मोजतो आणि हाय-स्पीड NVLinkमार्फत (H100sवर 900 GB/s) अंशतः परिणामांची देवाणघेवाण करतो.
  • पाइपलाइन समांतरता (लेयर्सदरम्यान). लेयर्स 1–8 GPU 1वर, लेयर्स 9–16 GPU 2वर, आणि पुढे याच पद्धतीने असतात. आधीच्या लेयर्स पूर्ण होण्याची वाट पाहताना पुढील GPUs निष्क्रिय राहू नयेत (हा "पाइपलाइन बबल") म्हणून फ्रेमवर्क्स प्रत्येक प्रशिक्षण बॅच लहान मायक्रो-बॅचमध्ये विभागतात, त्यामुळे असेंब्ली लाइनप्रमाणे सर्व GPUs व्यस्त राहतात.

3. क्वांटायझेशन (GPTQ, AWQ) आणि तत्काळ डीक्वांटायझेशन कर्नल

इन्फरन्सदरम्यान (एकेक टोकन तयार करताना) मोठी भाषा मॉडेल गणनाक्षमतेने नव्हे, तर मेमरी बँडविड्थने मर्यादित असतात. फक्त एक टोकन तयार करण्यासाठी VRAMमधून 70 अब्ज 16-bit पॅरामीटर (140 GB) लोड केल्याने Tensor Cores मेमरी ट्रान्सफरची वाट पाहत राहतात. क्वांटायझेशन वेट्सना 16-bit फ्लोट्समधून 4-bit पूर्णांकांमध्ये (INT4) संकुचित करते, त्यामुळे मेमरीचा आकार आणि ट्रान्सफरचा वेळ जवळपास 4× कमी होतो.

  • GPTQ (Hessian कॅलिब्रेशनद्वारे प्रशिक्षणोत्तर क्वांटायझेशन).
  • 16-bit वेट्सना सरळ राउंड करून 4-bit पूर्णांकांत बदलल्यास मॉडेलची अचूकता नष्ट होते. GPTQ मॉडेलमधून एक लहान कॅलिब्रेशन डेटासेट पाठवते आणि प्रत्येक वेट किती संवेदनशील आहे हे मोजण्यासाठी द्वितीय-क्रमाचे गणित (इन्व्हर्स Hessian मॅट्रिक्स) वापरते.
  • ते स्तंभानुसार वेट्सचे क्वांटायझेशन करते; एखादा वेट राउंड केल्याने त्रुटी निर्माण झाल्यास GPTQ त्या ओळीतील उरलेले, अद्याप क्वांटायझेशन न केलेले वेट्स गणिताने समायोजित करून ती त्रुटी भरून काढते.
  • AWQ (अॅक्टिव्हेशन-अवेअर वेट क्वांटायझेशन).
  • संशोधकांना आढळले की साधारण 0.1% ते 1% वेट चॅनेल इतरांपेक्षा खूप अधिक महत्त्वाचे असतात, कारण त्यांचा मोठ्या अॅक्टिव्हेशन मूल्यांशी गुणाकार होतो.
  • ते महत्त्वाचे वेट्स 16-bitमध्ये ठेवण्याऐवजी (ज्यामुळे गुंतागुंतीचे, संथ मिश्र-अचूकता मेमरी लेआउट तयार होतात), AWQ क्वांटायझेशनपूर्वी त्या ठळक वेट चॅनेल्सचे स्केल वाढवते आणि रनटाइमला संबंधित इनपुट अॅक्टिव्हेशनचे स्केल कमी करते. त्यामुळे 100% वेट्स एकसमान 4-bit स्वरूपात ठेवूनही अचूकता जपली जाते.
  • कस्टम CUDA कर्नल तत्काळ डीक्वांटायझेशन कसे करतात (W4A16).
  • GPUs 16-bit अॅक्टिव्हेशनचा (FP16) 4-bit पूर्णांक वेटशी (INT4) थेट गुणाकार करू शकत नाहीत. त्याऐवजी विशेष इन्फरन्स कर्नल (जसे Marlin किंवा ExLlama) W4A16 (4-bit वेट्स, 16-bit अॅक्टिव्हेशन्स) अंमलबजावणी करतात:
  • 1. संकुचित HBM वाचन: कर्नल संथ ग्लोबल VRAMमधून पॅक केलेले 4-bit वेट्स लोड करतो (एका 32-bit पूर्णांकात आठ INT4 मूल्ये पॅक केलेली), त्यामुळे मेमरी बँडविड्थचा वापर 4× कमी होतो.
  • 2. रजिस्टर-स्तरीय अनपॅकिंग: GPUच्या अतिवेगवान रजिस्टरमध्ये CUDA कर्नल जलद बिटवाइज शिफ्ट्स (>>) आणि बिटमास्क्स (&) वापरून INT4 पूर्णांक अनपॅक करतो आणि साठवलेले स्केल/झिरो-पॉइंट घटक लागू करून त्यांना तत्काळ FP16 मूल्यांमध्ये बदलतो.
  • 3. तत्काळ Tensor Core गणित: नुकतेच अनपॅक केलेले FP16 वेट्स, विस्तारित 16-bit वेट्स पुन्हा VRAMमध्ये कधीही न लिहिता, FP16 अॅक्टिव्हेशन्ससोबत थेट Tensor Coresमध्ये दिले जातात.

अधिक बातम्या: एआय आणि तंत्रज्ञान