कंप्यूटर विज्ञान में, एक इंस्टेंस (जिसे मेटालॉजिक और मेटागणित में टोकन भी कहा जाता है) एक सॉफ्टवेयर तत्व की एक विशिष्ट घटना है जो एक प्रकार की परिभाषा पर आधारित होती है। जब ऐसी घटना बनाई जाती है, तो उसे इंस्टैंशिएटेड कहा जाता है, और निर्माण प्रक्रिया और परिणामी घटना दोनों को इंस्टैंशिएशन कहा जाता है। यह अवधारणा कंप्यूटिंग के कई क्षेत्रों में मौलिक है, ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग से लेकर कृत्रिम बुद्धिमत्ता और क्लाउड इंफ्रास्ट्रक्चर तक।
यह शब्द एक सामान्य वर्ग या पैटर्न के एक विशेष उदाहरण के रूप में इंस्टेंस की व्यापक दार्शनिक और तार्किक धारणा से लिया गया है। कंप्यूटिंग में, यह एक परिभाषा (जैसे कि एक वर्ग, टेम्पलेट, या मॉडल) और उस परिभाषा के ठोस, उपयोग योग्य प्राप्तियों के बीच अंतर करने का एक तरीका प्रदान करता है। प्रत्येक इंस्टेंस का आम तौर पर अपना स्वयं का पहचान, स्थिति और जीवनचक्र होता है, भले ही वह एक ही प्रकार के अन्य इंस्टेंस के साथ संरचनात्मक विशेषताओं को साझा करता हो।
प्रोग्रामिंग भाषाओं में इंस्टेंस
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में, एक इंस्टेंस एक क्लास प्रकार से बनाई गई वस्तु है। क्लास संरचना (विशेषताओं) और व्यवहार (विधियों) को परिभाषित करती है जो उसके सभी इंस्टेंस साझा करते हैं, लेकिन प्रत्येक इंस्टेंस अपनी स्वयं की पहचान और स्थिति बनाए रखता है। उदाहरण के लिए, एक Car क्लास रंग और गति जैसे गुणों को परिभाषित कर सकती है, और उस क्लास से बनाई गई प्रत्येक व्यक्तिगत कार वस्तु अपने स्वयं के मूल्यों के साथ एक अलग इंस्टेंस है।
यह अवधारणा प्रक्रियात्मक संदर्भों में भी दिखाई देती है। सिमुला भाषा में, जिसने कई ऑब्जेक्ट-ओरिएंटेड विचार पेश किए, प्रत्येक प्रक्रिया कॉल को उस प्रक्रिया के एक इंस्टेंस के रूप में देखा जा सकता है: अपने स्वयं के मापदंडों और स्थानीय चर के साथ एक सक्रियण। यह दृष्टिकोण एक प्रक्रिया परिभाषा को एक टेम्पलेट के रूप में और प्रत्येक आह्वान को एक ठोस घटना के रूप में मानता है, जो पुनरावृत्ति और कॉल स्टैक को समझने के लिए उपयोगी है।
POSIX-उन्मुख ऑपरेटिंग सिस्टम में, एक चल रही प्रक्रिया एक प्रोग्राम का एक इंस्टेंस है। एक प्रोग्राम एक स्थिर फ़ाइल है जिसमें निर्देश होते हैं, जबकि एक प्रक्रिया उन निर्देशों का एक गतिशील निष्पादन है। प्रक्रियाएं fork() और exec() जैसे सिस्टम कॉल के माध्यम से इंस्टैंशिएट की जाती हैं, और प्रत्येक निष्पादित प्रक्रिया उस प्रोग्राम का एक इंस्टेंस है जिससे इसे इंस्टैंशिएट किया गया था। एक ही प्रोग्राम के कई इंस्टेंस एक साथ चल सकते हैं, प्रत्येक अपने स्वयं के मेमोरी स्पेस और निष्पादन स्थिति के साथ।
कृत्रिम बुद्धिमत्ता और मशीन लर्निंग में इंस्टेंस
आधुनिक कृत्रिम बुद्धिमत्ता और मशीन लर्निंग में, इंस्टेंस अवधारणा कई रूपों में दिखाई देती है। चैट-आधारित एआई सिस्टम में, जो अक्सर बड़े भाषा मॉडल पर निर्भर करते हैं, एक सहायक को कई स्वतंत्र संवाद सत्रों में बुलाया जा सकता है, जिन्हें अक्सर थ्रेड कहा जाता है। प्रत्येक थ्रेड का अपना संदेश इतिहास होता है, और उस सत्र में सहायक का एक विशिष्ट निष्पादन एक रन के रूप में दर्शाया जा सकता है, जो एक थ्रेड पर एक निष्पादन है। यह एक ही अंतर्निहित मॉडल को कई उपयोगकर्ताओं की एक साथ सेवा करने की अनुमति देता है, प्रत्येक बातचीत सहायक के व्यवहार का एक अलग इंस्टेंस है।
डीप लर्निंग में, एक प्रशिक्षण उदाहरण या डेटा बिंदु को कभी-कभी डेटासेट का एक इंस्टेंस कहा जाता है। प्रत्येक इंस्टेंस डेटा वितरण की एक विशिष्ट प्राप्ति है जिससे मॉडल सीखता है। मॉडल परिभाषा और उसके प्रशिक्षित इंस्टेंस के बीच अंतर भी महत्वपूर्ण है: एक तंत्रिका नेटवर्क वास्तुकला संभावित मॉडलों के एक वर्ग को परिभाषित करती है, और प्रशिक्षण विशेष सीखे गए वजन के साथ एक विशिष्ट इंस्टेंस उत्पन्न करता है।
क्लाउड कंप्यूटिंग और वर्चुअलाइजेशन में इंस्टेंस
क्लाउड कंप्यूटिंग और वर्चुअलाइजेशन में, एक इंस्टेंस आमतौर पर कंप्यूट, मेमोरी, नेटवर्क और स्टोरेज संसाधनों के आवंटित संयोजन के साथ एक प्रावधानित वर्चुअल मशीन या वर्चुअल सर्वर को संदर्भित करता है। प्रमुख क्लाउड प्रदाता जैसे अमेज़न वेब सर्विसेज, माइक्रोसॉफ्ट एज़्योर, और गूगल क्लाउड विभिन्न कार्यभार के लिए अनुकूलित विभिन्न इंस्टेंस प्रकार प्रदान करते हैं, सामान्य-उद्देश्यीय कंप्यूटिंग से लेकर एआई मॉडल के जीपीयू-त्वरित प्रशिक्षण तक।
उदाहरण के लिए, एडब्ल्यूएस ट्रेनियम इंस्टेंस मशीन लर्निंग मॉडल के प्रशिक्षण के लिए विशिष्ट हैं, जबकि ओरेकल क्लाउड और अलीबाबा क्लाउड अपने स्वयं के इंस्टेंस परिवार प्रदान करते हैं। क्लाउड इंस्टेंस के जीवनचक्र में आम तौर पर एक मशीन छवि या टेम्पलेट से निर्माण, कॉन्फ़िगरेशन, उपयोग और अंतिम समाप्ति शामिल होती है। यह अमूर्तता उपयोगकर्ताओं को भौतिक हार्डवेयर का प्रबंधन किए बिना संसाधनों को गतिशील रूप से स्केल करने की अनुमति देती है।
कंप्यूटर ग्राफिक्स में इंस्टेंस
कंप्यूटर ग्राफिक्स में, इंस्टेंसिंग एक तकनीक है जहां एक पॉलीगोनल मॉडल को विभिन्न ट्रांसफॉर्म और मापदंडों के साथ कई बार खींचा जाता है, साझा ज्यामिति डेटा का पुन: उपयोग करके प्रदर्शन में सुधार होता है। प्रत्येक ऑब्जेक्ट के लिए पूर्ण ज्यामिति भेजने के बजाय, सिस्टम ज्यामिति को एक बार भेजता है और फिर विभिन्न स्थितियों, रोटेशन, स्केल या अन्य विशेषताओं के साथ कई इंस्टेंस निर्दिष्ट करता है। यह वीडियो गेम और सिमुलेशन में बड़ी संख्या में समान ऑब्जेक्ट, जैसे पेड़, कण, या भीड़ पात्रों को कुशलतापूर्वक प्रस्तुत करने के लिए व्यापक रूप से उपयोग किया जाता है।
संबंधित अवधारणाएं और अंतर
इंस्टेंस अवधारणा तर्क और भाषाविज्ञान में प्रकार-टोकन भेद से निकटता से संबंधित है। एक प्रकार एक सामान्य श्रेणी है, जबकि एक टोकन एक विशिष्ट घटना है। प्रोग्रामिंग में, एक क्लास या टेम्पलेट एक प्रकार है, और इससे बनाई गई प्रत्येक वस्तु या प्रक्रिया एक टोकन या इंस्टेंस है। यह भेद डेटा संवर्धन में भी प्रासंगिक है, जहां मौजूदा इंस्टेंस से परिवर्तन लागू करके नए प्रशिक्षण इंस्टेंस उत्पन्न किए जाते हैं।
जनरेटिव एआई में, मॉडल द्वारा उत्पादित प्रत्येक आउटपुट को एक विशिष्ट इनपुट या प्रॉम्प्ट पर आधारित मॉडल के व्यवहार का एक इंस्टेंस माना जा सकता है। इंस्टैंशिएशन की धारणा ट्रांसफॉर्मर आर्किटेक्चर में भी उपयोग की जाती है, जहां प्रत्येक इनपुट अनुक्रम को मॉडल के इनपुट स्पेस के एक विशिष्ट इंस्टेंस के रूप में संसाधित किया जाता है। जटिल सॉफ्टवेयर सिस्टम के व्यवहार के बारे में तर्क करने, डिबगिंग, संसाधन प्रबंधन और समझने के लिए इंस्टेंस को समझना आवश्यक है।