अवलोकन
TensorFlow मशीन लर्निंग और आर्टिफिशियल इंटेलिजेंस के लिए एक सॉफ्टवेयर लाइब्रेरी है। इसका उपयोग विभिन्न कार्यों में किया जा सकता है, लेकिन मुख्य रूप से न्यूरल नेटवर्क के प्रशिक्षण और अनुमान के लिए किया जाता है। यह PyTorch जैसे अन्य फ्रेमवर्क के साथ, सबसे लोकप्रिय डीप लर्निंग फ्रेमवर्क में से एक है। TensorFlow मुफ्त और ओपन-सोर्स सॉफ्टवेयर है जो Apache License 2.0 के तहत जारी किया गया है।
इतिहास
DistBelief
2011 से शुरू करके, Google Brain ने डीप न्यूरल नेटवर्क पर आधारित एक स्वामित्व मशीन लर्निंग सिस्टम के रूप में DistBelief का निर्माण किया। इसका उपयोग विभिन्न Alphabet कंपनियों में अनुसंधान और वाणिज्यिक अनुप्रयोगों दोनों में तेजी से बढ़ा। Google ने जेफ डीन सहित कई कंप्यूटर वैज्ञानिकों को DistBelief के कोडबेस को सरल बनाने और पुनर्गठित करने के लिए एक तेज़, अधिक मजबूत एप्लिकेशन-ग्रेड लाइब्रेरी में बदलने के लिए नियुक्त किया, जो TensorFlow बन गया। 2009 में, जेफ्री हिंटन के नेतृत्व वाली टीम ने सामान्यीकृत बैकप्रोपेगेशन और अन्य सुधारों को लागू किया था, जिसने काफी अधिक सटीकता वाले न्यूरल नेटवर्क के निर्माण की अनुमति दी, उदाहरण के लिए भाषण पहचान में त्रुटियों में 25% की कमी।
TensorFlow
TensorFlow Google Brain की दूसरी पीढ़ी की प्रणाली है। संस्करण 1.0.0 11 फरवरी, 2017 को जारी किया गया था। जबकि संदर्भ कार्यान्वयन एकल उपकरणों पर चलता है, TensorFlow कई CPUs और GPUs पर चल सकता है (ग्राफिक्स प्रोसेसिंग यूनिट्स पर सामान्य-उद्देश्य कंप्यूटिंग के लिए वैकल्पिक CUDA और SYCL एक्सटेंशन के साथ)। TensorFlow 64-बिट Linux, macOS, Windows और Android और iOS सहित मोबाइल कंप्यूटिंग प्लेटफार्मों पर उपलब्ध है। इसकी लचीली वास्तुकला विभिन्न प्लेटफार्मों (CPUs, GPUs, TPUs) और डेस्कटॉप से सर्वर क्लस्टर से मोबाइल और एज डिवाइस तक गणना की आसान तैनाती की अनुमति देती है। TensorFlow गणनाएं स्टेटफुल डेटाफ्लो ग्राफ के रूप में व्यक्त की जाती हैं। नाम TensorFlow उन संचालनों से लिया गया है जो ऐसे न्यूरल नेटवर्क बहुआयामी डेटा सरणियों पर करते हैं, जिन्हें टेंसर कहा जाता है। जून 2016 में Google I/O सम्मेलन के दौरान, जेफ डीन ने कहा कि GitHub पर 1,500 रिपॉजिटरी ने TensorFlow का उल्लेख किया, जिनमें से केवल 5 Google से थे। मार्च 2018 में, Google ने JavaScript में मशीन लर्निंग के लिए TensorFlow.js संस्करण 1.0 की घोषणा की। जनवरी 2019 में, Google ने TensorFlow 2.0 की घोषणा की, जो सितंबर 2019 में आधिकारिक रूप से उपलब्ध हुआ। मई 2019 में, Google ने कंप्यूटर ग्राफिक्स में डीप लर्निंग के लिए TensorFlow Graphics की घोषणा की।
टेंसर प्रोसेसिंग यूनिट (TPU)
मई 2016 में, Google ने अपनी टेंसर प्रोसेसिंग यूनिट (TPU) की घोषणा की, जो विशेष रूप से मशीन लर्निंग के लिए और TensorFlow के अनुरूप बनाया गया एक एप्लिकेशन-विशिष्ट एकीकृत सर्किट (ASIC) है। एक TPU एक प्रोग्रामेबल AI एक्सेलेरेटर है जिसे कम-परिशुद्धता अंकगणित (जैसे, 8-बिट) के उच्च थ्रूपुट प्रदान करने के लिए डिज़ाइन किया गया है, और मॉडल को प्रशिक्षित करने के बजाय उपयोग करने या चलाने की ओर उन्मुख है। Google ने घोषणा की कि वे अपने डेटा केंद्रों के अंदर एक वर्ष से अधिक समय से TPU चला रहे थे, और पाया कि वे मशीन लर्निंग के लिए प्रति वाट बेहतर-अनुकूलित प्रदर्शन का एक क्रम प्रदान करते हैं। मई 2017 में, Google ने दूसरी पीढ़ी के TPU की घोषणा की, साथ ही Google Compute Engine में उनकी उपलब्धता की भी। दूसरी पीढ़ी के TPU 180 टेराफ्लॉप्स तक का प्रदर्शन देते हैं, और जब 64 TPU के क्लस्टर में व्यवस्थित होते हैं, तो 11.5 पेटाफ्लॉप्स तक प्रदान करते हैं। मई 2018 में, Google ने तीसरी पीढ़ी के TPU की घोषणा की जो 420 टेराफ्लॉप्स तक का प्रदर्शन और 128 GB उच्च-बैंडविड्थ मेमोरी (HBM) प्रदान करते हैं। Cloud TPU v3 Pods 100+ पेटाफ्लॉप्स प्रदर्शन और 32 TB HBM प्रदान करते हैं। फरवरी 2018 में, Google ने घोषणा की कि वे Google Cloud Platform पर TPU को बीटा में उपलब्ध करा रहे हैं।
Edge TPU
जुलाई 2018 में, Edge TPU की घोषणा की गई थी। Edge TPU Google की विशेष-उद्देश्य ASIC चिप है जिसे स्मार्टफोन जैसे छोटे क्लाइंट कंप्यूटिंग उपकरणों पर TensorFlow Lite मशीन लर्निंग मॉडल चलाने के लिए डिज़ाइन किया गया है, जिसे एज कंप्यूटिंग के रूप में जाना जाता है।
TensorFlow Lite
मई 2017 में, Google ने मोबाइल और एम्बेडेड उपकरणों के लिए मशीन लर्निंग मॉडल का समर्थन करने के लिए एक सॉफ्टवेयर स्टैक के रूप में TensorFlow Lite की घोषणा की, और नवंबर 2017 में, डेवलपर पूर्वावलोकन प्रदान किया। जनवरी 2019 में, TensorFlow टीम ने Android उपकरणों पर OpenGL ES 3.1 Compute Shaders और iOS उपकरणों पर Metal Compute Shaders के साथ मोबाइल GPU अनुमान इंजन का एक डेवलपर पूर्वावलोकन जारी किया। मई 2019 में, Google ने घोषणा की कि उनका TensorFlow Lite Micro (जिसे माइक्रोकंट्रोलर के लिए TensorFlow Lite के रूप में भी जाना जाता है) और ARM का uTensor विलय हो जाएगा। इसे 2024 में LiteRT के रूप में नामित किया गया था।
TensorFlow 2.0
जैसे-जैसे शोध पत्रों में TensorFlow की बाजार हिस्सेदारी PyTorch के लाभ के लिए घट रही थी, TensorFlow टीम ने सितंबर 2019 में लाइब्रेरी के एक नए प्रमुख संस्करण की रिलीज़ की घोषणा की। TensorFlow 2.0 ने कई बदलाव पेश किए, जिनमें सबसे महत्वपूर्ण TensorFlow eager था, जिसने स्वचालित विभेदन योजना को स्थिर कम्प्यूटेशनल ग्राफ से "Define-by-Run" योजना में बदल दिया, जिसे मूल रूप से Chainer और बाद में PyTorch द्वारा लोकप्रिय बनाया गया था। अन्य प्रमुख बदलावों में पुरानी लाइब्रेरी को हटाना, TensorFlow के विभिन्न संस्करणों पर प्रशिक्षित मॉडलों के बीच क्रॉस-संगतता, और GPU पर प्रदर्शन में महत्वपूर्ण सुधार शामिल थे।
विशेषताएं
ऑटोडिफरेंशिएशन
ऑटोडिफरेंशिएशन एक मॉडल के प्रत्येक पैरामीटर के संबंध में ग्रेडिएंट वेक्टर की स्वचालित रूप से गणना करने की प्रक्रिया है। इस सुविधा के साथ, TensorFlow स्वचालित रूप से एक मॉडल में पैरामीटर के लिए ग्रेडिएंट की गणना कर सकता है, जो बैकप्रोपेगेशन जैसे एल्गोरिदम के लिए उपयोगी है जिन्हें प्रदर्शन को अनुकूलित करने के लिए ग्रेडिएंट की आवश्यकता होती है। ऐसा करने के लिए, फ्रेमवर्क को एक मॉडल में इनपुट टेंसर पर किए गए संचालन के क्रम का ट्रैक रखना चाहिए, और फिर उपयुक्त पैरामीटर के संबंध में ग्रेडिएंट की गणना करनी चाहिए।
तत्काल निष्पादन
TensorFlow में एक "तत्काल निष्पादन" मोड शामिल है, जिसका अर्थ है कि संचालन का मूल्यांकन तुरंत किया जाता है, बजाय एक कम्प्यूटेशनल ग्राफ में जोड़े जाने के जो बाद में निष्पादित होता है। तत्काल निष्पादित कोड को डीबगर के माध्यम से चरण-दर-चरण जांचा जा सकता है, क्योंकि डेटा को बाद में कम्प्यूटेशनल ग्राफ में नहीं बल्कि कोड की प्रत्येक पंक्ति पर संवर्धित किया जाता है। इस निष्पादन प्रतिमान को इसकी चरण-दर-चरण पारदर्शिता के कारण डीबग करना आसान माना जाता है।
वितरण
तत्काल और ग्राफ दोनों निष्पादन में, TensorFlow विभिन्न वितरण रणनीतियों के साथ कई उपकरणों में गणना वितरित करने के लिए एक API प्रदान करता है। यह वितरित कंप्यूटिंग अक्सर TensorFlow मॉडल के प्रशिक्षण और मूल्यांकन के निष्पादन को तेज कर सकती है और AI के क्षेत्र में एक सामान्य अभ्यास है।
हानि फलन
मॉडल को प्रशिक्षित और मूल्यांकन करने के लिए, TensorFlow हानि फलनों (जिन्हें लागत फलन भी कहा जाता है) का एक सेट प्रदान करता है। कुछ लोकप्रिय उदाहरणों में माध्य वर्ग त्रुटि, श्रेणीबद्ध क्रॉस-एन्ट्रॉपी और हिंज हानि शामिल हैं। ये फलन भविष्यवाणी और वास्तविक मूल्यों के बीच अंतर को मापते हैं, प्रशिक्षण के दौरान अनुकूलन प्रक्रिया का मार्गदर्शन करते हैं।
मेट्रिक्स
TensorFlow में एक मेट्रिक्स मॉड्यूल शामिल है जो मॉडल प्रदर्शन का मूल्यांकन करने के लिए फलन प्रदान करता है, जैसे सटीकता, परिशुद्धता, रिकॉल और ROC वक्र के अंतर्गत क्षेत्र। ये मेट्रिक्स आमतौर पर प्रशिक्षण और सत्यापन प्रगति की निगरानी के लिए उपयोग किए जाते हैं।
अनुकूलक
TensorFlow प्रशिक्षण के दौरान मॉडल पैरामीटर को अपडेट करने के लिए विभिन्न अनुकूलक प्रदान करता है, जिसमें स्टोकेस्टिक ग्रेडिएंट डिसेंट (SGD), Adam, RMSProp और Adagrad शामिल हैं। ये अनुकूलक हानि फलन को कुशलतापूर्वक कम करने के लिए विभिन्न अद्यतन नियम लागू करते हैं।
Keras
TensorFlow Keras के साथ एकीकृत है, एक उच्च-स्तरीय न्यूरल नेटवर्क API जो मॉडल निर्माण और प्रशिक्षण को सरल बनाता है। Keras परतों, मॉडल और प्रशिक्षण लूप को परिभाषित करने के लिए एक उपयोगकर्ता-अनुकूल इंटरफ़ेस प्रदान करता है, जिससे यह शुरुआती और विशेषज्ञों दोनों के लिए सुलभ हो जाता है।
TensorBoard
TensorBoard TensorFlow के साथ शामिल एक विज़ुअलाइज़ेशन टूल है जो उपयोगकर्ताओं को प्रशिक्षण मेट्रिक्स की निगरानी करने, मॉडल ग्राफ की कल्पना करने और एम्बेडिंग का निरीक्षण करने की अनुमति देता है। यह डीबगिंग और मॉडल व्यवहार को समझने में मदद करता है।
TensorFlow Serving
TensorFlow Serving मशीन लर्निंग मॉडल के लिए एक लचीली, उच्च-प्रदर्शन सेवा प्रणाली है, जिसे उत्पादन वातावरण के लिए डिज़ाइन किया गया है। यह मॉडल संस्करण, रोलआउट का समर्थन करता है, और एक साथ कई मॉडल संभाल सकता है।
TensorFlow Hub
TensorFlow Hub पुन: प्रयोज्य मशीन लर्निंग मॉड्यूल के लिए एक लाइब्रेरी है। यह उपयोगकर्ताओं को पूर्व-प्रशिक्षित मॉडल घटकों को साझा करने और खोजने की अनुमति देता है, ट्रांसफर लर्निंग की सुविधा प्रदान करता है और मॉडल को खरोंच से प्रशिक्षित करने की आवश्यकता को कम करता है।
TensorFlow Extended (TFX)
TensorFlow Extended (TFX) उत्पादन ML पाइपलाइनों को तैनात करने के लिए एक एंड-टू-एंड प्लेटफ़ॉर्म है। इसमें डेटा सत्यापन, प्रीप्रोसेसिंग, प्रशिक्षण और सेवा के लिए घटक शामिल हैं, जो स्केलेबल और विश्वसनीय ML वर्कफ़्लो सक्षम करते हैं।
अनुप्रयोग
TensorFlow का उपयोग विभिन्न प्रकार के अनुप्रयोगों में किया जाता है, जिसमें छवि पहचान, प्राकृतिक भाषा प्रसंस्करण, भाषण पहचान और अनुशंसा प्रणाली शामिल हैं। इसका उपयोग अनुसंधान और उद्योग में वस्तु पहचान, भावना विश्लेषण और जनरेटिव मॉडलिंग जैसे कार्यों के लिए भी किया जाता है। इसकी लचीलापन और स्केलेबिलिटी इसे प्रयोग और बड़े पैमाने पर तैनाती दोनों के लिए उपयुक्त बनाती है।
यह भी देखें
- आर्टिफिशियल इंटेलिजेंस
- मशीन लर्निंग
- डीप लर्निंग
- न्यूरल नेटवर्क
- बड़ा भाषा मॉडल
- ट्रांसफॉर्मर
- OpenAI
- Google DeepMind
- जनरेटिव AI
- PyTorch
संदर्भ
- TensorFlow आधिकारिक दस्तावेज़ीकरण
- विकिपीडिया: TensorFlow
- Google AI ब्लॉग
- TensorFlow रिलीज़ नोट्स