खास जानकारी देने की सुविधा के साथ एलएलएम की तुलना करना

पब्लिश करने की तारीख: 30 अक्टूबर, 2024

लार्ज लैंग्वेज मॉडल (एलएलएम) की मदद से सुविधाएं बनाना, सामान्य सॉफ़्टवेयर इंजीनियरिंग से काफ़ी अलग है. डेवलपर को प्रॉम्प्ट इंजीनियरिंग के बारे में जानना होगा, ताकि वे नतीजों को तय करने के लिए, इनपुट को पहले से प्रोसेस करने और प्रोसेस करने के बाद के नतीजों को मैनेज कर सकें.

आपने हमसे जो समस्याएं शेयर की हैं उनमें से एक यह है कि एलएलएम से मिलने वाले आउटपुट की जांच करने, उसकी पुष्टि करने, और उसकी क्वालिटी का पता लगाने में काफ़ी समय लगता है. डेवलपर अक्सर अलग-अलग इनपुट का इस्तेमाल करके, आउटपुट को एक साथ जनरेट करते हैं. इसके बाद, मानवीय नज़रिए से उनकी पुष्टि करते हैं.

अलग-अलग मॉडल और प्रॉम्प्ट के नतीजों का आकलन करने के लिए, जज के तौर पर एलएलएम तकनीक का इस्तेमाल किया जा सकता है. इस टेक्नोलॉजी की मदद से, मॉडल की पुष्टि करने का काम किसी दूसरे एलएलएम को सौंपा जाता है. दूसरा एलएलएम, क्लाउड पर काम करने वाला बड़ा एलएलएम होना चाहिए. इसकी वजह से, यह बेहतर तरीके से तर्क कर सकता है.

इस दस्तावेज़ में, हम खास जानकारी का इस्तेमाल करके यह दिखाते हैं कि अलग-अलग मॉडल की तुलना कैसे की जा सकती है. साथ ही, बोनस के तौर पर, Gemma से Gemma 2 में क्वालिटी में हुए सुधार को दिखाते हैं.

तुलना करने और डेटा को तैयार करने के लिए मॉडल चुनना

हमने खास जानकारी देने के लिए, तीन मॉडल की क्षमताओं का आकलन किया. हमने Google के दो ऐसे ओपन मॉडल के नतीजों की तुलना की है जो क्लाइंट-साइड पर काम कर सकते हैं. ये मॉडल, Gemma और Gemma 2 हैं. दोनों मॉडल के पैरामीटर साइज़ 200 करोड़ हैं. इसके उलट, हमने क्लाउड पर काम करने वाले बड़े और बेहतर मॉडल का भी आकलन किया: Gemini 1.5 Flash.

हमने बीबीसी के 2,225 लेखों के डेटासेट का इस्तेमाल किया. इसमें कारोबार, मनोरंजन, राजनीति, खेल, और टेक्नोलॉजी जैसे विषय शामिल हैं. साथ ही, हमने चुने गए हर मॉडल का इस्तेमाल करके, हर लेख की खास जानकारी जनरेट की. सभी मॉडल के लिए एक ही प्रॉम्प्ट का इस्तेमाल किया गया था:

लेख का सारांश एक पैराग्राफ़ में लिखें.

हमने ओरिजनल लेखों और जनरेट की गई खास जानकारी को डेटाबेस में सेव किया, ताकि उन्हें हर चरण में आसानी से ऐक्सेस किया जा सके.

खास जानकारी का विश्लेषण करने और उसे स्कोर करने के लिए कोई जज चुनना

खास जानकारी की क्वालिटी का विश्लेषण करने के लिए, हमने Gemini 1.5 Flash का इस्तेमाल किया. इससे हमें Gemma 2B और Gemma 2 2B से जनरेट की गई खास जानकारी का आकलन करने में मदद मिली. हमारा खास तरीका अलाइनमेंट पर आधारित है. यह DeepEval की खास मेट्रिक का हिस्सा है.

अलाइनमेंट एक मेट्रिक है. इससे यह पता चलता है कि खास जानकारी में शामिल स्टेटमेंट, ओरिजनल कॉन्टेंट में कितनी बार मौजूद हैं.

