- DSPy (Declarative Self-improving Python) एक framework है जिसे programming के ज़रिए language models (LM) को नियंत्रित करने के लिए डिज़ाइन किया गया है
- यह साधारण classifier से लेकर जटिल RAG pipeline और agent loop तक modular AI systems को तेज़ी से बनाने में मदद करता है, और prompts व weights को optimize करने वाले algorithms भी प्रदान करता है
- अस्थिर prompts पर निर्भर रहने के बजाय, composable Python code लिखकर modular AI systems को तेज़ी से बनाया जा सकता है और LM को high-quality output उत्पन्न करने के लिए train किया जा सकता है
- Module का उपयोग करके AI के व्यवहार को strings नहीं बल्कि code के रूप में वर्णित किया जा सकता है
- भरोसेमंद AI systems बनाने के लिए तेज़ iteration ज़रूरी है
- लेकिन prompts को maintain करना कठिन होता है, क्योंकि LM, metric या pipeline बदलते ही strings या data को भी बदलना पड़ता है
- DSPy को LM system की परिभाषा को किसी खास LM या prompting strategy से जुड़ी जटिल पसंदों से अलग करने के लिए विकसित किया गया है
- DSPy का programming तरीका
- DSPy, prompt strings को tweak करने से ध्यान हटाकर structured और declarative natural language modules के साथ programming पर ज़ोर देता है
- system के हर AI component के लिए input-output behavior को signature के रूप में निर्दिष्ट किया जाता है और LM call strategy तय करने के लिए module चुना जाता है
- DSPy signatures को prompts में expand करता है और typed outputs को parse करता है, जिससे उपयोग में आसान, portable और optimizable AI systems लिखे जा सकते हैं
- Optimizer AI modules के prompts और weights को समायोजित करता है
- DSPy ऐसे tools देता है जो natural language annotations वाले high-level code को low-level operations, prompts या weight updates में compile करते हैं
- इससे LM को program की संरचना और metrics के साथ align किया जा सकता है
- code या metrics बदलने पर उसे उसी के अनुसार आसानी से फिर से compile किया जा सकता है
- DSPy optimization process
- अगर आपके पास task के representative inputs के कुछ दर्जन या कुछ सौ उदाहरण और system output की quality मापने वाला metric है, तो आप DSPy Optimizer का उपयोग कर सकते हैं
dspy.BootstrapRS सभी modules के लिए अच्छे few-shot examples synthesize करता है
dspy.MIPROv2 सभी prompts के लिए बेहतर natural language instructions सुझाता है और बुद्धिमानी से search करता है
dspy.BootstrapFinetune modules के लिए dataset बनाता है और उसका उपयोग करके system के LM weights को fine-tune करता है
- DSPy ecosystem open source AI research को आगे बढ़ाता है
- DSPy का modular paradigm, बड़े language models की तुलना में, अधिक researchers को LM programs की compositional architecture, inference-time strategies और optimization tools को distributed तरीके से बेहतर बनाने का अवसर देता है
- इससे DSPy users को अधिक नियंत्रण मिलता है, iteration तेज़ होती है, और नए optimization tools या modules लागू करके programs समय के साथ बेहतर बन सकते हैं
- DSPy research की शुरुआत फ़रवरी 2022 में Stanford NLP में हुई थी, और इसे ColBERT-QA, Baleen और Hindsight जैसे शुरुआती complex LM systems के विकास से मिले सबकों के आधार पर बनाया गया
- इसे पहली बार दिसंबर 2022 में DSP के रूप में जारी किया गया था, फिर अक्टूबर 2023 में यह DSPy के रूप में विकसित हुआ, और 250 contributors की बदौलत दसियों हज़ार लोग modular LM programs बनाना और optimize करना सीख सके
- DSPy community ने MIPROv2, BetterTogether, LeReT जैसे optimization tools और STORM, IReRa, DSPy Assertions जैसी program architectures पर कई research उपलब्धियाँ हासिल की हैं
- PAPILLON, PATH, WangLab@MEDIQA, UMD के prompting case studies, और Haize के Red-Teaming program जैसे नए समस्यात्मक क्षेत्रों में सफल application examples भी मौजूद हैं
- इसके अलावा कई open source projects, production applications और अन्य use cases के ज़रिए DSPy की practical उपयोगिता साबित हुई है
अभी कोई टिप्पणी नहीं है.