एआई के साथ कोडिंग

Metal Performance Shaders PyTorch में समर्थित हैं 2.15

PyTorch 2.15 का लक्ष्य Apple Silicon मैक उपयोगकर्ता हैं जो Transformers , डिफ्यूज़र और ComfyUI चला रहे हैं। यह FP8 को float8_e4m3fn के माध्यम से जोड़ता है, गति LLM एफ.लाइनियर, सॉफ्टमैक्स और समूहीकृत मैटमुल के लिए धातु कर्नेल के साथ डिकोड करता है, और मेमोरी उपयोग में कटौती करता है। MoE मॉडल 5-6.5x तेजी से डीकोड करते हैं 2.14, Qwen3.6-35B-A3B तक पहुंचते हुए 61.3 tokens / s पर M3 Ultra । Complex64 LU और छोटे FP32 मैट्रिक्स प्रतिवर्तन भी धातु में जाते हैं।

Metal Performance Shaders PyTorch में समर्थित हैं 2.15

मुख्य जानकारी

  • PyTorch 2.15 स्थानीय मॉडल वर्कफ़्लोज़ के लिए एमपीएस बैकएंड को अधिक विश्वसनीय बनाकर Apple Silicon मैक समर्थन में सुधार करता है, जिसमें Transformers , डिफ्यूज़र और उपकरण जैसे कि ComfyUI शामिल हैं।
  • यह MPS पर FP8 समर्थन और समर्पित धातु कर्नेल के माध्यम से तेजी LLM डिकोडिंग जोड़ता है, मेमोरी उपयोग को कम करता है और token पीढ़ी की गति में सुधार करता है।
  • मिश्रित-विशेषज्ञ मॉडल में प्रमुख डिकोडिंग लाभ दिखाई देते हैं, कुछ परीक्षणों में PyTorch 2.14 के मुकाबले 5376.5x तेजी से MoE को डीकोड करने की सूचना दी गई है।
  • मेटल पर अब अधिक रैखिक बीजगणित और प्रशिक्षण संचालन कुशलतापूर्वक चल रहे हैं, जिसमें जटिल 64 फैक्टराइजेशन, छोटे मैट्रिक्स प्रतिवर्तन, क्यूआर अपघटन और बेहतर एसवीडी मजबूती शामिल है।
  • कुछ इमेज/वीडियो वर्कफ़्लो के लिए वीडियो मेमोरी उपयोग में तेजी से गिरावट आती है, और एमपीएस पर कई शुद्धता मुद्दे तय किए जाते हैं, जैसे दूषित छवि एन्कोडिंग।

मेटा विवरणः PyTorch 2.15 मैक पर स्थानीय मॉडल बिल्डरों के लिए FP8 को जोड़ता है, तेजी से LLM डिकोडिंग, कम वीडियो मेमोरी और एमपीएस में सुधार करता है।

Metal Performance Shaders are supported in PyTorch 2.15

टैगः PyTorch 2.15, Apple Silicon , MPS, FP8, LLM डिकोडिंग

विशेष रुप से प्रदर्शित छवि: अमूर्त मैत्रीपूर्ण चित्रण शैली जिसमें कोई वास्तविक व्यक्ति, कोई लोगो और कोई पाठ नहीं है।

PyTorch 2.15 का उद्देश्य उन लोगों के लिए है जो Transformers , डिफ्यूज़र, या उपकरण जैसे कि ComfyUI के साथ Apple Silicon मैक पर मॉडल चलाते हैं। यह तीन व्यावहारिक समस्याओं को लक्षित करता हैः मेमोरी उपयोग, token पीढ़ी की गति और ऑपरेशन जो पहले मैक ग्राफिक्स पथ पर विश्वसनीय रूप से काम नहीं करते थे। Hugging Face में PyTorch टीम कहती है कि 2026 की शुरुआत में, एमपीएस बैकएंड पर छोटे मॉडलों को भी असमर्थित संचालन, तेज मंदी और अप्रत्याशित रूप से बढ़े हुए स्मृति उपयोग के कारण वर्कअराउंड की आवश्यकता हो सकती है। उनका कार्य भाषा, छवि और वीडियो कार्यों में Hugging Face Hub से वास्तविक मॉडल का परीक्षण करता है, फिर सुधारों को अपस्ट्रीम भेजता है PyTorch , अक्सर MPSGraph से मकसद-निर्मित धातु कर्नेल में स्थानांतरित होता है।

