युनिट्स
1. एमएल अभियांत्रिकीमध्ये कृत्रिम बुद्धिमत्ता: भूमिका, सीमा, प्रमाणीकरण आणि जबाबदारी 2. डेटा पाइपलाइन: संकलन, साफ करणे, टॅग करणे आणि आवृत्ती करणे 3. मॉडेल प्रशिक्षण आणि मूल्यमापन: अचूक मेट्रिक्स, प्रामाणिक बेंचमार्किंग 4. LLM अर्ज: RAG सह तुमच्या स्वतःच्या डेटावर आधारित उत्तरे 5. एलएलएम अर्ज: एजंट, टूलिंग आणि सुरक्षित ऑटोमेशन 6. फाइन-ट्यूनिंग बेस: केव्हा, कसे आणि कोणत्या जोखमीसह 7. MLOps आणि उपयोजन: प्रयोगशाळेतून उत्पादनाकडे मॉडेल हलवणे 8. इव्हल आणि मॉनिटरिंग: उत्पादनामध्ये मॉडेल खरोखर काय करते हे जाणून घेणे 9. सुरक्षा आणि गोपनीयता: AI सिस्टमचे रक्षण करणे 10. बायस, एथिक्स आणि कॉस्ट: जबाबदार आणि शाश्वत AI अभियांत्रिकी 11. पुनरुत्पादनक्षमता आणि एंड-टू-एंड प्रोजेक्ट: सर्वकाही एकत्र करणे
युनिट 2 / 11

डेटा पाइपलाइन: संकलन, साफ करणे, टॅग करणे आणि आवृत्ती करणे

नफा:

  • डेटा पाइपलाइन सेट करण्याची क्षमता (संकलन, प्रमाणीकरण, साफ करणे, परिवर्तन करणे, विभाजन करणे, आवृत्ती करणे) आणि पाइपलाइनच्या सुरुवातीला स्कीमा प्रमाणीकरण ठेवणे
  • डेटा गळती रोखण्यासाठी फील्ड अर्थ आणि विभागणीवर आधारित गहाळ मूल्य आणि लेबलिंग निर्णय घेण्याची क्षमता (समूह आणि तात्पुरती)
  • डेटा आवृत्ती आणि यादृच्छिकतेचे बीज निश्चित करून पुनरुत्पादक डेटा बेस तयार करण्याची क्षमता

प्रत्येक मशीन लर्निंग सिस्टमची खरी ताकद डेटामध्ये असते, मॉडेलमध्ये नाही. अनुभवी अभियंत्यांना माहित आहे: “कचरा आत, कचरा बाहेर” — अगदी प्रगत मॉडेलने खराब डेटा दिलेला देखील वाईट परिणाम देईल. या युनिटमध्ये, आम्ही डेटा पाइपलाइन (डेटा पाइपलाइन: चरणांची साखळी ज्यामुळे कच्चा डेटा मॉडेल प्रशिक्षणासाठी तयार होतो) स्थापित करतो आणि या ओळीच्या कोणत्या टप्प्यावर आपण कृत्रिम बुद्धिमत्ता सुरक्षितपणे वापरू शकतो हे शिकतो.

डेटा लाइनच्या पायऱ्या

डेटा लाइन सामान्यत: या स्टॉपमधून जाते:

  1. संकलन (अंतर्ग्रहण): स्त्रोतांकडून डेटा खेचणे (डेटाबेस, API, लॉग फाइल्स, इव्हेंट प्रवाह).
  2. प्रमाणीकरण: डेटा अपेक्षित स्कीमा, प्रकार आणि श्रेणींशी सुसंगत आहे की नाही हे तपासत आहे.
  3. साफसफाई: गहाळ मूल्ये, डुप्लिकेट रेकॉर्ड, आउटलियर आणि विसंगती हाताळणे.
  4. परिवर्तन: अपरिष्कृत डेटाला विशेषतांमध्ये बदलणे — जसे की एका विशिष्ट व्हेरिएबलला संख्येमध्ये रूपांतरित करणे, तारखेपासून "आठवड्याचा दिवस" ​​तयार करणे.
  5. विभाजन: प्रशिक्षण, प्रमाणीकरण आणि चाचणी संचांमध्ये विभक्त करणे.
  6. आवृत्ती: रेकॉर्डिंग कोणत्या मॉडेलला कोणत्या डेटासह प्रशिक्षित केले गेले.