हमने आकलन की प्रोसेस को दो चरणों में बांटा है. सबसे पहले, हमने मॉडल को हर खास जानकारी को अलग-अलग स्टेटमेंट में बांटने के लिए कहा. इसके बाद, हमने मॉडल को यह तय करने के लिए कहा कि हर स्टेटमेंट, लेख के मूल टेक्स्ट से मेल खाता है या नहीं.

खास जानकारी से स्टेटमेंट निकालना

हमने Gemini 1.5 Flash से कहा कि वह लंबे टेक्स्ट को अलग-अलग स्टेटमेंट में बांटें. उदाहरण के लिए:

एवर्टन के डिफ़ेंडर डेविड वीर ने यूरोपियन फ़ुटबॉल के बारे में बातचीत को कमज़ोर कर दिया है. ऐसा इसलिए, क्योंकि उनकी टीम ने लिवरपूल को हराकर प्रीमियरशिप में दूसरा स्थान हासिल किया है.

Gemini 1.5 Flash ने इस वाक्य को इन स्टेटमेंट में बांटा है:

  • "डेविड वीर, एवर्टन के लिए डिफ़ेंडर के तौर पर खेलते हैं."
  • "फ़िलहाल, एवर्टन प्रीमियरशिप में दूसरे स्थान पर है."
  • "हाल ही में हुए मैच में, Everton ने Liverpool को हराया."
  • "डेविड वीर ने यूरोपियन फ़ुटबॉल में एवर्टन के खेलने के बारे में कम से कम चर्चा की है."

स्टेटमेंट की पुष्टि करना

इसके बाद, हमने Gemini 1.5 Flash से, अलग-अलग हिस्सों में बांटने के बजाय, ओरिजनल वाक्य का विश्लेषण करने के लिए कहा. मॉडल ने हर स्टेटमेंट की वैधता को इन कैटगरी में बांटा है:

  • हां: स्टेटमेंट, ओरिजनल टेक्स्ट से मेल खाता है.
  • नहीं. यह स्टेटमेंट, ओरिजनल टेक्स्ट से मेल नहीं खाता.
  • Idk. इस बात की पुष्टि नहीं की जा सकती कि स्टेटमेंट सही है या नहीं या यह ओरिजनल टेक्स्ट के मुताबिक है या नहीं.

नतीजों का विश्लेषण

इस प्रोसेस से दो मेट्रिक मिलती हैं, जिनका इस्तेमाल मॉडल की तुलना करने के लिए किया जा सकता है:

  • अलाइनमेंट: मॉडल ने कितनी बार ऐसी खास जानकारी जनरेट की जिसमें ओरिजनल टेक्स्ट से जुड़े स्टेटमेंट शामिल थे.
  • रिचनेस: मॉडल से जनरेट की गई खास जानकारी में मौजूद स्टेटमेंट की औसत संख्या.
मॉडल की बेहतर जानकारी और अलाइनमेंट की तुलना करने वाला चार्ट.
पहली इमेज. Gemma 2B, Gemma 2 2B, और Gemini 1.5 Flash की तुलना की गई है. इन सभी का स्कोर अच्छा है.

अलाइनमेंट

हमने अलाइनमेंट का हिसाब लगाने के लिए, उन खास जानकारी की संख्या गिनी जिनमें कम से कम एक स्टेटमेंट "नहीं" के तौर पर मार्क किया गया था. इसके बाद, इस संख्या को खास जानकारी की कुल संख्या से भाग दिया.

Gemini 1.5 Flash मॉडल का अलाइनमेंट स्कोर सबसे ज़्यादा है, जो 92% से ज़्यादा है. इसका मतलब है कि यह तथ्यों के हिसाब से बहुत अच्छा काम करता है और कुछ भी बनावटी नहीं करता.

Gemma 2 2B का स्कोर 78.64% है. इससे पता चलता है कि यह सटीक है. वहीं, Gemma 2B के पिछले वर्शन का अलाइनमेंट स्कोर कम है. इसका मतलब है कि इसमें ऐसी जानकारी शामिल होने की संभावना ज़्यादा होती है जो मूल टेक्स्ट के साथ काम नहीं करती.

Richness

हमने हर खास जानकारी के लिए, मॉडल से जनरेट किए गए स्टेटमेंट की औसत संख्या का हिसाब लगाकर, मॉडल की बेहतरी का हिसाब लगाया है.

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 के साथ शेयर करें.