मैक उपयोगकर्ताओं के लिए पहले क्या बदलता है

रिलीज़ के लिए macOS 15 या बाद में और Python 3.11 या बाद की आवश्यकता होती है। यदि operating system बहुत पुराना है या कोई Metal GPU उपलब्ध नहीं है, तो एमपीएस उपलब्धता जांच अब कारण रिपोर्ट करती है। यह उन स्थानीय वर्कफ़्लो के लिए मायने रखता है जो पहले CPU निष्पादन पर वापस आ गए थे या जब एक ऑपरेशन मैक पर समर्थित नहीं था तब विफल हो गया था।

LLM डिकोडिंग तेज और छोटा हो जाता है

FP8 समर्थन torch.float8_e4m3fn टेंसर के माध्यम से MPS पर आता है। प्रत्येक मान एक बाइट का उपयोग करता है, जो कि FP16 या BF16 की आधी स्टोरेज है। गुणन में F.scaled_mm का उपयोग किया जाता है, जिससे tensorwise और rowwise स्केलिंग का समर्थन होता है। यह मैक उपयोगकर्ताओं को मेमोरी में बड़े वजन रखने का तरीका देता है जबकि अभी भी GPU मैट्रिक्स गुणा का उपयोग कर रहा है, और यह अधिक ऑपरेशन उनके CUDA और CPU समकक्षों की तरह व्यवहार करता है।

token पीढ़ी में, डिकोड चरण एक समय में एक नया token संसाधित करता है, इसलिए मैट्रिक्स-भारी परतें मैट्रिक-वेक्टर उत्पादों की तरह व्यवहार करती हैं। हालांकि टार्च.एमएम के लिए मैट्रिस वेक्टर कर्नेल को 2.14 में जोड़ा गया था, एफ.लाइनर अभी भी एमपीएसग्राफ पथ का उपयोग किया जाता है। 2.15 में, F.linear आम [1, 1, hidden_size] डीकोडिंग इनपुट के लिए उन कोरों का उपयोग कर सकता है, और योग्य पूर्वाग्रह जोड़ फ्यूज्ड होते हैं। वास्तविक मॉडल से 96 बीएफ 16 लेयर आकृतियों पर मापा जाने वाला ज्यामितीय-औसत त्वरण 1.23x है। मिश्रण-विशेषज्ञ गेट जैसे छोटे अनुमानों के लिए लाभ सबसे बड़ा होता है; बड़ी परतें और भाषा-मॉडल हेड्स पहले से ही bandwidth -बाउंड के करीब थे और 1x के पास रहते थे।

नमूनाकरण भी तेज हो जाता है. softmax और log_softmax समर्पित धातु कर्नेल का उपयोग करते हैं। लॉजिट की [1, 11] पंक्ति पर एक FP32 सॉफ्टमैक्स 57 माइक्रोन सेकंड से 7 माइक्रोसेकेंड तक गिरता है, जो एमपीएसग्राफ संस्करण की तुलना में लगभग 8 गुना तेजी से होता है। रिलीज़ अन्य सामान्य शब्दावली आकारों में समान लाभ नोट करता है।

मिश्रण-विशेषज्ञ मॉडल विभिन्न विशेषज्ञों के लिए अलग token गिनती रूट। समूहीकृत मैट्रिक्स गुणन एक ऑपरेशन में उन असमान समूहों को संभालता है, और 2.15 एमपीएस एक देशी कार्यान्वयन देता है। 2.14 में, समूहित matmul ने CPU पर समूह ऑफसेट की प्रतिलिपि बनाई और समूहों पर लूप किया। नए धातु कर्नेल ऑफ़सेट्स को सीधे GPU पर पढ़ते हैं, जहां उपलब्ध हो Metal Performance Primitives का उपयोग करते हुए और कहीं और एक अलग धातु पथ; छोटे समूह, डिकोडिंग के दौरान आम होते हैं, अपने स्वयं के नाभिक प्राप्त करते हैं। रिलीज़ मूल रूप से समुहबद्ध matmul, कम GPU - CPU सिंक और तेज़ टॉप-के राउटिंग को लाभ देती है।

Metal Performance Shaders are supported in PyTorch 2.15

