विस्तृत विश्लेषण · लगभग 7 मिनट पढ़ना
Trainium पर Qwen3: वज़न और कर्नेल जाँचने के लिए torchtitan के तीन रास्ते
AWS की 21 अक्टूबर की मार्गदर्शिका एक Trainium2 इंस्टेंस पर Transformers, मूल Qwen3 और NKI कर्नेल जोड़ती है; गति या लागत में बढ़त सिद्ध नहीं करती।
- यहाँ प्रकाशित
- स्रोत की तारीख
- स्रोत जाँचा गया
AWS की 21 अक्टूबर की तकनीकी मार्गदर्शिका बताती है कि Trainium पर torchtitan से Qwen3 को तीन विन्यासों में कैसे प्रशिक्षित किया जा सकता है: Transformers v5 बैकएंड, torchtitan का मूल मॉडल और NKI कर्नेल वाला छोटा किया गया मिश्रित-विशेषज्ञ उदाहरण। उपयोगी प्रगति एक ठोस एकीकरण प्रक्रिया है, जिसमें चेकपॉइंट और संख्यात्मक जाँच भी हैं। यह नया Qwen मॉडल जारी होना या सस्ता प्रशिक्षण साबित करने वाला बेंचमार्क नहीं है।
समाचार सुनें
यह लेख सुनें या समाचार लगातार चलाएँ।
पढ़ने की तैयारी हो रही है…
डिवाइस की आवाज़
वाक् प्रक्रिया आपके ब्राउज़र या डिवाइस में होती है। AISubHub पाठ किसी ऑडियो API को नहीं भेजता। आवाज़ों और लॉक स्क्रीन पर चलने की सुविधा डिवाइस पर निर्भर है।
जारी करने पर छोटा वाक्यांश दोहराया जा सकता है।
मुख्य बातें
- मार्गदर्शिका एक trn2.48xlarge का उपयोग करती है: 16 Trainium2 एक्सेलरेटर, 128 भौतिक NeuronCore और LNC=2 पर 64 तार्किक NeuronCore। लॉन्च में 64 प्रशिक्षण प्रक्रियाएँ शुरू होती हैं।
- सघन मॉडल के उदाहरण Qwen3-4B-Instruct-2507 की फ़ाइलें और c4_test पर दस प्रशिक्षण चरण इस्तेमाल करते हैं। MoE उदाहरण चार परतों और 64 विशेषज्ञों तक छोटा किया गया है; प्रत्येक टोकन के लिए चार विशेषज्ञ चुने जाते हैं। यह पूरे, अपरिवर्तित 30B-A3B मॉडल का प्रशिक्षण नहीं है।
- AWS प्रकाशित वज़नों से पहले चरण का लॉस 6.54 और यादृच्छिक आरंभीकरण से 12.43 बताता है। उसके कस्टम रोटरी एम्बेडिंग परीक्षण में float32 इनपुट पर अधिकतम निरपेक्ष अंतर 0.0 है। ये अलग-अलग बातों की जाँच करते हैं।
एक डिवाइस एकीकरण, मॉडल बदलने की तीन जगहें
TorchNeuron, Trainium को PyTorch में मूल neuron डिवाइस के रूप में पंजीकृत करता है, जिससे torchtitan सामान्य इंटरफ़ेस इस्तेमाल कर सकता है। पहले रास्ते में Transformers v5, AutoModelForCausalLM के माध्यम से मॉडल बनाता है। दूसरे में config.model_spec से torchtitan का अपना Qwen3 कार्यान्वयन चुना जाता है। तीसरे में मिश्रित-विशेषज्ञ परतों के लिए Trainium-विशिष्ट NKI ऑपरेटर और कस्टम प्रतिस्थापन दिखाया गया है। ये साझा प्रशिक्षण प्रवेश-बिंदु के पीछे के कार्यान्वयन विकल्प हैं, तीन नए Qwen मॉडल नहीं।
मार्गदर्शिका torch 2.14.0, torch_neuronx 2.14.3, Transformers 5.16.0 और torchtitan-neuron release-2.33 के संस्करण 0.2.2+neuron.1 को निश्चित करती है। Neuron Deep Learning AMI या ऐसा प्रशिक्षण कंटेनर चाहिए जिसमें ड्राइवर, रनटाइम और कंपाइलर हों। हमारा आकलन है कि परिचित PyTorch कोड एकीकरण का दायरा छोटा करता है; इससे जाँची गई निर्भरताओं का संयोजन वैकल्पिक नहीं हो जाता। AWS स्पष्ट चेतावनी देता है कि Transformers एकीकरण और प्रतिस्थापन मॉड्यूल torchtitan संस्करणों के बीच बदल सकते हैं।
4B विधि आरंभीकरण और चेकपॉइंट की पोर्टेबिलिटी जाँचती है
पहला विन्यास Qwen/Qwen3-4B-Instruct-2507 चुनता है, c4_test इस्तेमाल करता है, दस चरण और स्थानीय बैच आकार एक रखता है तथा डेटा-समानांतर स्थिति को शुरू हुए 64 रैंक में विभाजित करता है। वास्तु-संरचना लोड करना और प्रकाशित वज़न लोड करना अलग बातें हैं। फ़ाइन-ट्यूनिंग विन्यास डाउनलोड की गई फ़ाइलों से चेकपॉइंट लोड करना स्पष्ट रूप से सक्षम करता है और अंतिम मॉडल Hugging Face safetensors में निर्यात करता है। पहले चरण का बताया गया लॉस प्रकाशित वज़नों पर 6.54 और यादृच्छिक आरंभीकरण पर 12.43 है।
यह अंतर आरंभीकरण जाँचने में उपयोगी है; यह प्रमाण नहीं कि दस चरणों से बेहतर सहायक बन गया या अंतिम अभिसरण हो गया। AWS निर्यात किए चेकपॉइंट को Transformers से दोबारा लोड कर उसकी कुंजियाँ भी जाँचता है और एम्बेडिंग से साझा lm_head.weight को ध्यान में रखता है। मूल मॉडल वाला रास्ता qwen3_32b बिल्डर से शुरू होता है, क्योंकि जाँचे गए संस्करण में सामान्य 4B बिल्डर नहीं है। फिर मॉडल विनिर्देश को 4B से बदलकर वैश्विक बैच आकार 64 किया जाता है। बिल्डर के नाम का अर्थ यह नहीं कि उदाहरण ने 32B मॉडल प्रशिक्षित किया।
MoE विन्यास जानबूझकर अपने मॉडल परिवार से छोटा है
Qwen3-30B-A3B विधि को एक इंस्टेंस में समाने के लिए चार परतों और 64 विशेषज्ञों तक घटाया गया है। top_k=4 हर टोकन को चार विशेषज्ञों तक भेजता है। स्रोत 64 रैंक में डेटा-समानांतर विभाजन और टेन्सर समानांतरता का स्तर एक उपयोग करता है; विशेषज्ञ समानांतरता नहीं। विशेषज्ञों की संख्या मॉडल का आंतरिक विन्यास है, विशेषज्ञ-समानांतर डिवाइसों की संख्या नहीं। इस भेद से छोटे एकीकरण प्रदर्शन को मूल पूरे मॉडल के प्रशिक्षण का दावा बनाने से बचा जा सकता है।
इस उदाहरण के विन्यास में संकलन बंद है और निष्पादन eager मोड में होता है। पंजीकृत NKI ऑपरेटर torch.compile के साथ भी समर्थित हैं, लेकिन निष्पादन मोड बदलना अलग निर्णय है। जाँचे गए संस्करण में यह विधि MoE ब्लॉक को समूहबद्ध विशेषज्ञ कर्नेल से बदलती है और स्केल्ड डॉट-प्रोडक्ट अटेंशन तथा gather के बिना रोटरी एम्बेडिंग चुनती है। AWS बताता है कि फ़ॉरवर्ड पास में सहेजी जानकारी से ऑपरेटरों का autograd कार्यान्वयन कैसे जोड़ा जाता है। वह इस विशिष्ट विन्यास के तेज़ होने का थ्रूपुट तुलनात्मक प्रमाण नहीं देता।
कस्टम कर्नेल में लेआउट, ग्रेडिएंट और लक्ष्य की जाँच ज़रूरी है
रोटरी एम्बेडिंग का उदाहरण दिखाता है कि पंजीकरण केवल कर्नेल कॉल करना नहीं है। torchtitan में query और key का क्रम बैच, अनुक्रम, हेड और हेड आयाम है; rope_hf बैच, हेड, अनुक्रम और हेड आयाम अपेक्षित करता है। रैपर लेआउट बदलता है, आउटपुट के लिए जगह देता है और फिर क्रम वापस बदलता है। अलग बैकवर्ड ऑपरेटर सहेजा हुआ रोटरी कैश दोबारा उपयोग करता है; कैश का अपना ग्रेडिएंट नहीं होता। अनुक्रम लंबाई 128 गुणा LNC की गुणज होनी चाहिए: LNC दो होने पर 256 की गुणज।
इसके बाद प्रतिस्थापन रजिस्ट्री इच्छित मॉड्यूल का विन्यास बदलती है। स्टार्टअप लॉग में Qwen3 की प्रत्येक परत के लिए एक nki_rope प्रतिस्थापन दिखना चाहिए; अधिक सीमित नाम पैटर्न से कुछ परतें चुनी जा सकती हैं। AWS, PyTorch कार्यान्वयन के साथ float32 तुलना में query और key दोनों के लिए अधिकतम निरपेक्ष अंतर 0.0 बताता है। इससे उसी संख्यात्मक परीक्षण की पुष्टि होती है, हर डेटा प्रकार, आकार या प्रशिक्षण की नहीं। लेख स्पष्ट रूप से इसे कर्नेल और autograd का एकीकरण उदाहरण कहता है, प्रदर्शन सुधार नहीं।
मार्गदर्शिका को मापे जा सकने वाले पायलट में बदलें
पहले चरण में संकलन शामिल होता है, इसलिए वह बाद के चरणों से अधिक समय लेता है। प्रशिक्षण लॉग लॉस, ग्रेडिएंट नॉर्म, उच्च-बैंडविड्थ मेमोरी उपयोग, थ्रूपुट और मॉडल FLOPs उपयोग बताते हैं, लेकिन मार्गदर्शिका नियंत्रित परिस्थितियों में संपूर्ण लागत की तुलना नहीं देती। मॉडल आकार, अनुक्रम लंबाई या स्थानीय बैच बढ़ने पर प्रति-रैंक मेमोरी व्यावहारिक सीमा रहती है। बहुआयामी DeviceMesh पर टेन्सर समानांतरता को पूरी तरह विभाजित डेटा समानांतरता से जोड़ा जा सकता है; दिखाए MoE विन्यास को उस बड़े प्रयोग के बराबर न मानें।
AISubHub का सुझाव है कि जाँचे संस्करण सुरक्षित रखें, चुने मॉडल और 64 रैंक की पुष्टि करें, चेकपॉइंट लोड और निर्यात जाँचें तथा लंबी प्रक्रिया से पहले कस्टम कर्नेल आउटपुट की तुलना करें। फिर वार्म-अप और लगातार निष्पादन को अलग मापें और इच्छित डेटा पर अभिसरण परखें। किराए का हार्डवेयर रोकने या समाप्त करने से पहले आवश्यक चेकपॉइंट सहेजें। ये मार्गदर्शिका से निकले मूल्यांकन चरण हैं, हमारे पुनरुत्पादित परिणाम नहीं। इनसे सदस्यता अधिकार, मुफ्त प्रशिक्षण सीमा या Trainium की सार्वभौमिक बढ़त स्थापित नहीं होती।
यह क्यों अहम है
AISubHub का विश्लेषण: पूर्ण प्रशिक्षण कार्यभार शुरू करने से पहले टीमें मॉडल संगतता, चेकपॉइंट की पोर्टेबिलिटी और कर्नेल की शुद्धता को छोटे सत्यापन कार्यों में बाँट सकती हैं। साझा लॉन्च संरचना विधियों के बीच बदलाव घटाती है, लेकिन संस्करण, मेमोरी, संकलन और संख्यात्मक व्यवहार की शर्तें समाप्त नहीं करती।
सीमाएँ और उपलब्धता
यह AWS के Josh Longenecker और Alex Hoffman की तकनीकी मार्गदर्शिका है, AISubHub का हार्डवेयर परीक्षण नहीं। इसमें तुलनीय संपूर्ण प्रशिक्षण लागत, अंतिम अभिसरण परिणाम या कस्टम कर्नेल से सिद्ध गति-वृद्धि नहीं दी गई है। इंस्टेंस की उपलब्धता और शुल्क, सटीक सॉफ़्टवेयर संस्करण तथा अपने कार्यभार का सत्यापन संचालक की ज़िम्मेदारी हैं। उपभोक्ता सदस्यता का कोई लाभ घोषित नहीं किया गया।
स्रोत और प्रमाण
स्रोत की तारीख: · स्रोत जाँचा गया:
AI की सहायता से लिखे लेखों को दिए गए प्राथमिक स्रोतों से जाँचा जाता है। प्रदाता के दावों का श्रेय स्पष्ट है; सूची में होना समर्थन नहीं है।