आर्टिफिशियल इंटेलिजन्स कोड मसुदे आणि कल्पना तयार करून वेळ वाचवते, विशेषत: चरण 2, 3 आणि 4 मध्ये. परंतु कोणते रेकॉर्ड टाकून द्यावे, कोणते गहाळ मूल्य भरायचे आणि कसे यासारखे निर्णय डेटा जाणणाऱ्या अभियंत्याचे आहेत; कारण अयोग्य स्वच्छता मॉडेलमध्ये छुपा पूर्वाग्रह इंजेक्ट करू शकते.

डेटा पडताळणी: लाइनचे लवकर संरक्षण

सर्वात महाग त्रुटी उत्पादनात सुरू होत नाहीत, परंतु जेथे सत्यापन चरण वगळले जाते. स्कीमा प्रमाणीकरण आपोआप तपासते की डेटाचा प्रत्येक येणारा बॅच अपेक्षित संरचनेशी सुसंगत आहे की नाही. उदाहरणार्थ, ०-१२० मधील वय स्तंभ आहे, ईमेल फील्ड रिक्त आहे का, स्तंभांची संख्या बदलली आहे का?

टीप: ओळीच्या सुरुवातीला पडताळणी ठेवा. दूषित डेटा जितक्या लवकर पकडला जाईल, तितकाच तो दुरुस्त करणे स्वस्त आहे. उत्पादनामध्ये पकडलेली स्कीमा त्रुटी प्रशिक्षण टप्प्यात पकडलेल्या एकापेक्षा कितीतरी पटीने महाग असते.

खालील डेटा स्कीमासाठी पँडेरा (किंवा महान अपेक्षा) सह प्रमाणीकरण योजना लिहा. स्तंभ आणि नियम:- user_id: पूर्णांक, शून्य असू शकत नाही, अद्वितीय- वय: पूर्णांक, 0-120 पासून असू शकत नाही- signup_date: तारीख, भविष्यातील असू शकत नाही- देश: स्पष्ट, संच {TR, DE, US, UK}- शिल्लक: दशांश, नकारात्मक असू शकत नाही प्रत्येक नियम उल्लंघनासाठी एक अर्थपूर्ण त्रुटी संदेश तयार करा. कोडच्या शेवटी तुटलेल्या ओळीच्या उदाहरणासह चाचणी दर्शवा.

स्वच्छता: माणूस ठरवतो

गहाळ मूल्ये ही प्रत्येक डेटा सेटची वास्तविकता आहे. हाताळण्याचे मार्ग:

  • हटवणे: खूप जास्त गहाळ दर असलेली पंक्ती/स्तंभ टाकून देणे. परंतु माहितीचे नुकसान आणि पक्षपात होण्याचा धोका आहे.
  • इम्प्युटेशन: क्षुद्र, मध्यक, सर्वाधिक वारंवार मूल्य किंवा मॉडेल-आधारित अंदाज असलेले आरोप.
  • ध्वज: वेगळ्या ध्वज स्तंभात माहिती “गहाळ होती” संग्रहित करणे — काहीवेळा गहाळ होणे हाच सिग्नल असतो.

कोणते बरोबर आहे ते समस्येवर अवलंबून आहे. वैद्यकीय डेटा सेटमध्ये, "रक्त मूल्य मोजले जात नाही" माहिती हटविण्याऐवजी जतन केली पाहिजे; कारण डॉक्टरांनी मोजमाप घेण्यास नकार देणे देखील एक संकेत आहे. AI तुम्हाला पर्याय आणि कोड देऊ शकते; फील्डच्या वास्तविकतेशी जुळणारे एक तुम्ही निवडा.

कमकुवत प्रॉम्प्ट / मजबूत प्रॉम्प्ट

कमकुवत प्रॉम्प्ट: "गहाळ मूल्ये भरा."

सशक्त प्रॉम्प्ट: "खालील स्तंभांमध्ये गहाळ मूल्ये आहेत: उत्पन्न (12% गहाळ, उजवे-तिरकस वितरण), लास्ट_लॉगिन (30% गहाळ). मीडियनसह उत्पन्न भरण्याचे सुचवा, परंतु मध्यकाचा अर्थ का नाही हे स्पष्ट करा. लास्ट_लॉगिनसाठी, गहाळ मूल्य कदाचित महत्त्वाचे असू शकते असे गृहीत धरा (वापरकर्त्याने कधीही लॉग इन करण्याऐवजी genle_लॉग इन करण्याचा विचार केला नसेल); पूर्वाग्रह लिहा एकतर दृष्टिकोन मॉडेलमध्ये जोडेल."

