काहीही न समजण्यापासून ते RAG ॲप तयार करण्यापर्यंत
काल मी माझ्या स्वतःच्या NLP नोट्सचे ३१ पाने वाचण्यात घालवले.
मला काहीच समजले नाही.
मला वाटले की समस्या माझ्यात आहे. पण तसे नव्हते. समस्या माझ्या पद्धतीत होती. नोट्स वाचणे म्हणजे शिकणे नव्हे. माझ्याकडे तज्ज्ञांसाठी असलेल्या नोट्स होत्या, नवशिक्यांसाठी नाही.
मी माझा दृष्टिकोन बदलला. मी वाचणे थांबवले. त्याऐवजी, मी प्रश्न विचारले. मी साधी उदाहरणे वापरली. जोपर्यंत मला संकल्पना समजली नाही, तोपर्यंत मी तांत्रिक शब्द वापरण्यास नकार दिला.
दिवसाच्या अखेरीस, मी एक RAG ॲप तयार केले. NLP चे चार स्तंभ मी कसे शिकलो, ते खालीलप्रमाणे आहे.
- Bag of Words संगणकाला फक्त गणित समजते. मजकूर (text) प्रक्रिया करण्यासाठी, तुम्हाला शब्दांचे रूपांतर आकड्यांमध्ये करावे लागेल.
कल्पना करा की तुम्हाला ईमेल स्पॅम (spam) किंवा नॉन-स्पॅममध्ये विभागून लावायचे आहेत. तुम्ही तुमच्या ईमेलमधील प्रत्येक शब्दाची यादी करता. प्रत्येक शब्द किती वेळा येतो याची तुम्ही गणना करता. यामुळे ईमेलचे रूपांतर आकड्यांच्या एका ओळीत होते.
दोष काय आहे? ही पद्धत शब्दांचा क्रम दुर्लक्षित करते. "Dog bites man" आणि "man bites dog" या दोन्ही वाक्यांना ही पद्धत सारखीच मानते.
- TF-IDF Bag of Words प्रत्येक शब्दाला सारखेच मानते. पण "the" हा शब्द "viagra" इतका महत्त्वाचा नाही.
TF-IDF दोन नियम वापरते:
- Term Frequency (TF): एका ईमेलमध्ये एखादा शब्द किती वेळा येतो.
- Inverse Document Frequency (IDF): सर्व ईमेलमध्ये एखादा शब्द किती दुर्मिळ आहे.
हे गणित "the" सारख्या अनावश्यक शब्दांचा प्रभाव कमी करते आणि महत्त्वाच्या, दुर्मिळ शब्दांना अधोरेखित करते.
- Embeddings Bag of Words ला वाटते की "money" आणि "cash" यांचा एकमेकांशी संबंध नाही. Embeddings ही समस्या सोडवते.
एका विशाल नकाशाचा विचार करा. त्या नकाशावरील प्रत्येक शब्द एक बिंदू (dot) आहे. समान अर्थाचे शब्द एकमेकांच्या जवळ असतात. "Money" आणि "cash" हे शेजारी आहेत. "Banana" मात्र खूप लांब आहे.
एखादा शब्द कोणत्या शब्दांच्या सोबत येतो, हे पाहून संगणक ही ठिकाणे शिकतो. जर "money" आणि "cash" हे दोन्ही शब्द "bank" आणि "pay" च्या जवळ येत असतील, तर संगणक त्यांना एकमेकांच्या जवळ ठेवतो.
- RAG (Retrieval-Augmented Generation) इथेच सर्व गोष्टी एकत्र येतात.
जर तुमच्या फाईल्समधील प्रत्येक नोट नकाशावरील एक बिंदू असेल, तर तुम्ही जवळच्या बिंदूंचा शोध घेऊन उत्तरे शोधू शकता.
RAG प्रक्रिया:
- प्रश्नाचे रूपांतर एका बिंदूमध्ये करा.
- नकाशावरील सर्वात जवळच्या 'नोट-बिंदूंचा' शोध घ्या.
- त्या नोट्स AI ला द्या.
- AI ला फक्त त्या नोट्सचा वापर करून उत्तर देण्यास सांगा.
यामुळे AI ला अंदाज लावण्यापासून किंवा खोटे बोलण्यापासून रोखता येते. हे AI ला तुमच्या प्रत्यक्ष डेटाचा वापर करण्यास भाग पाडते.
मी या पायऱ्या वापरून माझे Synapse ॲप तयार केले. मी एका दिवसात शून्यापासून ते कार्यरत प्रणालीपर्यंत पोहोचलो.
धडा: वाचणे थांबवा. प्रश्न विचारण्यास सुरुवात करा. जर तुम्ही एखादी संकल्पना साध्या उदाहरणाद्वारे स्पष्ट करू शकत नसाल, तर तुम्हाला ती अजून समजलेली नाही. तुम्हाला ती समजली आहे हे सिद्ध करण्यासाठी काहीतरी तयार करा.
स्रोत: https://dev.to/sabimantock/from-i-understood-nothing-to-building-a-rag-app-4033
ऐच्छिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi