एआई क्रांति को बनने में कई दशक लग गए थे। यह उत्साह से भरा क्षेत्र था, फिर भी अक्सर निराशाओं और " एआई विंटर्स " से घिरा रहता था। लेकिन हाल ही में, कुछ बदलाव आया। चैटजीपीटी, क्लाउड और बार्ड जैसे बड़े भाषा मॉडल (एलएलएम) ने एआई को प्रयोगशाला जिज्ञासा से मुख्यधारा तक पहुंचाया।
यह बदलाव न केवल एआई की जीत थी, बल्कि बड़े और अव्यवस्थित डेटा की जटिलताओं पर भी जीत थी। जैसा कि कहा जाता है, "कचरा अंदर, कचरा बाहर।" नए उपकरण उभर रहे हैं जो अंतर्निहित डेटा को बेहतर बनाने पर ध्यान केंद्रित करते हैं, इसलिए एलएलएम में सुधार करते हैं।
"बड़े भाषा मॉडल" शब्द में दो बड़ी चुनौतियाँ हैं। सबसे पहले, डेटा की विशाल मात्रा। हम GPT-4 के लिए एक पेटाबाइट (दस लाख गीगाबाइट) डेटा के बारे में बात कर रहे हैं, जिसमें लाखों किताबें, ब्लॉग, सोशल मीडिया पोस्ट, वीडियो ट्रांसक्रिप्ट और बहुत कुछ शामिल है। यह विशाल पैमाना विशाल क्षमता प्रदान करता है लेकिन महत्वपूर्ण तार्किक विचार भी प्रस्तुत करता है।
दूसरा, प्राकृतिक भाषा की जटिलता. संदर्भ-निर्भर, अस्पष्ट और विविध, भाषा डेटा एक जंगली जानवर है जिसे वश में करने के लिए सबसे अच्छे एल्गोरिदम भी संघर्ष करते हैं। इस सभी डेटा को सटीक रूप से लेबल करना असंभव है, जिसका अनिवार्य रूप से मतलब है कि अत्याधुनिक एलएलएम को भी गलत तरीके से लेबल किए गए ढेर सारे डेटा पर प्रशिक्षित किया जाता है।
इन चुनौतियों का सामना करने में, नए डेटा-केंद्रित उपकरण और पद्धतियाँ सामने आईं, जिससे एआई जो करने में सक्षम है उसमें सच्ची छलांग लगाई जा सके। क्लीनलैब और अन्य जैसे समाधानों ने विविध डेटा एकत्र करने, गुणवत्ता नियंत्रण को स्वचालित करने और भाषा को एआई मॉडल के लिए उपयुक्त रूप में संसाधित करने के तरीके पेश करना शुरू कर दिया।
ये उपकरण केवल वृद्धिशील सुधार ही प्रदान नहीं करते; उन्होंने एआई डेटा प्रबंधन के दृष्टिकोण को मौलिक रूप से नया आकार दिया। उन्होंने बड़े पैमाने पर भाषा डेटा को संभालने के कार्य को मैन्युअल, त्रुटि-प्रवण प्रक्रिया से स्वचालित, सटीक प्रक्रिया में बदल दिया, क्षेत्र को लोकतांत्रिक बनाया और अभूतपूर्व गति से प्रगति को सक्षम किया।
एआई में, वास्तविक दुनिया के डेटासेट में 7-50% तक एनोटेशन त्रुटियां होती हैं। ये खामियाँ प्रशिक्षण और मूल्यांकन में काफी बाधा डालती हैं। डेटा-केंद्रित AI डेटासेट की गुणवत्ता में सुधार पर जोर देता है।
उदाहरण के लिए, ओपनएआई की रणनीति इस जोर को दर्शाती है: “हमने सभी अच्छे डेटा को छोड़ने के बजाय सभी खराब डेटा को फ़िल्टर करने को प्राथमिकता दी। ऐसा इसलिए है क्योंकि हम अपने मॉडल को बाद में अधिक डेटा के साथ नई चीजें सिखाने के लिए हमेशा बेहतर बना सकते हैं, लेकिन मॉडल को वह चीज़ भूलाना बहुत कठिन है जो उसने पहले ही सीखी है।
हालाँकि, डेटा को मैन्युअल रूप से फ़िल्टर करने का तरीका समय लेने वाला और महंगा है। क्लीनलैब पैकेज एक ओपन-सोर्स फ्रेमवर्क है जो आज डेटा-केंद्रित एआई का अभ्यास करने के लिए लोकप्रिय है। यह आपको लेबल त्रुटियों, आउटलेयर, बहाव और अधिक जैसे सामान्य डेटासेट मुद्दों का पता लगाने के लिए अपने प्रशिक्षित एमएल मॉडल के आउटपुट पर डेटा गुणवत्ता एल्गोरिदम चलाने की अनुमति देता है।
कोड की केवल कुछ पंक्तियों के साथ, आप छवि, पाठ, सारणीबद्ध और ऑडियो जैसे विभिन्न प्रकार के डेटा में समस्याओं को स्वचालित रूप से ढूंढ और पहचान सकते हैं। क्लीनलैब पैकेज का उपयोग करके, आप यह तय कर सकते हैं कि अपने डेटासेट और मॉडल को कैसे सुधारें, अपने एमएल मॉडल को फिर से प्रशिक्षित करें और अपने मौजूदा कोड में कोई बदलाव किए बिना इसके प्रदर्शन में सुधार देखें।
दूसरी ओर, क्लीनलैब स्टूडियो, क्लीनलैब पैकेज के विस्तार से कहीं अधिक है; यह एक नो-कोड प्लेटफ़ॉर्म है जिसे वास्तविक दुनिया के डेटासेट में समस्याओं को खोजने और ठीक करने के लिए डिज़ाइन किया गया है। यह केवल समस्याओं का पता लगाने तक ही सीमित नहीं है, बल्कि डेटा क्यूरेशन और सुधार को संभालने में भी आगे बढ़ता है, और यहां तक कि कच्चे डेटा को विश्वसनीय एमएल या एनालिटिक्स में बदलने के लगभग सभी कठिन हिस्सों को स्वचालित करता है।
आइए डेटा-केंद्रित एआई की शक्ति को प्रदर्शित करने के लिए क्लीनलैब पैकेज का उपयोग करें।
हम स्टैनफोर्ड पॉलिटेनेस डेटासेट से शुरुआत करते हैं। सुनिश्चित करें कि आपके पास ट्रेन और परीक्षण सेट लोड हैं। इस डेमो में, हम डेविंसी एलएलएम को 3-वर्ग वर्गीकरण के लिए पहले क्लीनलैब के बिना ठीक करेंगे, और फिर देखेंगे कि हम डेटा-केंद्रितता के साथ सटीकता में सुधार कैसे कर सकते हैं। हम किसी मॉडल को प्रशिक्षित करने के लिए एक सरल बैश कमांड चला सकते हैं।
!openai api fine_tunes.create -t "train_prepared.jsonl" -v "test_prepared.jsonl" --compute_classification_metrics --classification_n_classes 3 -m davinci --suffix "baseline"
जब यह हो जाता है, तो हम परीक्षण की सटीकता देखने के लिए fine_tunes.results
एंडपॉइंट को क्वेरी कर सकते हैं।
!openai api fine_tunes.results -i ft-9800F2gcVNzyMdTLKcMqAtJ5 > baseline.csv
`डीएफ = पीडी.रीड_सीएसवी('बेसलाइन.सीएसवी')
बेसलाइन_एसीसी = df.iloc[-1]['वर्गीकरण/सटीकता']`
हमें 63% सटीकता का परिणाम मिलता है। आइए देखें कि क्या हम इसमें सुधार कर सकते हैं।
अब, आइए एम्बेडिंग की गणना करने और आउट-ऑफ-सैंपल अनुमानित वर्ग संभावनाओं को प्राप्त करने के लिए एक लॉजिस्टिक रिग्रेशन मॉडल को फिट करने के लिए ओपनएआई के एपीआई का उपयोग करें।
# Get embeddings from OpenAI. from openai.embeddings_utils import get_embedding
embedding_model = "text-similarity-davinci-001" train["embedding"] = train.prompt.apply(lambda x: get_embedding(x, engine=embedding_model)) embeddings = train["embedding"].values
# Get out-of-sample predicted class probabilities via cross-validation.
from sklearn.linear_model import LogisticRegression
model = LogisticRegression() labels = train["completion"].values pred_probs = cross_val_predict(estimator=model, X=embeddings, y=labels, cv=10, method="predict_proba")
कोड की केवल एक पंक्ति के साथ, क्लीनलैब अनुमान लगाता है कि हमारे प्रशिक्षण डेटासेट में किन उदाहरणों में लेबल संबंधी समस्याएं हैं।
from cleanlab.filter import find_label_issues
अब हम लेबल संबंधी समस्याओं वाले अनुमानित उदाहरणों के सूचकांक प्राप्त कर सकते हैं:
issue_idx = find_label_issues(labels, pred_probs, return_indices_ranked_by='self_confidence') # sort indices by likelihood of label error
अब, हमने संभावित रूप से गलत लेबल किए गए उदाहरणों के सूचकांक स्वचालित रूप से निकाल लिए हैं, ताकि हम उन्हें हटा सकें और एक नया क्लासिफायरियर प्रशिक्षित कर सकें।
# Remove the label errors
train_cl = train.drop(issue_idx).reset_index(drop=True) format_data(train_cl, "train_cl.jsonl")
आइए अब बेहतर डेटा के साथ अधिक मजबूत क्लासिफायरियर को प्रशिक्षित करें।
!openai api fine_tunes.create -t "train_cl_prepared.jsonl" -v "test_prepared.jsonl" --compute_classification_metrics --classification_n_classes 3 -m davinci --suffix "dropped"
# Evaluate model on test data
!openai api fine_tunes.results -i ft-InhTRQGu11gIDlVJUt0LYbEx > cleanlab.csv df = pd.read_csv('cleanlab.csv') dropped_acc = df.iloc[-1]['classification/accuracy']
हम 66% से अधिक की सटीकता प्राप्त करते हैं, एक अत्याधुनिक फाइन-ट्यून करने योग्य मॉडल (जीपीटी-3, जैसा कि आप जीपीटी-4 को फाइन-ट्यून नहीं कर सकते) में सुधार करते हुए, बिना किसी बदलाव के, केवल डेटासेट में स्वचालित रूप से सुधार करके। मॉडल को.
क्लीनलैब स्टूडियो के साथ, गलत लेबलों को सीधे हटाने के बजाय उन्हें स्वचालित रूप से ठीक करना भी संभव है, जिससे सटीकता में और भी सुधार होता है। क्लीनलैब की एक मार्गदर्शिका से पता चलता है कि इसमें 77% तक सटीकता होती है।
क्लीनलैब जैसे डेटा-केंद्रित टूल का उपयोग करके, आप डेटा और लेबल समस्याओं को कुशलतापूर्वक ढूंढ और ठीक कर सकते हैं, जिससे डेविंसी जैसे एलएलएम के प्रदर्शन में महत्वपूर्ण सुधार हो सकते हैं। यह दृष्टिकोण मॉडल आर्किटेक्चर या हाइपरपैरामीटर में बदलाव नहीं करता है और केवल प्रशिक्षण डेटा की गुणवत्ता बढ़ाने पर ध्यान केंद्रित करता है।
इस गाइड में उल्लिखित दृष्टिकोण जीपीटी-5 जैसे भविष्य के उन्नत एलएलएम के साथ भी एआई मॉडल में और भी अधिक सटीकता और मजबूती को अनलॉक करने की कुंजी हो सकता है।