फरक: मजबूत प्रॉम्प्ट वितरण माहिती आणि क्षेत्राचा अर्थ देते; कृत्रिम बुद्धिमत्ता यांत्रिक भरण्याऐवजी निर्णय समर्थन तयार करते.

लेबलिंग: गुणवत्ता मोजली जाते

पर्यवेक्षित शिक्षणामध्ये (ज्यामध्ये उदाहरणे योग्य उत्तरे दिली आहेत ते शिकणे), मॉडेल जे शिकतो ते लेबले (लेबल: प्रत्येक उदाहरणासाठी योग्य उत्तर) असतात. लेबल गुणवत्ता कमाल मर्यादा सेट करते — जर लोकांनी विसंगत लेबल केले तर मॉडेल विसंगतपणे शिकते.

इंटर-एनोटेटर करार ज्या दराने भिन्न लोक एकाच नमुन्याला समान लेबल देतात ते मोजते; हे कोहेनच्या कप्पा सारख्या गुणांकाने व्यक्त केले जाते. कमी अनुपालन सूचित करते की एकतर कार्य अस्पष्ट आहे किंवा सूचना कमकुवत आहे.

कृत्रिम बुद्धिमत्ता दोन प्रकारे लेबलिंग करण्यात मदत करते: (1) भाष्य मार्गदर्शक तत्त्वाचा मसुदा तयार करणे, (2) प्री-लेबलिंग आणि फक्त मनुष्याने ते दुरुस्त करणे. परंतु LLM सह प्री-लेबलिंगमध्ये एक समस्या आहे: मॉडेलची पद्धतशीर त्रुटी संपूर्ण लेबल सेटमध्ये लीक होऊ शकते. म्हणूनच मानव नेहमी काही LLM लेबले तपासतात.

लक्ष द्या: LLM द्वारे उत्पादित लेबलांना "ग्राउंड ट्रुथ" मानू नका. मानवासह नमुना तपासा आणि एलएलएम-मानवी फिट मोजा. अनुपालन कमी असल्यास, प्री-लेबलिंग चांगल्यापेक्षा अधिक नुकसान करेल.

डेटा विभाजन: गळती रोखा

प्रशिक्षण/प्रमाणीकरण/चाचणीमध्ये डेटा विभाजित करताना सर्वात धोकादायक चूक म्हणजे डेटा लीक: चाचणी माहितीचे प्रशिक्षणामध्ये मिश्रण. उदाहरणे:

  • समान वापरकर्त्याचे रेकॉर्ड प्रशिक्षण आणि चाचणी (ग्रुप लीक) या दोन्हीमध्ये येतात.
  • प्रशिक्षणामध्ये भविष्याचा वापर करणे आणि वेळ मालिकेतील चाचणीमध्ये भूतकाळाचा वापर करणे (टेम्पोरल लीकेज).
  • सर्व डेटामधून स्केलिंग (सामान्यीकरण) पॅरामीटर्सची गणना करणे आणि नंतर विभाजित करणे.

वेळेचा समावेश असलेल्या समस्यांसाठी तात्पुरती विभाजन करणे आवश्यक आहे: भूतकाळासह प्रशिक्षण, भविष्यात चाचणी. यादृच्छिक विभाजनामुळे "भविष्यातील" फायदा होतो जो उत्पादनात कधीही होणार नाही आणि मेट्रिक्स वाढवते.

डेटा आवृत्ती आणि पुनरुत्पादनक्षमता

"आम्ही या मॉडेलला कोणत्या डेटासह प्रशिक्षण दिले?" काही महिन्यांनंतर प्रश्नाचे उत्तर देण्यास सक्षम असणे हे गंभीर एमएल अभियांत्रिकीचे वैशिष्ट्य आहे. डेटा व्हर्जनिंग प्रत्येक डेटा स्नॅपशॉट आयडी (हॅश किंवा आवृत्ती टॅग) सह संग्रहित करते. कोड सारखी DVC (डेटा आवृत्ती नियंत्रण) आवृत्ती डेटा सारखी साधने.

