बड़े भाषा मॉडलों के लिए Retrieval-Augmented Generation (RAG) तकनीक की वर्तमान स्थिति
(discuss.pytorch.kr)PyTorchKR
-
LLM की लोकप्रियता के साथ RAG में रुचि भी बढ़ रही है। PyTorch Korea User Group ने पिछले 12/18~24 के प्रमुख ML पेपर्स में परिचित कराए गए RAG तकनीक पर सर्वे पेपर को संक्षेप में व्यवस्थित किया है.
-
सामग्री कुछ लंबी होने के कारण इसे 2 लेखों में बाँटकर प्रकाशित किया गया है। भाग 1 में RAG तकनीक के paradigms और भाग 2 में प्रमुख components, evaluation, और आगे के research tasks को व्यवस्थित किया गया है.
नीचे केवल विषय-सूची के आधार पर मुख्य बिंदुओं का संक्षेप दिया गया है
Retrieval-Augmented Generation (RAG) तकनीक का परिचय
बड़े भाषा मॉडल (LLM) उत्कृष्ट क्षमताएँ दिखाते हैं, लेकिन वास्तविक उपयोग के लिए hallucination, ज्ञान अपडेट होने में देरी, और उत्तरों में transparency की कमी जैसी समस्याओं को दूर करना आवश्यक है। RAG (Retrieval-Augmented Generation) इन्हीं समस्याओं को हल करने के लिए प्रस्तावित तकनीक है.
RAG वह तरीका है जिसमें बड़े भाषा मॉडल (LLM) प्रश्न का उत्तर या टेक्स्ट उत्पन्न करने से पहले व्यापक दस्तावेज़-संग्रह से संबंधित जानकारी खोजते हैं, और फिर उसी का उपयोग करके प्रतिक्रिया बनाते हैं। इसका मुख्य फोकस LLM की मौजूदा समस्याओं—पुराना पड़ चुका ज्ञान, किसी विशेष domain में ज्ञान की कमी, और उत्तर की transparency की कमी—को हल करना है.
इस तरह का RAG उत्तरों की सटीकता को काफी बढ़ाता है और विशेष रूप से knowledge-intensive कार्यों में मॉडल की hallucination को कम करने में मदद करता है। उपयोगकर्ता स्रोतों का citation देखकर उत्तर की सटीकता सत्यापित कर सकते हैं, जिससे मॉडल आउटपुट पर भरोसा बढ़ता है। साथ ही, ज्ञान अपडेट करना और किसी विशेष क्षेत्र का ज्ञान शामिल करना भी आसान हो जाता है.
RAG के अलावा fine-tuning का उपयोग करके बड़े भाषा मॉडल को किसी विशिष्ट ज्ञान पर केंद्रित किया जा सकता है। लेकिन ऐसा fine-tuning वास्तविक समय में अपडेट होने वाली जानकारी को दर्शाने में समय लेता है, और मॉडल को दोबारा प्रशिक्षित करने के लिए अतिरिक्त संसाधन भी चाहिए होते हैं। इसके विपरीत, RAG ऐसा है मानो LLM को किसी विशेष query के लिए जानकारी खोज सकने वाली एक 'reference book' दे दी गई हो.
RAG के 3 प्रमुख paradigms - अवलोकन
RAG तकनीक की research paradigms समय के साथ लगातार विकसित हो रही हैं। प्रमुख paradigms तीन हैं: basic RAG, advanced RAG, और modular RAG। शुरुआती basic RAG लागत के लिहाज़ से कुशल था और केवल LLM उपयोग करने की तुलना में बेहतर प्रदर्शन देता था, लेकिन उसमें कई कमियाँ भी थीं। Advanced RAG और modular RAG का उदय basic RAG की विशिष्ट खामियों को दूर करने के लिए हुआ.
RAG के 3 प्रमुख paradigms - basic RAG (Naive RAG)
basic RAG, RAG research की शुरुआती methodology को संदर्भित करता है, जिसमें पारंपरिक indexing, retrieval, और generation प्रक्रियाएँ शामिल होती हैं। basic RAG मुख्य रूप से सरल retrieval और generation पद्धतियों पर केंद्रित है, और RAG की मूल अवधारणाओं व सिद्धांतों को समझाने में महत्वपूर्ण है.
लेकिन retrieval accuracy कम होने, response generation की गुणवत्ता कम होने, और augmentation प्रक्रिया की कठिनाइयों के कारण अनावश्यक दोहराव, गलत जानकारी, और गलत context का एकीकरण जैसी समस्याएँ हो सकती हैं। इसलिए जटिल या चुनौतीपूर्ण scenarios में basic RAG का उपयोग उपयुक्त नहीं हो सकता.
RAG के 3 प्रमुख paradigms - advanced RAG (Advanced RAG)
advanced RAG, basic RAG की कमियों को सुधारने के लिए विकसित paradigm है। इसमें मुख्य रूप से retrieval और generation की गुणवत्ता बढ़ाने के लिए pre-retrieval तथा post-retrieval तरीके शामिल हैं। advanced RAG को मोटे तौर पर 3 चरणों में बाँटा जा सकता है: pre-retrieval process, post-retrieval process, और RAG pipeline optimization.
RAG के 3 प्रमुख paradigms - modular RAG (Modular RAG)
modular RAG, advanced RAG का विकसित रूप है, जो मौजूदा RAG framework से एक कदम आगे जाकर विभिन्न modules और functions को एकीकृत करता है, ताकि अधिक विविधता और लचीलापन मिल सके। इस approach में कई नए modules और patterns शामिल हैं, जो RAG system को विभिन्न scenarios और requirements के अनुसार अनुकूलित करने में सक्षम बनाते हैं.
RAG तकनीक के प्रमुख components: Retriever
Retriever, RAG संक्षेप के शुरुआती अक्षर R का प्रतिनिधित्व करता है, और system में महत्वपूर्ण information discovery की भूमिका निभाता है। Retriever बड़े डेटा-संग्रह से संबंधित जानकारी खोजकर text generation के लिए डेटा तैयार करता है। ऐसे Retriever का उपयोग LLM के सामान्य ज्ञान और वर्तमान, contextually accurate जानकारी की आवश्यकता के बीच की दूरी को पाटने के लिए किया जाता है। यह real-time data, domain-specific expertise, या fact-checking की आवश्यकता वाले scenarios में विशेष रूप से महत्वपूर्ण है.
RAG तकनीक के प्रमुख components: Generator
जैसा कि ऊपर देखा गया, Retriever की भूमिका उपयोगकर्ता इनपुट से candidate documents निकालना है, जबकि Generator की भूमिका retrieved परिणामों का उपयोग करके उपयोगकर्ता को दिया जाने वाला उत्तर बनाना है। retrieved जानकारी का प्रभावी उपयोग कर सटीक और प्रासंगिक उत्तर उत्पन्न करने के लिए यह post-processing की प्रक्रियाएँ—जैसे information compression और re-ranking—और input data के अनुकूल optimization प्रक्रियाएँ भी करता है.
RAG तकनीक के प्रमुख components: Augmentation Methods
इस अध्याय में हम RAG में augmentation methods को निम्न 3 पहलुओं से देखेंगे।
- augmentation का चरण (the stage of augmentation)
- data source augmentation (augmentation data sources)
- augmentation प्रक्रिया (the process of augmentation)
RAG मूल्यांकन (RAG Evaluation)
RAG evaluation का अर्थ है यह आकलन करना कि RAG कितनी प्रभावी तरह से काम करता है। मूल्यांकन broadly दो प्रकार का होता है: एक, Retriever या Generator जैसे प्रत्येक module का independent evaluation, और दूसरा input से output तक पूरी प्रक्रिया का end-to-end evaluation। हम प्रत्येक evaluation method, evaluation metrics, और उपयोग किए जा सकने वाले frameworks आदि को देखेंगे.
RAG की भविष्य संभावनाएँ (Future Prospects)
इसमें RAG के vertical optimization, horizontal expansion, और RAG ecosystem से संबंधित विषयों को शामिल किया गया है।
⚠️विज्ञापन: क्या PyTorch Korea User Group द्वारा संकलित यह लेख आपके लिए उपयोगी रहा? यदि आप member के रूप में signup करते हैं, तो हम प्रमुख लेख ईमेल से भेजेंगे! (डिफ़ॉल्ट रूप से Weekly, लेकिन आप इसे Daily में बदल भी सकते हैं.)
2 टिप्पणियां
अच्छी सामग्री साझा करने के लिए धन्यवाद
अरे, पढ़ने के लिए धन्यवाद!
अगर पढ़ते समय आपको कोई अजीब या गलत हिस्सा मिले, तो कृपया मुझे बताइए। ^^;