डेटा साइंस में AI के संभावित अनुप्रयोगों में से एक के रूप में AI मॉडल प्रशिक्षण तेजी से उभर रहा है। खास तौर पर, Snowflake Cortex AI का उपयोग करके मशीन लर्निंग की जा सकती है।
इस गाइड में, हम कवर करेंगे कि Snowflake Cortex AI क्या है और यह क्या कर सकता है। साथ ही, हम Python और कुछ SQL की मदद से मशीन लर्निंग और AI शुरू करने पर एक साधारण ट्यूटोरियल भी देंगे। यदि आप Snowflake में नए हैं, तो हमारी Introduction to Snowflake course देखें ताकि आप गति पकड़ सकें।
Snowflake Cortex AI क्या है?
Snowflake Cortex AI, Snowflake AI Data Cloud में एक शक्तिशाली सुविधा है, जिसे Snowflake वातावरण के भीतर सीधे मशीन लर्निंग (ML) संचालन को आसान बनाने के लिए डिज़ाइन किया गया है।
यह Python ML मॉडलों को Snowflake डेटा के साथ सहजता से एकीकृत करने की अनुमति देता है, जिससे संगठन क्लाउड इन्फ्रास्ट्रक्चर का लाभ उठाते हुए बड़े डेटासेट से इनसाइट्स, भविष्यवाणियाँ, और उन्नत एनालिटिक्स प्राप्त कर सकते हैं।
Python के साथ Snowflake Cortex AI क्यों उपयोग करें?
आइए अब इन टूल्स को एक साथ उपयोग करने के फ़ायदों को देखें।
Snowflake Cortex AI और Python को साथ लाने के फायदे
Snowflake Cortex AI के कुछ प्रमुख फायदे:
Python इंटीग्रेशन: यह आपको Snowflake के कंप्यूटिंग वातावरण में सीधे Python ML मॉडल चलाने की अनुमति देता है।
मॉडल होस्टिंग: मॉडलों को इन्फरेंस के लिए होस्ट और सर्व किया जा सकता है।
डेटा मूवमेंट नहीं: क्योंकि मॉडल Snowflake वातावरण के भीतर चलते हैं, बड़े डेटासेट को बाहरी सर्वरों पर ले जाने की आवश्यकता नहीं होती।
उपयोग के मामले और अनुप्रयोग
पहले, Snowflake Cortex AI उन व्यवसायों के लिए उपयुक्त है जो संसाधनों में बड़े निवेश के बिना अपनी डेटा साइंस क्षमताओं में सुधार करना चाहते हैं। इसके नो-कोड वातावरण के साथ, गैर-तकनीकी उपयोगकर्ता भी आसानी से ML मॉडल विकसित और तैनात कर सकते हैं।
यह विशेष रूप से छोटे व्यवसायों या स्टार्टअप्स के लिए उपयोगी है, जिनके पास डेटा वैज्ञानिकों की टीम रखने या महंगे LLMs में निवेश करने का बजट नहीं होता।
दूसरे, Python को Snowflake के कंप्यूटिंग वातावरण में एकीकृत करके, उपयोगकर्ता Python की उपलब्ध मशीन लर्निंग लाइब्रेरी और टूल्स के विशाल संग्रह का लाभ उठा सकते हैं। इसका मतलब है कि वे नई प्रोग्रामिंग भाषाएँ सीखे बिना अधिक उन्नत और सटीक मॉडल बना सकते हैं।
अंत में, जिन कंपनियों ने पहले से ही Snowflake वातावरण को अपनाया है, वे Cortex AI के पूर्ण लाभ उठा पाएंगी क्योंकि यह उनके मौजूदा डेटा वेयरहाउस के साथ सहजता से एकीकृत हो जाता है, जिससे अतिरिक्त इन्फ्रास्ट्रक्चर या डेटा माइग्रेशन की आवश्यकता समाप्त हो जाती है।
Snowflake Cortex AI के साथ, कंपनियाँ आसानी से और कुशलतापूर्वक अपने व्यावसायिक प्रक्रियाओं में मशीन लर्निंग लागू कर सकती हैं।
Snowflake Cortex AI के साथ शुरुआत करना
इस ट्यूटोरियल में, हम Python और Snowflake Cortex AI का उपयोग करके एक मशीन लर्निंग पाइपलाइन सेटअप करने की प्रक्रिया से गुजरेंगे।
पूर्वापेक्षाएँ
Snowflake Cortex AI के साथ ML पर काम शुरू करने से पहले, सुनिश्चित करें कि आप निम्नलिखित आवश्यकताओं को पूरा करते हैं:
Snowflake खाता सेट करना
सबसे पहले, आपको एक Snowflake इंस्टेंस की आवश्यकता होगी जहाँ आपका डेटा स्टोर और प्रोसेस होता है। आप Snowflake वेबसाइट पर साइन अप कर सकते हैं।
साइन-अप फ़ॉर्म में, अपने सभी खाता विवरण भरें और दूसरी पेज पर निम्नलिखित चयन करने का ध्यान रखें। इस ट्यूटोरियल के लिए Standard संस्करण चुनें और सरलता व पुनरुत्पादन के लिए Amazon Web Services चुनें। सर्वर के लिए, US West (Oregon) चुनें ताकि LLM फ़ंक्शंस का सबसे अच्छा चयन उपलब्ध हो।
इन विकल्पों का चयन करने के बाद, Get Started पर क्लिक करें ताकि आपको एक्टिवेशन ईमेल मिल जाए। अपना खाता सक्रिय करने के लिए अपने ईमेल पर जाएँ और आपका Snowflake खाता उपयोग के लिए तैयार है।
सॉफ़्टवेयर आवश्यकताएँ
अगले चरण में, आपको सॉफ्टवेयर के लिए कुछ अन्य आवश्यकताओं को भी पूरा करना होगा।
यहाँ रखने के लिए चीज़ों की एक सरल सूची है:
Python पर्यावरण: Python 3.x जिसमें आवश्यक पैकेज इंस्टॉल हों।
Snowflake: अपने Python पर्यावरण को अपने Snowflake खाते से जोड़ने के लिए टर्मिनल से Snowflake इंस्टॉल करना होगा।
VS Code: Python के लिए उपयुक्त एक इंटीग्रेटेड डेवलपमेंट एन्वायरनमेंट (IDE) का उपयोग किया जा सकता है। अन्य विकल्पों में DataLab, Google Colab, या Jupyter Notebooks शामिल हैं।
किसी भी विश्लेषण को शुरू करने से पहले, सभी संबंधित पैकेज इंस्टॉल करें ताकि आपका कोडिंग वातावरण तैयार हो।
आवश्यक पैकेज इंस्टॉल करने के लिए, आप pip का उपयोग कर सकते हैं:
अपनी खाता जानकारी दर्ज करने के बाद, फ़ाइल सहेजें और उसी फ़ोल्डर में एक Python या Jupyter Notebook फ़ाइल बनाएँ।
Snowflake से कनेक्ट करना
अब जब सब सेट हो गया है, तो अपने Python वातावरण को Snowflake से कनेक्ट करें।
शुरू करने के लिए, अपनी Python फ़ाइल खोलें और सभी आवश्यक लाइब्रेरी इम्पोर्ट करें। ऐसा करने के लिए कोड यहाँ है:
import os
from dotenv import load_dotenv
from snowflake.snowpark import Session
from snowflake.cortex import Summarize, Complete, ExtractAnswer, Sentiment, Translate, EmbedText768संचालित द्वारा
इसके बाद, आपको पहले सहेजी गई .env फ़ाइल में सहेजे गए वेरिएबल्स को लोड करना होगा। इससे Snowflake को आपके खाता क्रेडेंशियल्स मिलेंगे ताकि वह लॉग इन कर सके और अपने फ़ंक्शंस का उपयोग कर सके।
# Loads environment variables from .env
load_dotenv()
connection_params ={"account": os.environ["SNOWFLAKE_ACCOUNT"],"user": os.environ["SNOWFLAKE_USER"],"password": os.environ["SNOWFLAKE_USER_PASSWORD"],}संचालित द्वारा
वेरिएबल्स का उपयोग करके कनेक्ट करने के बाद, आपको एक Snowflake सेशन सेट करना होगा। यही ऑब्जेक्ट आपकी सभी रिक्वेस्ट हैंडल करेगा।
# Creates a Snowflake session
snowflake_session = Session.builder.configs(connection_params).create()संचालित द्वारा
Snowflake Cortex AI LLM फ़ंक्शंस
Cortex AI के भीतर LLM फ़ंक्शंस उपयोगकर्ताओं को अपने स्वयं के AI मॉडल विकसित किए बिना LLMs की क्षमता का लाभ उठाने में सक्षम बनाते हैं।
ये फ़ंक्शंस औसत एनालिटिक्स उपयोगकर्ता को कुछ बुनियादी कार्यों के माध्यम से AI-संचालित विश्लेषण प्रदान करने में मदद करते हैं।
यहाँ वे फ़ंक्शंस हैं जो Snowflake Cortex में हैं:
1. SUMMARIZE
Summarize फ़ंक्शन, दिए गए इनपुट के आधार पर डेटा का सारांश बनाने के लिए उपयोग होता है।
यह LLMs का उपयोग करके प्रमुख जानकारी की पहचान करता है और उसे संक्षिप्त रूप में प्रस्तुत करता है।
उदाहरण के लिए, यदि आपके पास एक लंबा टेक्स्ट दस्तावेज़ है और आप उसकी सामग्री का त्वरित अवलोकन चाहते हैं, तो आप Summarize फ़ंक्शन का उपयोग करके एक संक्षिप्त सारांश प्राप्त कर सकते हैं जो महत्वपूर्ण बिंदुओं को समेटता है। यह समय बचाता है और बड़े पैमाने के डेटा का जल्दी विश्लेषण करने की अनुमति देता है।
इस लेख को लिखते समय इनपुट भाषा फिलहाल अंग्रेज़ी तक सीमित है।
संदर्भ के लिए नीचे दिया कोड देखें:
# Defines the Summarize LLM Functiondefsummarize(user_text):
summary = Summarize(text=user_text, session=snowflake_session)return summaryसंचालित द्वारा
2. TRANSLATE
Translate फ़ंक्शन एक भाषा से दूसरी भाषा में टेक्स्ट बदलने के लिए उपयोग होता है।
यह टेक्स्ट का सटीक अनुवाद करने के लिए मशीन लर्निंग एल्गोरिदम और सांख्यिकीय मॉडलों का उपयोग करता है।
यह तब उपयोगी हो सकता है जब आप अलग-अलग भाषाओं में डेटा या दस्तावेज़ों के साथ काम कर रहे हों, क्योंकि यह संचार और समझ को आसान बनाता है।
उदाहरण के लिए, यदि आपके पास स्पैनिश में लिखा एक रिपोर्ट है और आपको इसे अंग्रेज़ी-भाषी दर्शकों को प्रस्तुत करना है, तो आप Translate फ़ंक्शन का उपयोग करके टेक्स्ट को जल्दी से बदल सकते हैं। इससे मैन्युअल अनुवाद की आवश्यकता समाप्त हो जाती है और समय बचता है।
संदर्भ के लिए नीचे दिया कोड देखें:
# Defines the Translate LLM Functiondeftranslate(user_text):
translation = Translate(
text=user_text, from_language="en", to_language="ko", session=snowflake_session
)return translationसंचालित द्वारा
3. COMPLETE
Complete फ़ंक्शन एक सर्वगुण संपन्न फ़ंक्शन है जिसे विशिष्ट कार्यों को पूरा करने के लिए उपयोग किया जा सकता है। यह वाक्य प्रॉम्प्ट्स के उपयोग के माध्यम से किया जाता है, जो AI मॉडल को आवश्यक जानकारी प्रदान करने के लिए मार्गदर्शन करते हैं ताकि कोई कार्य निष्पादित किया जा सके।
संदर्भ के लिए नीचे दिया कोड देखें:
# Defines the Complete LLM Functiondefcomplete(user_text):
completion = Complete(
model="snowflake-arctic",
prompt=f"Provide 3 relevant keywords from the following text: {user_text}",
session=snowflake_session,)return completionसंचालित द्वारा
4. EXTRACT_ANSWER
Extract Answer फ़ंक्शन, मॉडल को दिए गए प्रश्न के आधार पर उत्तर देता है। इनपुट अंग्रेज़ी में स्ट्रिंग या JSON फ़ॉर्मेट में होना चाहिए।
संदर्भ के लिए नीचे दिया कोड देखें:
# Defines the Extract Answer LLM Functiondefextract_answer(user_text):
answer = ExtractAnswer(
from_text=user_text,
question="What are some reasons why young adult South Koreans love coffee?",
session=snowflake_session,)return answerसंचालित द्वारा
5. SENTIMENT
Sentiment फ़ंक्शन दिए गए टेक्स्ट की भावनाओं के आधार पर एक मात्रात्मक संख्या प्रदान करता है। यह -1 से 1 तक का मान देता है। -1 सबसे नकारात्मक, 1 सबसे सकारात्मक, और 0 के आसपास के मान तटस्थ होते हैं।
संदर्भ के लिए नीचे दिया कोड देखें:
# Defines the Sentiment LLM Functiondefsentiment(user_text):
sentiment = Sentiment(text=user_text, session=snowflake_session)return sentimentसंचालित द्वारा
6. EMBED_TEXT
Embed Text फ़ंक्शंस में EMBED_TEXT_768 और EMBED_TEXT_1024 फ़ंक्शंस शामिल हैं। ये क्रमशः 768 और 1024 डायमेंशन के वेक्टर एम्बेडिंग बनाते हैं।
EMBED_TEXT_768 फ़ंक्शंस पर संदर्भ के लिए नीचे दिया कोड देखें:
# Defines the Embed Text LLM Functiondefembed_text(user_text):
embed_text = EmbedText768(text=user_text, model='snowflake-arctic-embed-m', session=snowflake_session)return embed_textसंचालित द्वारा
अब आइए उन्हें सबको एक मुख्य फ़ंक्शन में साथ रखें और परिणाम देखने के लिए किसी सैंपल टेक्स्ट पर चलाएँ।
मैंने मॉडल में इनपुट के लिए नीचे दिखाए अनुसार एक साधारण, छोटा टेक्स्ट उपयोग किया है:
कॉपी-पेस्ट की सुविधा के लिए, यहाँ टेक्स्ट है:
user_text = """
Young adults in South Korea are embracing coffee as a blend of energy, comfort, and culture.
Coffee isn't just about staying awake during demanding studies or work; it’s a cherished part of daily routines.
With South Korea's bustling café culture, coffee shops have become popular spaces for socializing, studying,
or just taking a break from the fast-paced city life.
The diversity of flavors and trendy cafés also offers a unique,
stylish experience that fits right into the evolving lifestyle of young adults,
who seek both connection and personal moments in the midst of it all.
"""संचालित द्वारा
अब, कोड चलाएँ। इसमें कुछ ही सेकंड लगने चाहिए।
यहाँ परिणाम हैं:
जैसा कि आप देख सकते हैं, AI ने हमारे दिए गए टेक्स्ट के आधार पर हमें सभी आवश्यक परिणाम दिए हैं। इसने सारांश दिया, मेरे टेक्स्ट का कोरियन में अनुवाद किया, मेरे टेक्स्ट के आधार पर तीन कीवर्ड दिए, और मेरे प्रश्नों के आधार पर कुछ उत्तर भी प्रदान किए।
Snowflake Cortex AI मशीन लर्निंग फ़ंक्शंस
Cortex AI में ऐसे ML फ़ंक्शंस भी हैं जो केवल SQL का उपयोग करके चल सकते हैं। यहाँ इसके कई फ़ंक्शंस दिए गए हैं।
1. Anomaly detection
विसंगति का पता लगाना आपके डेटा के अपेक्षित व्यवहार से मेल न खाने वाले असामान्य पैटर्न की पहचान के लिए आवश्यक है। Snowflake, ग्रेडिएंट बूस्टिंग मशीन (GBM) पर आधारित बिल्ट-इन मशीन लर्निंग फ़ंक्शंस प्रदान करके विसंगति का पता लगाने को सरल बनाता है, जो आपको अपने डेटासेट्स में आउटलिएर्स को जल्दी से पहचानने देता है।
विसंगति का पता लगाना विशेष रूप से इन कार्यों के लिए उपयोगी है:
ट्रांज़ैक्शन डेटा में धोखाधड़ी का पता लगाना।
असामान्य उपयोगकर्ता व्यवहार की पहचान करना।
सिस्टम प्रदर्शन में विसंगतियों के लिए टाइम सीरीज़ डेटा की निगरानी करना।
विसंगति का पता लगाने के लिए, Snowflake क्लास ANOMALY_DETECTION (SNOWFLAKE.ML) का उपयोग किया जा सकता है। यह कमांड एक विसंगति पहचान मॉडल ऑब्जेक्ट बनाता है। यह चरण आपके प्रशिक्षण डेटा पर मॉडल को फिट करता है।
इसे इस तरह उपयोग कर सकते हैं:
CREATE[ORREPLACE] SNOWFLAKE.ML.ANOMALY_DETECTION <model_name>(
INPUT_DATA =><reference_to_training_data>,[ SERIES_COLNAME =>'<series_column_name>',]
TIMESTAMP_COLNAME =>'<timestamp_column_name>',
TARGET_COLNAME =>'<target_column_name>',
LABEL_COLNAME =>'<label_column_name>',[ CONFIG_OBJECT =><config_object>])[[WITH] TAG (<tag_name>='<tag_value>'[,<tag_name>='<tag_value>',...])][COMMENT='<string_literal>']संचालित द्वारा
एक बार ऑब्जेक्ट बना लेने के बाद, आप <model_name>!DETECT_ANOMALIES मेथड का उपयोग करके विसंगति का पता लगा सकते हैं,
आपका कोड एक ऐसे SQL वर्कशीट में जाना चाहिए जो इस तरह दिखता है:
इसके बाद निम्न स्टेटमेंट्स से new_sales_data नाम की टेबल बनती है।
// Creating a new table and adding training dataCREATEORREPLACETABLE new_sales_data (
store_id NUMBER, item VARCHAR,date TIMESTAMP_NTZ, sales FLOAT,
temperature NUMBER, humidity FLOAT, holiday VARCHAR);INSERTINTO new_sales_data VALUES(1,'jacket', to_timestamp_ntz('2020-01-16'),6.0,52,0.3,null),(1,'jacket', to_timestamp_ntz('2020-01-17'),20.0,53,0.3,null),(2,'umbrella', to_timestamp_ntz('2020-01-16'),3.0,52,0.3,null),(2,'umbrella', to_timestamp_ntz('2020-01-17'),70.0,53,0.3,null);संचालित द्वारा
अब, विसंगति पहचान मॉडल बनाएँ:
// Creating anomaly detection model objectCREATEORREPLACEVIEW view_with_training_data
ASSELECTdate, sales FROM historical_sales_data
WHERE store_id=1AND item='jacket';CREATEORREPLACE SNOWFLAKE.ML.ANOMALY_DETECTION basic_model(
INPUT_DATA =>TABLE(view_with_training_data),
TIMESTAMP_COLNAME =>'date',
TARGET_COLNAME =>'sales',
LABEL_COLNAME =>'');संचालित द्वारा
यह एक परिणाम बनाएगा जो दर्शाता है कि नीचे दिखाए अनुसार एक मॉडल बना दिया गया है।
अगला, कुछ डिटेक्शन करने के लिए ऑब्जेक्ट मॉडल का उपयोग करें।
// Perform anomaly detectionCREATEORREPLACEVIEW view_with_data_to_analyze
ASSELECTdate, sales FROM new_sales_data
WHERE store_id=1and item='jacket';CALL basic_model!DETECT_ANOMALIES(
INPUT_DATA =>TABLE(view_with_data_to_analyze),
TIMESTAMP_COLNAME =>'date',
TARGET_COLNAME =>'sales');संचालित द्वारा
डिटेक्शन का आउटपुट इस प्रकार है:
2. Classification
Classificationका अर्थ है डेटा को पूर्व-परिभाषित श्रेणियों में बाँटना। Snowflake के साथ, आप सीधे Snowflake के भीतर से डेटा को वर्गीकृत कर सकते हैं, जिससे डेटा को बाहरी ML वातावरण में निर्यात करने की आवश्यकता समाप्त हो जाती है।
शुरू करने के लिए, निम्न कोड का उपयोग करके एक सैंपल डेटासेट बनाएँ:
// Creating view for training dataCREATEORREPLACEview binary_classification_view ASSELECT user_interest_score, user_rating, label
FROM training_purchase_data;SELECT*FROM binary_classification_view ORDERBY RANDOM(42)LIMIT5;संचालित द्वारा
यह व्यू निम्न परिणाम आउटपुट करना चाहिए:
अगला, अपने ट्रेनिंग डेटा के आधार पर मॉडल को प्रशिक्षित करें:
// Training a binary classification modelCREATEORREPLACE SNOWFLAKE.ML.CLASSIFICATION model_binary(
INPUT_DATA => SYSTEM$REFERENCE('view','binary_classification_view'),
TARGET_COLNAME =>'label');संचालित द्वारा
क्लासिफिकेशन करने के लिए, PREDICT मेथड का उपयोग करें:
// Performing prediction using PREDICT methodSELECT model_binary!PREDICT(INPUT_DATA => {*})AS prediction FROM prediction_purchase_data;संचालित द्वारा
प्रेडिक्शन इस तरह दिखता है:
इसे अच्छी तरह फॉर्मेट करने के लिए, यह SQL स्टेटमेंट उपयोग करें:
// Formatting SQL predictionsSELECT*, model_binary!PREDICT(INPUT_DATA => {*})AS predictions FROM prediction_purchase_data;संचालित द्वारा
आपको प्रेडिक्शंस के लिए यह सुथरा आउटपुट फ़ॉर्मेट मिलना चाहिए:
3. Top insights
Top Insights, समय-श्रृंखला विश्लेषण के माध्यम से समय के साथ आपके मेट्रिक्स में उतार-चढ़ाव की तलाश के लिए एक मॉनिटरिंग टूल है। एक निर्णय वृक्ष मॉडल का उपयोग करते हुए, Top Insights किसी विशेष मेट्रिक में वृद्धि या कमी के सबसे महत्वपूर्ण कारकों की पहचान कर सकता है।
आइए इस फ़ंक्शन का उपयोग करके एक समय-श्रृंखला विश्लेषण का उदाहरण देखें।
इसके बाद, प्रेडिक्शन के लिए हमें मॉडल ऑब्जेक्ट बनाना होगा। यह GET_DRIVERS मेथड तक पहुँचने के लिए ज़रूरी है।
// Creating the modelCREATEORREPLACE SNOWFLAKE.ML.TOP_INSIGHTS my_insights_model()संचालित द्वारा
अंत में, प्रेडिक्शन के लिए, GET_DRIVERS मेथड कॉल करें।
// Performing prediction using GET_DRIVERS methodCALL my_insights_model!GET_DRIVERS(
INPUT_DATA =>TABLE(input_view),
LABEL_COLNAME =>'label',
METRIC_COLNAME =>'metric');संचालित द्वारा
आपको निम्न परिणाम मिलने चाहिए:
4. Forecasting
फ़ोरकास्टिंग तब महत्वपूर्ण होती है जब आपको ऐतिहासिक डेटा के आधार पर भविष्य के मानों की भविष्यवाणी करनी हो। चाहे वह बिक्री पूर्वानुमान हो, ऊर्जा खपत की भविष्यवाणी हो, या वेब ट्रैफ़िक का पूर्वानुमान हो, Snowflake के बिल्ट-इन फ़ंक्शंस इन कार्यों को बहुत सरल बना देते हैं।
अपने उदाहरण के लिए, एक सिंगल सीरीज़ पर कुछ फ़ोरकास्टिंग करें:
// Creating a view for training dataCREATEORREPLACEVIEW v1 ASSELECTdate, sales
FROM sales_data WHERE store_id=1AND item='jacket';SELECT*FROM v1;संचालित द्वारा
फ़ोरकास्टिंग शुरू करने से पहले, आपको चुने गए ट्रेनिंग डेटा के आधार पर अपना मॉडल प्रशिक्षित करना होगा।
इसे आप इस तरह कर सकते हैं:
// Training a forecasting modelCREATE SNOWFLAKE.ML.FORECAST model1(
INPUT_DATA =>TABLE(v1),
TIMESTAMP_COLNAME =>'date',
TARGET_COLNAME =>'sales');संचालित द्वारा
अंत में, फ़ोरकास्ट के लिए, आप प्रेडिक्शन चरण करने हेतु FORECAST मेथड कॉल कर सकते हैं।
// Performing the forecast by calling the FORECAST methodcall model1!FORECAST(FORECASTING_PERIODS =>5);संचालित द्वारा
यह हमारी फ़ोरकास्टिंग का परिणामी आउटपुट है।
Snowflake में ML मॉडलों की मॉनिटरिंग
मॉडल के प्रदर्शन की मॉनिटरिंग, Snowflake में थर्ड-पार्टी इंटीग्रेशन (जैसे Tableau) का उपयोग करके डैशबोर्ड बनाकर या Snowflake लॉग्स को क्वेरी करके की जा सकती है। सटीकता (accuracy), प्रीसिशन और रिकॉल जैसे कुछ उपयोगी मेट्रिक्स मॉडलों की ट्रैकिंग के लिए उपयोग किए जा सकते हैं।
निष्कर्ष
Snowflake Cortex AI, Snowflake प्लेटफ़ॉर्म से मॉडलों के सहज एकीकरण को सक्षम करके मशीन लर्निंग को सरल बनाता है। इस ट्यूटोरियल में आपने Snowflake Cortex AI और Snowflake Cortex ML फ़ंक्शंस का उपयोग करना सीखा।
यह समाधान Snowflake की स्केलेबिलिटी और Python की लचीलेपन का लाभ उठाता है, जिससे यह उन संगठनों के लिए आदर्श बनता है जो डेटा को क्लाउड से बाहर ले जाए बिना मशीन लर्निंग लागू करना चाहते हैं।
Python और Snowflake Cortex के साथ मशीन लर्निंग FAQs
क्या मशीन लर्निंग और AI के लिए Python अच्छा है?⌄
PyTorch, TensorFlow, और Keras जैसी शक्तिशाली लाइब्रेरी के कारण Python, मशीन लर्निंग और AI के लिए उपयुक्त है। Snowflake AI और ML फ़ंक्शंस तक भी Python के माध्यम से पहुँचा जा सकता है।
AI और मशीन लर्निंग के लिए Python का उपयोग कैसे करें?⌄
Python का उपयोग बिल्ट-इन लाइब्रेरीज़ के माध्यम से या Snowflake LLM और ML फ़ंक्शंस के जरिए AI और मशीन लर्निंग के लिए किया जा सकता है।
Snowflake Cortex के ML-आधारित फ़ंक्शंस का उपयोग कैसे करें?⌄
Snowflake Cortex के ML-आधारित फ़ंक्शंस का उपयोग SQL के माध्यम से प्रत्येक फ़ंक्शन के संबंधित मेथड्स को कॉल करके किया जा सकता है।
Snowflake AI मॉडल क्या हैं?⌄
Snowflake AI मॉडल वे बड़े भाषा मॉडल हैं जो Snowflake Cortex और उसके संबंधित फ़ंक्शंस को शक्ति देते हैं।
Snowflake मशीन लर्निंग के कुछ उदाहरण क्या हैं?⌄
Snowflake मशीन लर्निंग फ़ंक्शंस का उपयोग विभिन्न अनुप्रयोगों में किया जा सकता है, जैसे विसंगति पहचान, फ़ोरकास्टिंग, टॉप इनसाइट्स प्राप्त करना, और क्लासिफिकेशन।
मैं ऑस्टिन हूँ—एक ब्लॉगर और टेक राइटर, जिसके पास स्वास्थ्य सेवा क्षेत्र में डेटा वैज्ञानिक और डेटा विश्लेषक के रूप में वर्षों का अनुभव है। जीवविज्ञान की पृष्ठभूमि से अपनी टेक यात्रा शुरू करने के बाद, अब मैं अपने टेक ब्लॉग के माध्यम से दूसरों को भी यही बदलाव करने में मदद करता हूँ। प्रौद्योगिकी के प्रति मेरे जुनून ने मुझे दर्जनों SaaS कंपनियों के लिए लिखने के लिए प्रेरित किया है, जहाँ मैं अपनी अनुभूतियाँ साझा करता हूँ और दूसरों को प्रेरित करता हूँ।
डेटा साइंस में AI के संभावित अनुप्रयोगों में से एक के रूप में AI मॉडल प्रशिक्षण तेजी से उभर रहा है। खास तौर पर, Snowflake Cortex AI का उपयोग करके मशीन लर्निंग की जा सकती है।
इस गाइड में, हम कवर करेंगे कि Snowflake Cortex AI क्या है और यह क्या कर सकता है। साथ ही, हम Python और कुछ SQL की मदद से मशीन लर्निंग और AI शुरू करने पर एक साधारण ट्यूटोरियल भी देंगे। यदि आप Snowflake में नए हैं, तो हमारी Introduction to Snowflake course देखें ताकि आप गति पकड़ सकें।
Snowflake Cortex AI क्या है?
Snowflake Cortex AI, Snowflake AI Data Cloud में एक शक्तिशाली सुविधा है, जिसे Snowflake वातावरण के भीतर सीधे मशीन लर्निंग (ML) संचालन को आसान बनाने के लिए डिज़ाइन किया गया है।
यह Python ML मॉडलों को Snowflake डेटा के साथ सहजता से एकीकृत करने की अनुमति देता है, जिससे संगठन क्लाउड इन्फ्रास्ट्रक्चर का लाभ उठाते हुए बड़े डेटासेट से इनसाइट्स, भविष्यवाणियाँ, और उन्नत एनालिटिक्स प्राप्त कर सकते हैं।
स्रोत: Snowflake Cortex AI
Snowflake Cortex AI की प्रमुख विशेषताएँ:
Snowflake Cortex दो मुख्य भागों से बना है—LLM फ़ंक्शंस और ML फ़ंक्शंस।
LLM फ़ंक्शंस के लिए, आपके पास हैं:
हम नीचे प्रत्येक फ़ंक्शन को और विस्तार से देखेंगे।
ML फ़ंक्शंस के लिए, आपके पास हैं:
जानना चाहते हैं कि Snowflake और उसके फ़ंक्शंस कहाँ सीखें? हमारे शुरुआती Snowflake Tutorial और Snowflake सर्टिफिकेशन गाइड आपकी मदद करेंगे।
Python के साथ Snowflake Cortex AI क्यों उपयोग करें?
आइए अब इन टूल्स को एक साथ उपयोग करने के फ़ायदों को देखें।
Snowflake Cortex AI और Python को साथ लाने के फायदे
Snowflake Cortex AI के कुछ प्रमुख फायदे:
उपयोग के मामले और अनुप्रयोग
पहले, Snowflake Cortex AI उन व्यवसायों के लिए उपयुक्त है जो संसाधनों में बड़े निवेश के बिना अपनी डेटा साइंस क्षमताओं में सुधार करना चाहते हैं। इसके नो-कोड वातावरण के साथ, गैर-तकनीकी उपयोगकर्ता भी आसानी से ML मॉडल विकसित और तैनात कर सकते हैं।
यह विशेष रूप से छोटे व्यवसायों या स्टार्टअप्स के लिए उपयोगी है, जिनके पास डेटा वैज्ञानिकों की टीम रखने या महंगे LLMs में निवेश करने का बजट नहीं होता।
दूसरे, Python को Snowflake के कंप्यूटिंग वातावरण में एकीकृत करके, उपयोगकर्ता Python की उपलब्ध मशीन लर्निंग लाइब्रेरी और टूल्स के विशाल संग्रह का लाभ उठा सकते हैं। इसका मतलब है कि वे नई प्रोग्रामिंग भाषाएँ सीखे बिना अधिक उन्नत और सटीक मॉडल बना सकते हैं।
अंत में, जिन कंपनियों ने पहले से ही Snowflake वातावरण को अपनाया है, वे Cortex AI के पूर्ण लाभ उठा पाएंगी क्योंकि यह उनके मौजूदा डेटा वेयरहाउस के साथ सहजता से एकीकृत हो जाता है, जिससे अतिरिक्त इन्फ्रास्ट्रक्चर या डेटा माइग्रेशन की आवश्यकता समाप्त हो जाती है।
Snowflake Cortex AI के साथ, कंपनियाँ आसानी से और कुशलतापूर्वक अपने व्यावसायिक प्रक्रियाओं में मशीन लर्निंग लागू कर सकती हैं।
Snowflake Cortex AI के साथ शुरुआत करना
इस ट्यूटोरियल में, हम Python और Snowflake Cortex AI का उपयोग करके एक मशीन लर्निंग पाइपलाइन सेटअप करने की प्रक्रिया से गुजरेंगे।
पूर्वापेक्षाएँ
Snowflake Cortex AI के साथ ML पर काम शुरू करने से पहले, सुनिश्चित करें कि आप निम्नलिखित आवश्यकताओं को पूरा करते हैं:
Snowflake खाता सेट करना
सबसे पहले, आपको एक Snowflake इंस्टेंस की आवश्यकता होगी जहाँ आपका डेटा स्टोर और प्रोसेस होता है। आप Snowflake वेबसाइट पर साइन अप कर सकते हैं।
साइन-अप फ़ॉर्म में, अपने सभी खाता विवरण भरें और दूसरी पेज पर निम्नलिखित चयन करने का ध्यान रखें। इस ट्यूटोरियल के लिए Standard संस्करण चुनें और सरलता व पुनरुत्पादन के लिए Amazon Web Services चुनें। सर्वर के लिए, US West (Oregon) चुनें ताकि LLM फ़ंक्शंस का सबसे अच्छा चयन उपलब्ध हो।
इन विकल्पों का चयन करने के बाद, Get Started पर क्लिक करें ताकि आपको एक्टिवेशन ईमेल मिल जाए। अपना खाता सक्रिय करने के लिए अपने ईमेल पर जाएँ और आपका Snowflake खाता उपयोग के लिए तैयार है।
सॉफ़्टवेयर आवश्यकताएँ
अगले चरण में, आपको सॉफ्टवेयर के लिए कुछ अन्य आवश्यकताओं को भी पूरा करना होगा।
यहाँ रखने के लिए चीज़ों की एक सरल सूची है:
किसी भी विश्लेषण को शुरू करने से पहले, सभी संबंधित पैकेज इंस्टॉल करें ताकि आपका कोडिंग वातावरण तैयार हो।
आवश्यक पैकेज इंस्टॉल करने के लिए, आप pip का उपयोग कर सकते हैं:
लाइब्रेरी इंस्टॉल करने के बाद, शुरू करने के लिए आपको अपना वर्किंग फ़ोल्डर और फ़ाइलें सेट करनी होंगी।
मैंने Cortex AI Tutorial नाम का एक फ़ोल्डर बनाया है और उसमें एक नया
.envफ़ाइल शामिल की है, जिसमें निम्न जानकारी है:अपनी खाता जानकारी दर्ज करने के बाद, फ़ाइल सहेजें और उसी फ़ोल्डर में एक Python या Jupyter Notebook फ़ाइल बनाएँ।
Snowflake से कनेक्ट करना
अब जब सब सेट हो गया है, तो अपने Python वातावरण को Snowflake से कनेक्ट करें।
शुरू करने के लिए, अपनी Python फ़ाइल खोलें और सभी आवश्यक लाइब्रेरी इम्पोर्ट करें। ऐसा करने के लिए कोड यहाँ है:
इसके बाद, आपको पहले सहेजी गई .env फ़ाइल में सहेजे गए वेरिएबल्स को लोड करना होगा। इससे Snowflake को आपके खाता क्रेडेंशियल्स मिलेंगे ताकि वह लॉग इन कर सके और अपने फ़ंक्शंस का उपयोग कर सके।
वेरिएबल्स का उपयोग करके कनेक्ट करने के बाद, आपको एक Snowflake सेशन सेट करना होगा। यही ऑब्जेक्ट आपकी सभी रिक्वेस्ट हैंडल करेगा।
Snowflake Cortex AI LLM फ़ंक्शंस
Cortex AI के भीतर LLM फ़ंक्शंस उपयोगकर्ताओं को अपने स्वयं के AI मॉडल विकसित किए बिना LLMs की क्षमता का लाभ उठाने में सक्षम बनाते हैं।
ये फ़ंक्शंस औसत एनालिटिक्स उपयोगकर्ता को कुछ बुनियादी कार्यों के माध्यम से AI-संचालित विश्लेषण प्रदान करने में मदद करते हैं।
यहाँ वे फ़ंक्शंस हैं जो Snowflake Cortex में हैं:
1. SUMMARIZE
Summarize फ़ंक्शन, दिए गए इनपुट के आधार पर डेटा का सारांश बनाने के लिए उपयोग होता है।
यह LLMs का उपयोग करके प्रमुख जानकारी की पहचान करता है और उसे संक्षिप्त रूप में प्रस्तुत करता है।
उदाहरण के लिए, यदि आपके पास एक लंबा टेक्स्ट दस्तावेज़ है और आप उसकी सामग्री का त्वरित अवलोकन चाहते हैं, तो आप Summarize फ़ंक्शन का उपयोग करके एक संक्षिप्त सारांश प्राप्त कर सकते हैं जो महत्वपूर्ण बिंदुओं को समेटता है। यह समय बचाता है और बड़े पैमाने के डेटा का जल्दी विश्लेषण करने की अनुमति देता है।
इस लेख को लिखते समय इनपुट भाषा फिलहाल अंग्रेज़ी तक सीमित है।
संदर्भ के लिए नीचे दिया कोड देखें:
2. TRANSLATE
Translate फ़ंक्शन एक भाषा से दूसरी भाषा में टेक्स्ट बदलने के लिए उपयोग होता है।
यह टेक्स्ट का सटीक अनुवाद करने के लिए मशीन लर्निंग एल्गोरिदम और सांख्यिकीय मॉडलों का उपयोग करता है।
यह तब उपयोगी हो सकता है जब आप अलग-अलग भाषाओं में डेटा या दस्तावेज़ों के साथ काम कर रहे हों, क्योंकि यह संचार और समझ को आसान बनाता है।
उदाहरण के लिए, यदि आपके पास स्पैनिश में लिखा एक रिपोर्ट है और आपको इसे अंग्रेज़ी-भाषी दर्शकों को प्रस्तुत करना है, तो आप Translate फ़ंक्शन का उपयोग करके टेक्स्ट को जल्दी से बदल सकते हैं। इससे मैन्युअल अनुवाद की आवश्यकता समाप्त हो जाती है और समय बचता है।
संदर्भ के लिए नीचे दिया कोड देखें:
3. COMPLETE
Complete फ़ंक्शन एक सर्वगुण संपन्न फ़ंक्शन है जिसे विशिष्ट कार्यों को पूरा करने के लिए उपयोग किया जा सकता है। यह वाक्य प्रॉम्प्ट्स के उपयोग के माध्यम से किया जाता है, जो AI मॉडल को आवश्यक जानकारी प्रदान करने के लिए मार्गदर्शन करते हैं ताकि कोई कार्य निष्पादित किया जा सके।
संदर्भ के लिए नीचे दिया कोड देखें:
4. EXTRACT_ANSWER
Extract Answer फ़ंक्शन, मॉडल को दिए गए प्रश्न के आधार पर उत्तर देता है। इनपुट अंग्रेज़ी में स्ट्रिंग या JSON फ़ॉर्मेट में होना चाहिए।
संदर्भ के लिए नीचे दिया कोड देखें:
5. SENTIMENT
Sentiment फ़ंक्शन दिए गए टेक्स्ट की भावनाओं के आधार पर एक मात्रात्मक संख्या प्रदान करता है। यह -1 से 1 तक का मान देता है। -1 सबसे नकारात्मक, 1 सबसे सकारात्मक, और 0 के आसपास के मान तटस्थ होते हैं।
संदर्भ के लिए नीचे दिया कोड देखें:
6. EMBED_TEXT
Embed Text फ़ंक्शंस में
EMBED_TEXT_768औरEMBED_TEXT_1024फ़ंक्शंस शामिल हैं। ये क्रमशः 768 और 1024 डायमेंशन के वेक्टर एम्बेडिंग बनाते हैं।EMBED_TEXT_768फ़ंक्शंस पर संदर्भ के लिए नीचे दिया कोड देखें:अब आइए उन्हें सबको एक मुख्य फ़ंक्शन में साथ रखें और परिणाम देखने के लिए किसी सैंपल टेक्स्ट पर चलाएँ।
मैंने मॉडल में इनपुट के लिए नीचे दिखाए अनुसार एक साधारण, छोटा टेक्स्ट उपयोग किया है:
कॉपी-पेस्ट की सुविधा के लिए, यहाँ टेक्स्ट है:
अब, कोड चलाएँ। इसमें कुछ ही सेकंड लगने चाहिए।
यहाँ परिणाम हैं:
जैसा कि आप देख सकते हैं, AI ने हमारे दिए गए टेक्स्ट के आधार पर हमें सभी आवश्यक परिणाम दिए हैं। इसने सारांश दिया, मेरे टेक्स्ट का कोरियन में अनुवाद किया, मेरे टेक्स्ट के आधार पर तीन कीवर्ड दिए, और मेरे प्रश्नों के आधार पर कुछ उत्तर भी प्रदान किए।
Snowflake Cortex AI मशीन लर्निंग फ़ंक्शंस
Cortex AI में ऐसे ML फ़ंक्शंस भी हैं जो केवल SQL का उपयोग करके चल सकते हैं। यहाँ इसके कई फ़ंक्शंस दिए गए हैं।
1. Anomaly detection
विसंगति का पता लगाना आपके डेटा के अपेक्षित व्यवहार से मेल न खाने वाले असामान्य पैटर्न की पहचान के लिए आवश्यक है। Snowflake, ग्रेडिएंट बूस्टिंग मशीन (GBM) पर आधारित बिल्ट-इन मशीन लर्निंग फ़ंक्शंस प्रदान करके विसंगति का पता लगाने को सरल बनाता है, जो आपको अपने डेटासेट्स में आउटलिएर्स को जल्दी से पहचानने देता है।
विसंगति का पता लगाना विशेष रूप से इन कार्यों के लिए उपयोगी है:
विसंगति का पता लगाने के लिए, Snowflake क्लास ANOMALY_DETECTION (SNOWFLAKE.ML) का उपयोग किया जा सकता है। यह कमांड एक विसंगति पहचान मॉडल ऑब्जेक्ट बनाता है। यह चरण आपके प्रशिक्षण डेटा पर मॉडल को फिट करता है।
इसे इस तरह उपयोग कर सकते हैं:
एक बार ऑब्जेक्ट बना लेने के बाद, आप <model_name>!DETECT_ANOMALIES मेथड का उपयोग करके विसंगति का पता लगा सकते हैं,
यह वास्तविक प्रेडिक्शन चरण है, जहाँ इस मेथड का उपयोग करके आउटलिएर्स का पता लगाया जाएगा।
यहाँ एक उदाहरण है कि डेटासेट का उपयोग करके विसंगति का पता कैसे लगाया जा सकता है।
सबसे पहले, बाएँ टैब में Data पर जाएँ, फिर Add Data, और उसके बाद Load data into a Table पर जाएँ ताकि आप एक डेटाबेस बना सकें।
उभरने वाली विंडो में, + Database पर क्लिक करें और अपने डेटाबेस का नाम दें। Create पर क्लिक करें, फिर मुख्य पॉपअप विंडो में Cancel पर क्लिक करें।
यह एक खाली डेटाबेस बना देगा, जिस पर आप काम कर सकते हैं।
नीचे दिए उदाहरण Snowflake दस्तावेज़ीकरण से अनुकूलित किए गए हैं।
विसंगति पहचान शुरू करने के लिए, एक नए SQL वर्कशीट पर जाएँ, अपने नए डेटाबेस को डेटा स्रोत के रूप में चुनें, और टेबल बनाने के लिए निम्न कोड पेस्ट करें:
CREATE OR REPLACE TABLE historical_sales_data (
store_id NUMBER, item VARCHAR, date TIMESTAMP_NTZ, sales FLOAT, label BOOLEAN,
temperature NUMBER, humidity FLOAT, holiday VARCHAR);
आपका कोड एक ऐसे SQL वर्कशीट में जाना चाहिए जो इस तरह दिखता है:
इसके बाद निम्न स्टेटमेंट्स से
new_sales_dataनाम की टेबल बनती है।अब, विसंगति पहचान मॉडल बनाएँ:
यह एक परिणाम बनाएगा जो दर्शाता है कि नीचे दिखाए अनुसार एक मॉडल बना दिया गया है।
अगला, कुछ डिटेक्शन करने के लिए ऑब्जेक्ट मॉडल का उपयोग करें।
डिटेक्शन का आउटपुट इस प्रकार है:
2. Classification
Classification का अर्थ है डेटा को पूर्व-परिभाषित श्रेणियों में बाँटना। Snowflake के साथ, आप सीधे Snowflake के भीतर से डेटा को वर्गीकृत कर सकते हैं, जिससे डेटा को बाहरी ML वातावरण में निर्यात करने की आवश्यकता समाप्त हो जाती है।
शुरू करने के लिए, निम्न कोड का उपयोग करके एक सैंपल डेटासेट बनाएँ:
ट्रेनिंग डेटा के उद्देश्य से, एक नया व्यू बनाएँ।
यह व्यू निम्न परिणाम आउटपुट करना चाहिए:
अगला, अपने ट्रेनिंग डेटा के आधार पर मॉडल को प्रशिक्षित करें:
क्लासिफिकेशन करने के लिए,
PREDICTमेथड का उपयोग करें:प्रेडिक्शन इस तरह दिखता है:
इसे अच्छी तरह फॉर्मेट करने के लिए, यह SQL स्टेटमेंट उपयोग करें:
आपको प्रेडिक्शंस के लिए यह सुथरा आउटपुट फ़ॉर्मेट मिलना चाहिए:
3. Top insights
Top Insights, समय-श्रृंखला विश्लेषण के माध्यम से समय के साथ आपके मेट्रिक्स में उतार-चढ़ाव की तलाश के लिए एक मॉनिटरिंग टूल है। एक निर्णय वृक्ष मॉडल का उपयोग करते हुए, Top Insights किसी विशेष मेट्रिक में वृद्धि या कमी के सबसे महत्वपूर्ण कारकों की पहचान कर सकता है।
आइए इस फ़ंक्शन का उपयोग करके एक समय-श्रृंखला विश्लेषण का उदाहरण देखें।
सबसे पहले, एक डेटासेट बनाएँ:
इसके बाद, प्रेडिक्शन के लिए हमें मॉडल ऑब्जेक्ट बनाना होगा। यह
GET_DRIVERSमेथड तक पहुँचने के लिए ज़रूरी है।अंत में, प्रेडिक्शन के लिए, GET_DRIVERS मेथड कॉल करें।
आपको निम्न परिणाम मिलने चाहिए:
4. Forecasting
फ़ोरकास्टिंग तब महत्वपूर्ण होती है जब आपको ऐतिहासिक डेटा के आधार पर भविष्य के मानों की भविष्यवाणी करनी हो। चाहे वह बिक्री पूर्वानुमान हो, ऊर्जा खपत की भविष्यवाणी हो, या वेब ट्रैफ़िक का पूर्वानुमान हो, Snowflake के बिल्ट-इन फ़ंक्शंस इन कार्यों को बहुत सरल बना देते हैं।
अपने उदाहरण के लिए, एक सिंगल सीरीज़ पर कुछ फ़ोरकास्टिंग करें:
अब, डेटासेट से ट्रेनिंग डेटा को अलग करें।
फ़ोरकास्टिंग शुरू करने से पहले, आपको चुने गए ट्रेनिंग डेटा के आधार पर अपना मॉडल प्रशिक्षित करना होगा।
इसे आप इस तरह कर सकते हैं:
अंत में, फ़ोरकास्ट के लिए, आप प्रेडिक्शन चरण करने हेतु FORECAST मेथड कॉल कर सकते हैं।
यह हमारी फ़ोरकास्टिंग का परिणामी आउटपुट है।
Snowflake में ML मॉडलों की मॉनिटरिंग
मॉडल के प्रदर्शन की मॉनिटरिंग, Snowflake में थर्ड-पार्टी इंटीग्रेशन (जैसे Tableau) का उपयोग करके डैशबोर्ड बनाकर या Snowflake लॉग्स को क्वेरी करके की जा सकती है। सटीकता (accuracy), प्रीसिशन और रिकॉल जैसे कुछ उपयोगी मेट्रिक्स मॉडलों की ट्रैकिंग के लिए उपयोग किए जा सकते हैं।
निष्कर्ष
Snowflake Cortex AI, Snowflake प्लेटफ़ॉर्म से मॉडलों के सहज एकीकरण को सक्षम करके मशीन लर्निंग को सरल बनाता है। इस ट्यूटोरियल में आपने Snowflake Cortex AI और Snowflake Cortex ML फ़ंक्शंस का उपयोग करना सीखा।
यह समाधान Snowflake की स्केलेबिलिटी और Python की लचीलेपन का लाभ उठाता है, जिससे यह उन संगठनों के लिए आदर्श बनता है जो डेटा को क्लाउड से बाहर ले जाए बिना मशीन लर्निंग लागू करना चाहते हैं।
Snowflake पर और संसाधन ढूँढ रहे हैं? आपको हमारा Snowflake Beginner Tutorial और हमारा Snowpark गाइड पसंद आएगा। यदि आप कुछ अधिक व्यापक खोज रहे हैं, तो Introduction to Snowflake कोर्स आपके लिए सही हो सकता है।