मॉडेलचे परिणाम पुनरुत्पादित करण्यासाठी, तीन गोष्टी निश्चित केल्या पाहिजेत: डेटा आवृत्ती, कोड आवृत्ती आणि यादृच्छिक बियाणे. या त्रिकुटाशिवाय "मला समान निकाल लागला" असे म्हणता येणार नाही. आम्ही युनिट 11 मध्ये पुनरुत्पादनक्षमता अधिक सखोल करू; परंतु डेटा पाइपलाइनमध्ये बियाणे निश्चित करणे येथून सुरू होते.

तीन लहान प्रकरणे

केस 1 - दिवसाचे स्कीमा प्रमाणीकरण जतन केले. जेव्हा एका टीमने अपस्ट्रीम सिस्टम किंमत फील्ड पेनीजमधून लिरामध्ये रूपांतरित केले, तेव्हा सर्व किंमती 100 पट घसरल्या. स्कीमा प्रमाणीकरणाने बॅचला "किंमत श्रेणीबाहेर" म्हणून नाकारले आणि मॉडेलला दूषित डेटासह प्रशिक्षण दिले गेले नाही. सत्यापनाशिवाय, चुकीच्या अंदाजांसह त्रुटी केवळ उत्पादनामध्ये लक्षात येईल.

केस 2 - चुकीचे भरण्याचे पूर्वाग्रह. क्रेडिट मॉडेलमध्ये, गहाळ उत्पन्न मूल्ये सरासरीने भरलेली होती. परंतु गहाळ उत्पन्न हे प्रामुख्याने कमी उत्पन्न गटात होते; सरासरीने या गटाला कृत्रिमरित्या "समृद्ध" केले, आणि मॉडेलने त्यांना अयोग्यरित्या उच्च मर्यादा देऊ केली. मध्यक + गहाळ ध्वजासह समस्येचे निराकरण केले.

केस 3 - टेम्पोरल गळती. मागणी अंदाज मॉडेल चाचणी सेटवर छान दिसले (95% अचूकता) परंतु उत्पादनात क्रॅश झाले. का: यादृच्छिक विभाजनामुळे, मॉडेलने भविष्य पाहिले होते. टेम्पोरल बिनिंगवर स्विच केल्याने चाचणी अचूकता 78% पर्यंत घसरली - परंतु ती खरी कामगिरी होती आणि ती उत्पादनात ठेवली.

कॉपी करण्यायोग्य टेम्पलेट्स

खालील डेटासेटला तीन संचांमध्ये विभाजित करा: प्रशिक्षण/प्रमाणीकरण/चाचणी. बंधन: ही एक वेळ मालिका आहे; टेम्पोरल स्प्लिटिंग वापरा (भूतकाळातील ट्रेन, भविष्यात चाचणी). बॅच लीकेज प्रतिबंधित करा: फक्त एकाच क्लस्टरमध्ये समान `ग्राहक_आयडी` ठेवा. केवळ प्रशिक्षण संचावरून स्केलिंग पॅरामीटर्सची गणना करा, नंतर सर्वांना लागू करा. प्रत्येक पायरीवर कोडमध्ये किती ओळी उरल्या आहेत हे मुद्रित करा आणि गळती नसल्याची तपासणी करणारी प्रतिज्ञा जोडा.

या लेबलिंग कार्यासाठी मसुदा भाष्य मार्गदर्शक तत्त्वे लिहा. कार्य: [उदा. लेबल ग्राहक पुनरावलोकन सकारात्मक/नकारात्मक/तटस्थ] सीमारेषेवरील प्रकरणे स्पष्ट करा: व्यंग, मिश्र भावना, उत्पादनाशी संबंधित नसलेले पुनरावलोकन कसे लेबल करावे? 5 उदाहरणे आणि 3 कठीण एज केसेस द्या ज्यामुळे टॅगर्समध्ये सुसंगतता वाढेल.

या डेटा पाइपलाइनसाठी पुनरुत्पादकता चेकलिस्ट तयार करा:- डेटा आवृत्ती कशी निश्चित केली जावी?- कोणते यादृच्छिकतेचे बीज कुठे सेट केले जावे?- कोणता मेटाडेटा (डेटा हॅश, रो संख्या, तारीख) लॉग केले जावे? माझा कोडबेस: [भाषा/लायब्ररी]

