पब्लिश करने की तारीख: 30 अक्टूबर, 2024
लार्ज लैंग्वेज मॉडल (एलएलएम) की मदद से सुविधाएं बनाना, सामान्य सॉफ़्टवेयर इंजीनियरिंग से काफ़ी अलग है. डेवलपर को प्रॉम्प्ट इंजीनियरिंग के बारे में जानना होगा, ताकि वे नतीजों को तय करने के लिए, इनपुट को पहले से प्रोसेस करने और प्रोसेस करने के बाद के नतीजों को मैनेज कर सकें.
आपने हमें एक समस्या के तौर पर बताया है. इसमें एक चुनौती यह है कि एलएलएम से मिलने वाले आउटपुट की जांच करने, उसकी वैधता और क्वालिटी तय करने में बहुत समय लगता है. डेवलपर अक्सर अलग-अलग इनपुट का इस्तेमाल करके, आउटपुट को एक साथ जनरेट करते हैं. इसके बाद, मानवीय नज़रिए से उनकी पुष्टि करते हैं.
अलग-अलग मॉडल और प्रॉम्प्ट के नतीजों का आकलन करने के लिए, जज के तौर पर एलएलएम तकनीक का इस्तेमाल किया जा सकता है. इस तकनीक की मदद से, मॉडल की पुष्टि करने का काम किसी दूसरे एलएलएम को सौंपा जाता है. दूसरा एलएलएम, क्लाउड पर आधारित बड़ा एलएलएम होना चाहिए. ऐसा इसलिए, क्योंकि इसकी वजह से बेहतर तरीके से तर्क करने की क्षमता बढ़ती है.
इस दस्तावेज़ में, हमने खास जानकारी का इस्तेमाल करके दिखाया है कि अलग-अलग मॉडल की तुलना करके कैसे काम किया जा सकता है. साथ ही, बोनस के तौर पर, Gemma से लेकर Gemma 2 तक की क्वालिटी में सुधार करके दिखाया गया है.
तुलना और डेटा तैयार करने के लिए मॉडल चुनें
हमने खास जानकारी देने के लिए, तीन मॉडल की क्षमताओं का आकलन किया. हमने Google के दो ऐसे ओपन मॉडल के नतीजों की तुलना की है जो क्लाइंट-साइड पर काम कर सकते हैं. ये मॉडल, Gemma और Gemma 2 हैं. दोनों मॉडल के पैरामीटर साइज़ 200 करोड़ हैं. इसके उलट, हमने Gemini 1.5 Flash नाम के एक बड़े और बेहतर क्लाउड-आधारित मॉडल का भी आकलन किया.
हमने बीबीसी के 2,225 लेखों के डेटासेट का इस्तेमाल किया. इसमें कारोबार, मनोरंजन, राजनीति, खेल, और टेक्नोलॉजी जैसे विषयों के लेख शामिल हैं. साथ ही, हमने चुने गए हर मॉडल का इस्तेमाल करके, हर लेख की खास जानकारी जनरेट की. सभी मॉडल के लिए एक ही प्रॉम्प्ट का इस्तेमाल किया गया था:
लेख का सारांश एक पैराग्राफ़ में लिखें.
हमने ओरिजनल लेखों और जनरेट की गई खास जानकारी को डेटाबेस में सेव किया, ताकि उन्हें हर चरण में आसानी से ऐक्सेस किया जा सके.
खास जानकारी का विश्लेषण करने और उसे स्कोर करने के लिए कोई जज चुनना
खास जानकारी की क्वालिटी का विश्लेषण करने के लिए, हमने Gemini 1.5 Flash का इस्तेमाल किया. इससे, Gemma 2 और Gemma 2 2B से जनरेट की गई खास जानकारी का आकलन किया जा सका. हमारा खास तरीका अलाइनमेंट पर आधारित है. यह DeepEval की खास मेट्रिक का हिस्सा है.
अलाइनमेंट एक मेट्रिक है. इससे यह पता चलता है कि खास जानकारी में शामिल स्टेटमेंट, ओरिजनल कॉन्टेंट में कितनी बार मौजूद हैं.
हमने आकलन की प्रोसेस को दो चरणों में बांटा है. सबसे पहले, हमने मॉडल को हर खास जानकारी को अलग-अलग स्टेटमेंट में बांटने के लिए कहा. इसके बाद, हमने मॉडल को यह तय करने के लिए कहा कि हर स्टेटमेंट, लेख के मूल टेक्स्ट से मेल खाता है या नहीं.
जवाबों से स्टेटमेंट निकालें
हमने Gemini 1.5 Flash से कहा कि वह लंबे टेक्स्ट को अलग-अलग स्टेटमेंट में बांटें. उदाहरण के लिए:
एवर्टन के डिफ़ेंडर डेविड वीर ने यूरोपियन फ़ुटबॉल के बारे में बात करने से इनकार कर दिया है. भले ही, उनकी टीम ने लिवरपूल को हराकर प्रीमियरशिप में दूसरा स्थान हासिल किया है.
Gemini 1.5 Flash ने इस वाक्य को इन स्टेटमेंट में बांटा है:
- "डेविड वीर, एवर्टन के लिए डिफ़ेंडर के तौर पर खेलते हैं."
- "फ़िलहाल, एवर्टन प्रीमियरशिप में दूसरे स्थान पर है."
- "हाल ही के एक मैच में एवर्टन ने लिवरपूल को हराया."
- "डेविड वियर ने एवरटन के यूरोपियन फ़ुटबॉल में खेलने के बारे में चर्चा को कम कर दिया है."
स्टेटमेंट की पुष्टि करें
इसके बाद, हमने Gemini 1.5 Flash को अलग-अलग स्टेटमेंट के मुकाबले, मूल वाक्य का विश्लेषण करने के लिए कहा. मॉडल ने हर स्टेटमेंट की वैधता को इन कैटगरी में बांटा है:
- हां: ओरिजनल टेक्स्ट में इस बात की पुष्टि की गई है.
- नहीं. यह स्टेटमेंट, ओरिजनल टेक्स्ट से मेल नहीं खाता.
- Idk. इस बात की पुष्टि नहीं की जा सकती कि स्टेटमेंट सही है या नहीं या यह ओरिजनल टेक्स्ट के मुताबिक है या नहीं.
नतीजों का विश्लेषण
इस प्रोसेस के नतीजे के तौर पर, दो मेट्रिक बनती हैं. इनकी मदद से, मॉडल की तुलना की जा सकती है:
- अलाइनमेंट: मॉडल ने कितनी बार ऐसी खास जानकारी जनरेट की जिसमें ओरिजनल टेक्स्ट से जुड़े स्टेटमेंट शामिल थे.
- रिचनेस: मॉडल से जनरेट की गई खास जानकारी में मौजूद स्टेटमेंट की औसत संख्या.
अलाइनमेंट
हमने अलाइनमेंट का हिसाब लगाने के लिए, उन खास जानकारी की संख्या गिनी जिनमें कम से कम एक स्टेटमेंट "नहीं" के तौर पर मार्क किया गया था. इसके बाद, इस संख्या को खास जानकारी की कुल संख्या से भाग दिया.
Gemini 1.5 Flash मॉडल का अलाइनमेंट स्कोर सबसे ज़्यादा है, जो 92% से ज़्यादा है. इसका मतलब है कि यह तथ्यों के हिसाब से बहुत अच्छा काम करता है और कुछ भी बनावटी नहीं करता.
Gemma 2 2B का स्कोर 78.64% है. इससे पता चलता है कि यह सटीक है. वहीं, Gemma 2B के पिछले वर्शन का अलाइनमेंट स्कोर कम है. इसका मतलब है कि इसमें मूल टेक्स्ट से मेल न खाने वाली जानकारी शामिल होने की संभावना ज़्यादा होती है.
रिचनेस
हमने हर खास जानकारी के लिए, मॉडल से जनरेट किए गए स्टेटमेंट की औसत संख्या का हिसाब लगाकर, मॉडल की बेहतरी का हिसाब लगाया है.
Gemma 2 2B का रिचनेस स्कोर 9.1 है. इससे पता चलता है कि इसकी खास जानकारी में ज़्यादा जानकारी और मुख्य पॉइंट शामिल हैं. Gemini 1.5 Flash मॉडल का स्कोर भी ज़्यादा है. यह 8.4 से ज़्यादा है. Gemma 2B में रिचनेस स्कोर कम था. इससे पता चलता है कि यह ओरिजनल टेक्स्ट से ज़्यादा ज़रूरी जानकारी हासिल नहीं कर सकता.
नतीजा
हमने पाया कि क्लाइंट-साइड पर काम करने वाले छोटे मॉडल, जैसे कि Gemma 2 2B से बेहतरीन क्वालिटी का आउटपुट मिल सकता है. Gemini 1.5 Flash जैसे क्लाउड-आधारित मॉडल, मूल लेख के हिसाब से खास जानकारी देने वाली खास जानकारी देने में बेहतर होते हैं. हालांकि, ऐप्लिकेशन की परफ़ॉर्मेंस, निजता, और सुरक्षा की ज़रूरतों के साथ-साथ, इस अंतर को भी ध्यान में रखना चाहिए. साथ ही, क्लाइंट-साइड एआई बनाने का फ़ैसला लेते समय, आपको इन सवालों के जवाब भी देने होंगे.
Gemma मॉडल फ़ैमिली की सुविधाओं में साफ़ तौर पर बदलाव हुआ है. Gemma 2 2B, Gemma 2B की तुलना में ज़्यादा बेहतर और अलाइन की गई खास जानकारी जनरेट कर सकता है.
इस्तेमाल के उदाहरणों का आकलन करना
इस दस्तावेज़ में, एआई की मदद से कॉन्टेंट की जांच करने के बारे में सिर्फ़ जानकारी दी गई है. खास जानकारी के साथ भी, ज़्यादा मेट्रिक देखी जा सकती हैं. हालांकि, इससे नतीजे अलग-अलग हो सकते हैं. उदाहरण के लिए, किसी लेख के मुख्य पॉइंट की पहचान करने के लिए प्रॉम्प्ट का इस्तेमाल करके, कवरेज का आकलन किया जा सकता है. इसके बाद, किसी दूसरे प्रॉम्प्ट का इस्तेमाल करके पुष्टि की जा सकती है कि उन मुख्य पॉइंट को हर खास जानकारी में शामिल किया गया है या नहीं.
टेक्स्ट लिखने, टेक्स्ट को फिर से लिखने या रिट्रीवल ऑगमेंटेड जनरेशन (आरएजी) जैसे अन्य इस्तेमाल के उदाहरणों में, एक ही मेट्रिक के लिए अलग-अलग नतीजे मिल सकते हैं. इसके अलावा, आकलन के लिए अन्य मेट्रिक का इस्तेमाल किया जाना चाहिए.
इस तरीके को लागू करते समय, इस बारे में सोचें कि कोई व्यक्ति आउटपुट का आकलन कैसे करेगा, ताकि यह तय किया जा सके कि आपके इस्तेमाल के हिसाब से सबसे सही मेट्रिक कौनसी हैं. DeepEval जैसे मौजूदा फ़्रेमवर्क को भी देखना ज़रूरी है. इनमें पहले से ही ऐसी मेट्रिक का सेट हो सकता है जो आपके इस्तेमाल के उदाहरण के हिसाब से सही हों.
क्या आपने मॉडल का आकलन करने के लिए, एलएलएम को जज के तौर पर लागू किया है? अपनी खोज के नतीजे @ChromiumDev पर ट्वीट करें या LinkedIn पर डेवलपर के लिए Chrome के साथ शेयर करें.