रिलीज़ सारांश में कहा गया है कि MoE मॉडल torch.compile के साथ एक M3 Ultra पर 5-6.5x तेज़ी से डिकोड करते हैं, Qwen3.6-35B-A3B 9.4 से 61.3 tokens / s तक जाता है, और LFM2.5-8B-A1B 23.6 से 123.6 tokens / s। परीक्षण किए गए M3 Ultra टॉर्च.कॉम्पाइल पथ के लिए एक अलग MoE थ्रूपुट नोट 1.3x प्रति सेकंड के बारे में रिपोर्ट करता है।

रैखिक बीजगणित और प्रशिक्षण संचालन धातु में स्थानांतरित करें

कॉम्प्लेक्स 64 टेन्सर अब एमपीएस पर एलयू फैक्टराइजेशन, एलयू हल और त्रिकोणीय समाधान का उपयोग कर सकते हैं। यह जटिल निर्धारकों सहित आश्रित संचालन और ढाल को भी अनलॉक करता है। रिलीज में एक छोटी प्रणाली शामिल है जो सीधे MPS पर हल की जाती है 2.15

4x4 तक के छोटे FP32 मैट्रिक्स बैचों को एक धातु कर्नेल में उलट दिया जाता है जो कैमरा ज्यामिति और छवि परिवर्तनों के लिए उपयोगी फैक्टराइजेशन और समाधान को जोड़ती है। QR अपघटन अवरुद्ध अपडेट का उपयोग करता है, और त्रिकोणीय हल उनके काम का अधिकांश भाग कुशल मैट्रिक गुणन में बदल देता है। Gated DeltaNet वर्कलोड्स को 16x16, 32x32, और 64x64 एफपी 32 त्रिभुज प्रणालियों के कम से कम आठ दाहिने पक्ष वाले बैच के लिए समर्पित फास्ट पथ मिलता है।

एसवीडी संख्यात्मक चरम पर अधिक मजबूत है। यह बहुत छोटे असाधारण मूल्यों, बहुत बड़े या बहुत छोटे इनपुट परिमाणों और पूर्ण_मैट्रिक्स = ट्रू के साथ आधार पूरा करने को संभालता है, जिससे छद्म-विपरित और न्यूनतम वर्ग परिणाम अधिक विश्वसनीय हो जाते हैं। ऑडियो मॉडल, वीडियो डिकोडर और प्रशिक्षण लूप भी घुमावदार, पैडिंग, ड्रॉपआउट, इंटरपोलेशन बैकवर्ड और कटौती के लिए नए धातु पथ प्राप्त करते हैं।

वीडियो मेमोरी ड्रॉप, छवि संपादन सही हो जाता है

सबसे स्पष्ट व्यावहारिक परिवर्तनों में से एक मेमोरी है। Wan-AI/Wan2.2-TI2V-5B-Diffusers पूर्ण 28-टाइल डिकोड के दौरान पैडिंग कॉल करता है। धातु पर पैडिंग के साथ, उच्चतम रिपोर्ट किए गए ड्राइवर स्मृति उपयोग लगभग 270 गीगाबाइट्स से 8 गीगाबाईट्स तक गिर जाता है।

वही पैडिंग परिवर्तन एक शुद्धता समस्या को ठीक करता है। 2.14 पर, Qwen -इमेज- 2.1 वीएई एन्कोडर ने एमपीएस पर मूक रूप से भ्रष्ट छवियों को तोड़ दिया, ComfyUI में रिपोर्ट किए गए छवि-संपादन वर्कफ़्लो को तोड़ा। फिक्स के बाद, समान एनकोड-डेकोड परीक्षण अब CPU परिणाम से मेल खाता है 29.95 डीबी पीएसएनआर, पहले की तुलना में [२५ डीबी].

अधिक नियंत्रण और व्यापक संचालन कवरेज

PyTorch 2.15 सार्वजनिक एमपीएस धाराओं और अधिक विश्वसनीय घटना समय को उजागर करता है। torch.mps.Stream और टार्च.एमपीएस.स्ट्रीम संदर्भ प्रबंधक Python कोड को स्ट्रीम चुनने देते हैं, और Tensor.record_stream आवंटितकर्ता को किसी अन्य स्ट्रीम पर उपयोग किए जाने वाले टेन्सर का ट्रैक करने देता है।

MPS पर अब और अधिक ऑपरेशन काम करते हैंः torch.frexp, torche.logspace, Torche.take तथा Tensor.put_, torch .heaviside, torce.special.laguerre_polynomial_l, और unsigned-integer comparisons। अभी तक एक से अधिक तत्वों वाले पूर्णांक या बूलियन आउटपुट का समर्थन नहीं करता है।