डेटा लीकसाठी हा क्लीनअप कोड तपासा. विशेषत: हे पहा: स्केलिंग/एनकोडिंग पॅरामीटर्स विभाजित करण्यापूर्वी मोजले जातात का? कोणतीही आकडेवारी सर्व डेटा किंवा फक्त प्रशिक्षणातून मोजली जाते? कोड: [कोड]

निर्णय सारणी: गहाळ मूल्य धोरण

स्थिती

शिफारस केलेला दृष्टीकोन

का

संख्यात्मक, तिरकस वितरण

मध्यकाने भरा

आउटलायर्समुळे सरासरी प्रभावित होते

संख्यात्मक, सममितीय

सरासरी भरा

माहितीचे संरक्षण करते

कमतरता लक्षणीय असू शकते

ध्वजस्तंभ + भरा

अभाव एक सिग्नल आहे

गहाळ दर > 60%

स्तंभाचे मूल्यमापन/काढून टाका

आवाज खूप आहे

स्पष्ट

"अज्ञात" श्रेणी

कृत्रिम बहुमत तयार करत नाही

सामान्य चुका

  • सत्यापन वगळणे. स्कीमा नियंत्रणाशिवाय, दूषित डेटा शांतपणे डोकावून जातो.
  • विभाजित करण्यापूर्वी स्केलिंग. हे शिक्षणात परीक्षेची आकडेवारी लीक करते.
  • वेळ मालिकेत यादृच्छिक विभाजन वापरणे. हे बनावट उच्च मेट्रिक्स तयार करते.
  • LLM लेबलांवर आंधळेपणाने विश्वास. पद्धतशीर त्रुटी संपूर्ण डेटामध्ये पसरते.
  • डेटा आवृत्ती जतन करत नाही. आपण परिणाम पुनरुत्पादित करू शकत नाही.
  • सरासरी सह यांत्रिक भरणे. हे क्षेत्राच्या अर्थाकडे दुर्लक्ष करते, पूर्वाग्रह जोडते.

सारांशात

डेटा पाइपलाइन हा ML प्रणालीचा पाया आहे आणि मॉडेलपेक्षा अधिक प्रयत्नांना पात्र आहे. शीर्षस्थानी सत्यापन ठेवा; डोमेन ज्ञानासह साफसफाई आणि लेबलिंग निर्णय घ्या; कंपार्टमेंटमध्ये गळती (गट आणि ऐहिक) प्रतिबंधित करा; डेटा आवृत्ती आणि बियाणे दुरुस्त करा. AI या ओळीवर कोड आणि कल्पना व्युत्पन्न करते, परंतु कोणत्या डेटावर प्रक्रिया करायची आणि कशी करायची हे तुमच्यावर अवलंबून आहे — कारण प्रत्येक चुकीचा निर्णय मॉडेलमध्ये छुपा दोष म्हणून जातो.

अर्ज कार्य

तुमच्या स्वतःच्या डेटासेटवर एक प्रमाणीकरण योजना (पांडेरा/ग्रेट एक्स्पेक्टेशन्स) लिहा आणि मुद्दाम एक खराब पंक्ती जोडा आणि ती पकडली गेली हे दाखवा. नंतर डेटा तात्पुरता किंवा बॅचच्या दिशेने विभाजित करा, केवळ प्रशिक्षणातून स्केलिंग पॅरामीटर्सची गणना करा आणि दावा करून कोणतीही गळती नसल्याचे सत्यापित करा. मेटाडेटा फाइलवर डेटा आवृत्ती आणि पंक्ती संख्या लिहा.

चेकलिस्ट

  • [ ] स्कीमा प्रमाणीकरण ओळीच्या शीर्षस्थानी चालते.
  • मी फील्ड अर्थावर आधारित गहाळ मूल्य धोरण निवडले, मी ते यांत्रिकरित्या भरले नाही.
  • [ ] मी लेबल गुणवत्ता (अनुपालन) मोजली; मी मानवी-तपासणी केलेले LLM टॅग.
  • मी उपखंडातील गट आणि ऐहिक गळती रोखली.
  • [ ] स्केलिंग/एनकोडिंगची गणना केवळ प्रशिक्षण संचातून केली जाते.
  • [] डेटा आवृत्ती, पंक्तींची संख्या आणि बियाणे रेकॉर्ड केले.