Hugging Face ने टेंसर प्रोसेसिंग यूनिट समर्थन के लिए टॉर्चटीपीयू को पसंद किया।
टॉर्चटीपीयू ने PyTorch को मूल Tensor Processing Unit समर्थन जोड़ा, जिससे Hugging Face Transformers सरल हो गया और डिफ्यूज़र अतिरिक्त टूलींग के बिना चलता है।
मुख्य जानकारी
- TorchTPU PyTorch को मूल TPU समर्थन जोड़ता है, जिससे Hugging Face Transformers और डिफ्यूज़र बिना Optimum TPU के मॉडल चला सकते हैं।
- TPU का उपयोग मानक PyTorch रास्तों के माध्यम से किया जा सकता है, जैसे कि ट्रांसफार्मर में `device_map="tpu"∀ और डिफ़्यूज़र में ゙pipe.to("tpu")□, वैकल्पिक ≠torch.compile∂ और वितरित प्रशिक्षण के साथ।
- टॉर्चटीपीयू पैलास कर्नेल, Kernels Hub एकीकरण और टेंसर समानांतरवाद के माध्यम से बड़े वर्कलोड्स के लिए प्रदर्शन में सुधार करता है, जो बड़े बैच आकारों पर प्रमुख डिकोड स्पीडअप दिखाता है।
- टीपीयू समर्थन अभी भी परिपक्व हो रहा है: परीक्षण सूट 96.5% पासिंग टेस्ट की रिपोर्ट करता है, जिसमें विफलताओं को मुद्दों के रूप में ट्रैक किया जाता है और जरूरत पड़ने पर अपस्ट्रीम तय किया जा सकता है।
मेटा विवरणः TorchTPU ने PyTorch को मूल Tensor Processing Unit समर्थन जोड़ा है, जिससे Hugging Face Transformers और डिफ्यूज़र उपयोगकर्ता बिना Optimum TPU के मॉडल चला सकते हैं।
टैगः टॉर्चटीपीयू, पाइटॉर्च, टेंसर प्रोसेसिंग यूनिट, हगिंग फेस, डिफ्यूज़र
विशेष रुप से प्रदर्शित छवि: (अंग्रेज़ी में) ">"</string> एक चिप ग्रिड से जुड़ने वाले PyTorch-शैली के ग्राफ का अनुकूल अमूर्त चित्रण; कोई वास्तविक लोग, कोई लोगो, कोई पाठ नहीं।
TorchTPU PyTorch के लिए एक देशी बैकएंड के रूप में Google का Tensor Processing Unit या TPU जोड़ता है। परिवर्तन ट्रांसफार्मर और डिफ़्यूज़र के साथ Hugging Face मॉडल चलाने पर Optimum TPU की आवश्यकता को हटा देता है। पायटोरच उपयोगकर्ताओं के लिए, इसका मतलब है कि एक विशेष वर्कफ़्लो के बजाय एक अन्य डिवाइस टारगेट के तौर पर Tensor Processing Unit माना जा सकता है।
एक Tensor Processing Unit मैट्रिक्स गणित के लिए बनाया गया है
Google Tensor Processing Units को AI त्वरक के रूप में डिजाइन करता है जिसका मुख्य उद्देश्य मैट्रिक्स अंकगणित है जो तंत्रिका नेटवर्क का सबसे अधिक उपयोग करते हैं। कंपनी ने लगभग दस वर्षों तक इस हार्डवेयर पर काम किया है और इसका उपयोग अपने स्वयं के मॉडल, जेमिनी सहित प्रशिक्षित करने और सेवा देने के लिए करती है। TPUs एक एकल चिप से लेकर हजारों चिप्स के पॉड तक Google Cloud पर उपलब्ध हैं। वे सबसे उपयोगी होते हैं जब वर्कलोड को प्रशिक्षण या बड़े पैमाने पर सेवा के लिए बहुत अधिक कंप्यूटिंग की आवश्यकता होती है।
ऐतिहासिक पकड़ सॉफ्टवेयर था। टीपीयू टूलिंग TensorFlow और JAX के आसपास परिपक्व हो गया, जिसने PyTorch को अपनाना कम सीधा बना दिया। अब तक, पायटोरच उपयोगकर्ता पाइटॉर्च / एक्सएलए के माध्यम से TPUs तक पहुंचते थे, जिसे torch_xla के रूप में जाना जाता है। यह काम करता था, लेकिन आलसी टेन्सर का मतलब था कि कोड अपेक्षित से बाद में निष्पादित किया जा सकता है, छोटे परिवर्तन ग्राफ पुनर्मूल्यांकन को ट्रिगर कर सकते हैं, और डिबगिंग के बारे में तर्क करना आसान नहीं था।
Hugging Face ने Optimum TPU को टीपीयू पर 8 9 005 मॉडल अनुमान और प्रशिक्षण समर्थन देने के लिए बनाया। टॉर्चटीपीयू देशी समर्थन लाने के साथ, Optimum TPU को अब ट्रांसफार्मर और डिफ्यूज़र के साथ Hugging Face मॉडल चलाने की आवश्यकता नहीं है।
TorchTPU PyTorch कोड पथ को सरल रखता है
TorchTPU PyTorch के भीतर एक नए बैकएंड के रूप में TPU को पंजीकृत करता है। उपयोगकर्ता नियमित पायटोरच कोड लिखना जारी रख सकते हैं। इसमें टीपीयू के लिए ट्यून किए गए पल्लास कर्नेल, वितरित प्रशिक्षण का समर्थन और अधिक गति की आवश्यकता वाले मामलों के लिए टॉर्च.कॉम्पाइल इंटीग्रेशन शामिल हैं।
इसे TPU VM पर स्थापित करने के लिए एक कमांड की आवश्यकता होती है। अतिरिक्त सूचकांक मायने रखता है क्योंकि यह टॉर्च का CPU बिल्ड देता है। उस इंडेक्स के बिना, पाइप बहुत बड़ा क्यूडीए निर्माण खींचता है, जिसकी टीपीयू पर जरूरत नहीं है।
ट्रांसफार्मर और विसारक सीधे टीपीयू को लक्षित कर सकते हैं
ट्रांसफॉर्मर v5 एक विचार के आसपास बनाया गया था: मॉडल परिभाषाओं को सत्य का स्रोत बनाएं ताकि मॉडल अलग-अलग स्थानों पर चल सकें। इसमें अब टीपीयू शामिल हैं। TPU पर एक मॉडल लोड करने के लिए, उपयोगकर्ता device_map="tpu" पास करते हैं। मॉडल डिफ़ॉल्ट रूप से उत्सुक मोड में चलता है, और जरूरत पड़ने पर torch.compile या वितरित सेटअप का उपयोग किया जा सकता है।
डिफ्यूज़र अब टीपीयू को प्रथम श्रेणी के उपकरण के रूप में मानते हैं। प्रोटोटाइपिंग या डीबगिंग के लिए, उत्सुक मोड केवल पाइप.टू की आवश्यकता होती है "tpu") । तैनाती के लिए संकलित मोड एक संकलन कॉल जोड़ता है। मौजूदा पाइपलाइन और कोड समान रहते हैं, और बनाए रखने के लिए कोई TPU कांटा नहीं होता है। पहली कॉल ग्राफ़ का संकलन करती है, और उसी छवि आकार के साथ प्रत्येक बाद की कॉल इसे पुनः उपयोग करती है।
एक चिप के लिए बहुत बड़े मॉडलों के लिए, उपयोगकर्ता from_pretrained को TensorParallelConfig पास कर सकते हैं। ट्रांसफार्मर तब लोड होने पर चिप्स में विभाजित होता है, इसलिए पूर्ण मॉडल को कभी भी एक स्थान पर फिट नहीं होना पड़ता है। कई लोकप्रिय पाइपलाइन इसे बॉक्स से बाहर का समर्थन करते हैं, और जो लोग ऐसा नहीं करते हैं वे केवल tp_plan दूर होते हैं। Diffusers TPU गाइड में पूरी रेसिपी होती है। उदाहरणों को TP = 4 के साथ Cloud TPU v6e-4 पर चलाया गया था, प्रत्येक मॉडल चार चिप्स, bf16 परिशुद्धता और बैच 1 में बांटा गया था।
कर्नेल और टेंसर समानांतरता प्रदर्शन को ऊपर की ओर दिखाती है
Kernels Hub में उपयोग करने के लिए तैयार टीपीयू कर्नेल हैं जिन्हें कर्नेल्स लाइब्रेरी के साथ लोड किया जा सकता है। ये कोर पल्लास में लिखे गए हैं, जो हार्डवेयर पर निम्न-स्तरीय नियंत्रण देता है। टोकमैक्स पुस्तकालय से कर्नल भी लाए जा सकते हैं। रिलीज़ नोट्स एक मिक्सचर-ऑफ-एक्सपर्ट्स मॉडल में प्लग किए गए टोकामैक्स से एक रग्गेड-डॉट कर्नर दिखाते हैं।
लाभ बैच आकार के साथ बढ़ता है। बैच साइज 64 पर, डिकोडिंग Qwen3-30B-A3B पर 21.5x तेज और Gemma 4 26B-A4B पर 12.8x तेजी से होती है। इन डीकोड थ्रूपुट परिणामों को एक टीपीयू v6e -8 पर मापा गया था, जो डिफ़ॉल्ट कार्यान्वयन के साथ हब कर्नेल की तुलना करता है।
परीक्षण अभी भी प्रगति पर है
परियोजना पुस्तकालय परीक्षण सूट को चलाकर ट्रांसफार्मर में टीपीयू समर्थन में लगातार सुधार कर रही है। यह TPU पर एक रात का सीआई जोड़ने और https://huggingface.co/spaces/transformers-community/transformers-ci-dashboard पर ट्रांसफॉर्मर डैशबोर्ड में परिणाम उपलब्ध कराने के लिए काम कर रहा है। Transformers CI डैसबोर्ड का उद्देश्य अन्य त्वरक के बगल में TPU परिणाम दिखाना है, लेकिन कार्य अभी भी प्रगति पर है।
हर परीक्षण अभी तक हरा नहीं है। टीपीयू पर चलने वाले परीक्षणों में से, 96.5% पास होते हैं। प्रत्येक विफलता एक छोटी रीप्रो स्क्रिप्ट और टॉर्चटीपीयू रेपो पर एक मुद्दा बन जाती है। अब तक, 34 मुद्दों की सूचना दी गई है, और 19 पहले ही तय हो चुके हैं। TPU पर चलना भी स्टैटिककैश और Qwen3 टेंसर-समानांतर योजनाओं जैसे ट्रांसफार्मर में कुछ बग को पकड़ लिया गया था। वे अपस्ट्रीम ठीक कर दिए गए थे।
पाठक आगे क्या कर सकते हैं
PyTorch उपयोगकर्ताओं के लिए, व्यावहारिक प्रभाव यह है कि TPU अब एक अलग, अजीब रास्ता नहीं हैं। प्रारंभिक बिंदु TorchTPU स्थापित करना है, हब से एक मॉडल को पकड़ना और इसे "tpu" पर भेजना है। रिलीज़ नोट्स गिटहब पर टॉर्चटीपीयू की ओर इशारा करते हैं, केंद्र पर टीपीयू कर्नेल, और Cloud TPU प्रलेखन। यदि कोई चीज टीपीयु में टूट जाती है, तो परियोजना उपयोगकर्ताओं से समस्या खोलने के लिए कहती है ताकि अधिक उपयोगकर्ता इसका सामना करने से पहले विफलता पाई जा सके।

Comments (0)