Metal Performance Shaders are supported in PyTorch 2.15

स्केल किए गए डॉट-उत्पाद ध्यान का एमपीएस गणित कार्यान्वयन अब बैच और हेड प्रसारण को सही ढंग से संभालता है।

PyTorch 2.16 क्या जोड़ सकता है

2.16 पर काम चल रहा है। कुछ बदलाव मुख्य और नाइटलीज़ में हैं; अन्य अभी भी समीक्षा के अधीन हैं, इसलिए रिलीज से पहले विवरण बदल सकते हैं।

एक 2048- token संदर्भ में संकलित BF16 डिकोडिंग के लिए, 2.16 हर 16 कर्नेल पर कमांड बफर को प्रतिबद्ध करने की योजना बना रहा है। एक बार डिकोड पथ में अब MPSGraph ऑपरेशन नहीं होते हैं, तो यह GPU को काम शुरू करने देता है जबकि CPU अभी भी बाद के कोर को एन्कोड कर रहा है.

स्केल्ड डॉट-प्रोडक्ट ध्यान पूरी तरह से मेटल पर जाने की उम्मीद है। नियोजित पथ डिकोडिंग के लिए समर्पित वेक्टर कर्नेल का उपयोग करता है और 2.15 नए macOS संस्करणों पर आधे सटीक प्रीफिल के लिए। आकार जो पहले एमपीएसग्राफ में वापस आ गए थे, उन्हें सबसे अधिक लाभ होना चाहिए। एक M5 Pro, 32 क्वेरी हेड, 8 केवी हेड्स, हेड आयाम 80 और एक 4K संदर्भ 465 माइक्रोसेकंड से 65 माइक्रोकॉन्ड तक गिर जाता है। सिर आयाम 40 के साथ 4Kx4K प्रीफ़िल 42 मिलीसेकेंड से 6 मिली सेकंड तक जाता है.

बैच मानक आगे और पीछे की ओर प्रगति कर रहे हैं. एमएसई हानि को छोटे इनपुट पर 12x तक तेजी से, std_mean और var _ mean 4x तक तेज बताया जाता है, और bincount लैंड हो गया है। एक बिनकाउंट मामले में, जब अधिकांश मान एकल बिन में आते हैं, तो 4 मिलियन पूर्णांक गिनने के लिए 6.8 सेकंड लगते थे और अब आधा मिलीसेकंड लगता है।

बंडल किए गए शेडर डिफ़ॉल्ट रूप से धातु 3.1 के लिए बनाए जाएंगे, जिसमें धातु 4 संस्करण केवल उन कर्नेलों के लिए संकलित होते हैं जिनकी आवश्यकता होती है। यह libtorch_ CPU .dylib को लगभग 25% द्वारा 384 MiB से 287 MiB तक सिकुड़ता है, और तेज़ मैट्रिक्स गुणन और मूल FP8 मैट्रिक गुणा के साथ धातु 4.1 शेडर्स की तैयारी करता है।

किसे इसका उपयोग करना चाहिए और किसको इसे छोड़ना चाहिए

2.15 यदि आपके पास Apple Silicon मैक है जो macOS 15 या बाद में चल रहा है, और आप कम मेमोरी वाले FP8 टेंसर चाहते हैं, तो तेजी से घने या मिश्रण-विशेषज्ञ डीकोडिंग, सुधारित Qwen -इमेज- 2.1 संपादन, या Wan2.2 वीडियो डिकोडिंग के लिए बहुत कम पीक स्मृति। इसे एक अलग वातावरण में रिलीज़ उम्मीदवार के रूप में आज़माया जा सकता है। अगर आपका मैक operating system या Python आवश्यकताओं को पूरा नहीं कर सकता है, या यदि कोई Metal GPU उपलब्ध नहीं है.

टीम का कहना है कि अगला फोकस मेटल पर ध्यान और अधिक ऑपरेशन रखना, टॉर्च.कॉम्पाइल में ग्राफ ब्रेक को कम करना और धीमे, लापता या टूटे हुए व्यवहार के लिए GitHub पर फीडबैक स्वीकार करना है। यह क्रेडिट Nikita Shulga, Kurt Mohler और Aaron Gokaslan इस रिलीज में एमपीएस में योगदान देने वाले सभी लोगों के साथ-साथ काम की समीक्षा करने के लिए।

Comments (0)

  1. No comments yet. Be the first to share what worked for you.

Leave a comment

Comments are reviewed before they appear. Your email address is not published.