आर्म एमएल टूलिंग द्वारा अनुरक्षित
यह दस्तावेज़ वजन क्लस्टरिंग पर एक सिंहावलोकन प्रदान करता है ताकि आपको यह निर्धारित करने में मदद मिल सके कि यह आपके उपयोग के मामले में कैसे फिट बैठता है।
- एंड-टू-एंड उदाहरण में सीधे गोता लगाने के लिए, वेट क्लस्टरिंग उदाहरण देखें।
- अपने उपयोग के मामले के लिए आवश्यक एपीआई को शीघ्रता से खोजने के लिए, वेट क्लस्टरिंग व्यापक मार्गदर्शिका देखें।
अवलोकन
क्लस्टरिंग, या वज़न साझा करना, मॉडल में अद्वितीय वज़न मानों की संख्या को कम करता है, जिससे परिनियोजन के लिए लाभ होता है। यह पहले प्रत्येक परत के भार को N समूहों में समूहित करता है, फिर क्लस्टर से संबंधित सभी भारों के लिए क्लस्टर के केंद्रक मान को साझा करता है।
यह तकनीक मॉडल संपीड़न के माध्यम से सुधार लाती है। भविष्य के ढांचे का समर्थन स्मृति पदचिह्न सुधारों को अनलॉक कर सकता है जो सीमित संसाधनों के साथ एम्बेडेड सिस्टम पर गहन शिक्षण मॉडल को तैनात करने के लिए महत्वपूर्ण अंतर ला सकता है।
हमने दृष्टि और भाषण कार्यों में क्लस्टरिंग के साथ प्रयोग किया है। हमने सटीकता के न्यूनतम नुकसान के साथ मॉडल संपीड़न में 5x तक सुधार देखा है, जैसा कि नीचे प्रस्तुत परिणामों द्वारा प्रदर्शित किया गया है।
कृपया ध्यान दें कि क्लस्टरिंग कनवल्शन और सघन परतों के लिए कम लाभ प्रदान करेगी जो बैच सामान्यीकरण परत से पहले होती है, साथ ही प्रति-अक्ष पोस्ट-प्रशिक्षण परिमाणीकरण के साथ संयोजन में।
एपीआई संगतता मैट्रिक्स
उपयोगकर्ता निम्नलिखित एपीआई के साथ क्लस्टरिंग लागू कर सकते हैं:
- मॉडल निर्माण:
tf.keras
केवल अनुक्रमिक और कार्यात्मक मॉडल के साथ - TensorFlow संस्करण: संस्करण 1.14+ और 2.x के लिए TF 1.x।
-
tf.compat.v1
TF 2.X पैकेज के साथ औरtf.compat.v2
TF 1.X पैकेज के साथ समर्थित नहीं हैं।
-
- TensorFlow निष्पादन मोड: दोनों ग्राफ़ और उत्सुक
परिणाम
छवि वर्गीकरण
नमूना | मूल | क्लस्टर किया गया | ||||
---|---|---|---|---|---|---|
शीर्ष-1 सटीकता (%) | संपीड़ित .tflite का आकार (एमबी) | विन्यास | #समूहों का | शीर्ष-1 सटीकता (%) | संपीड़ित .tflite का आकार (एमबी) | |
मोबाइलनेटV1 | 70.976 | 14.97 | ||||
चयनात्मक (अंतिम 3 Conv2D परतें) | 16, 16, 16 | 70.294 | 7.69 | |||
चयनात्मक (अंतिम 3 Conv2D परतें) | 32, 32, 32 | 70.69 | 8.22 | |||
पूर्ण (सभी Conv2D परतें) | 32 | 69.4 | 4.43 | |||
मोबाइलनेटवी2 | 71.778 | 12.38 | ||||
चयनात्मक (अंतिम 3 Conv2D परतें) | 16, 16, 16 | 70.742 | 6.68 | |||
चयनात्मक (अंतिम 3 Conv2D परतें) | 32, 32, 32 | 70.926 | 7.03 | |||
पूर्ण (सभी Conv2D परतें) | 32 | 69.744 | 4.05 |
मॉडल को इमेजनेट पर प्रशिक्षित और परीक्षण किया गया था।
कीवर्ड स्पॉटिंग
नमूना | मूल | क्लस्टर किया गया | ||||
---|---|---|---|---|---|---|
शीर्ष-1 सटीकता (%) | संपीड़ित .tflite का आकार (एमबी) | विन्यास | #समूहों का | शीर्ष-1 सटीकता (%) | संपीड़ित .tflite का आकार (एमबी) | |
डीएस-सीएनएन-एल | 95.233 | 1.46 | ||||
पूर्ण (सभी Conv2D परतें) | 32 | 95.09 | 0.39 | |||
पूर्ण (सभी Conv2D परतें) | 8 | 94.272 | 0.27 |
मॉडल को स्पीचकॉमैंड्स v0.02 पर प्रशिक्षित और परीक्षण किया गया था।
- केरस मॉडल को .h5 फ़ाइल में क्रमांकित करें
-
TFLiteConverter.from_keras_model_file()
का उपयोग करके .h5 फ़ाइल को .tflite में कनवर्ट करें - .tflite फ़ाइल को ज़िप में संपीड़ित करें
उदाहरण
केरस उदाहरण में वेट क्लस्टरिंग के अलावा, निम्नलिखित उदाहरण देखें:
- MNIST हस्तलिखित अंक वर्गीकरण डेटासेट पर प्रशिक्षित CNN मॉडल के भार को क्लस्टर करें: कोड
वेट क्लस्टरिंग कार्यान्वयन डीप कम्प्रेशन पर आधारित है: प्रूनिंग के साथ डीप न्यूरल नेटवर्क्स को कम्प्रेस करना, प्रशिक्षित क्वांटिज़ेशन और हफ़मैन कोडिंग पेपर । अध्याय 3 देखें, जिसका शीर्षक है प्रशिक्षित परिमाणीकरण और भार साझा करना ।