अपने मॉडल को फाइन-ट्यून करना बंद करें। आपकी आर्किटेक्चर ही समस्या है।
डेमो शानदार दिखते हैं। प्रोडक्शन सिस्टम अलग दिखते हैं। इन दोनों के बीच एक अंतर है।
आजकल लोग हर चीज़ को एजेंट (agent) कह रहे हैं। मेमोरी वाला चैटबॉट एक एजेंट है। लूप वाला एक स्क्रिप्ट एक एजेंट है। यह गलती इंजीनियरिंग संबंधी त्रुटियों का कारण बनती है। आप सरल कार्यों के लिए ओवर-इंजीनियरिंग (over-engineering) करने लगते हैं और जटिल कार्यों के लिए अंडर-इंजीनियरिंग (under-engineering) करते हैं।
एक एजेंट को एक उद्देश्य की आवश्यकता होती है। वह केवल एक निर्देश का पालन नहीं करता है। वह तय करता है कि आगे क्या करना है। वह विफलता (failure) को संभालता है। उसे पता होता है कि कब रुकना है।
अपने सिस्टम की जाँच करने के लिए इन नियमों का उपयोग करें:
- यदि किसी इंसान को हर कदम पर मार्गदर्शन करना पड़ता है, तो यह एक चैट इंटरफ़ेस है।
- यदि यह किसी विफल टूल कॉल (tool call) से उबर जाता है, तो यह एक एजेंट है।
- यदि यह एक लक्ष्य को उप-कार्यों (subtasks) में विभाजित करता है, तो यह एक वास्तविक एजेंट है।
सफल टीमें नए मॉडल्स के पीछे नहीं भागतीं। वे विशिष्ट, उद्देश्य-निर्मित पाइपलाइन्स बनाती हैं। वे इन तीन चीज़ों पर ध्यान केंद्रित करती हैं:
- टूल डिज़ाइन: इंटरफ़ेस कितना स्पष्ट है?
- विफलता प्रबंधन (Failure handling): जब कोई टूल कुछ भी वापस नहीं देता है, तो क्या होता है?
- ऑब्जर्वेबिलिटी (Observability): क्या आप हर निर्णय को ट्रैक कर सकते हैं?
आप जो फ्रेमवर्क उपयोग करते हैं, वह आपके पैटर्न की तुलना में कम महत्वपूर्ण है। मैंने अलग-अलग फ्रेमवर्क में आर्किटेक्चर को फिर से बनाया है और परिणाम वही रहते हैं। फ्रेमवर्क केवल एक ढांचा (scaffolding) है। आर्किटेक्चर वास्तविक इमारत है।
इन पैटर्न्स का पालन करें:
- पहले योजना बनाएं फिर क्रियान्वित करें। तर्क (reasoning) के लिए एक चरण और कार्रवाई (action) के लिए एक अलग चरण का उपयोग करें।
- रिट्रीवल (retrieval) को रीजनिंग (reasoning) से अलग करें। कॉन्टेक्स्ट (context) प्राप्त करना और कॉन्टेक्स्ट का उपयोग करना अलग-अलग काम हैं।
- स्पष्ट हैंडऑफ (handoffs) का उपयोग करें। जब एक एजेंट दूसरे को काम सौंपता है, तो स्ट्रक्चर्ड लॉग्स (structured logs) का उपयोग करें।
RAG मानक है, लेकिन चंकिंग (chunking) अक्सर गलत होती है। यदि आप दस्तावेज़ों को खराब तरीके से विभाजित करते हैं, तो मॉडल कॉन्टेक्स्ट खो देता है। इससे हैलुसिनेशन (hallucinations) होता है।
यदि आपका RAG पाइपलाइन बेकार परिणाम देता है, तो अपनी चंकिंग और मेटाडेटा की जाँच करें। एम्बेडिंग मॉडल (embedding model) को दोष न दें।
इंजीनियरिंग चुनौती ऐसे सिस्टम बनाना है जिन पर आप भरोसा कर सकें। गवर्नेंस (governance), ऑब्जर्वेबिलिटी (observability) और विश्वसनीय टूल के उपयोग पर ध्यान केंद्रित करें। केवल बेंचमार्क के पीछे न भागें।
बेहतरीन इंजीनियर सिस्टम डिज़ाइन पर ध्यान केंद्रित करेंगे। वे ऐसे AI सिस्टम बनाएंगे जिन्हें अन्य लोग बनाए रख सकें और जिन पर भरोसा कर सकें।
स्रोत: https://dev.to/aibughunter/stop-fine-tuning-your-model-your-architecture-is-the-problem-3kkg
