प्रॉडक्ट से जुड़ी खबरें

प्रॉम्प्ट को ऑटोमेट तरीके से ऑप्टिमाइज़ करने की सुविधा से, ML Kit के GenAI Prompt API की क्वालिटी कैसे बेहतर होती है

पढ़ने में 3 मिनट लगेंगे
4 लेखक
Chetan Tekur, Chao Zhao, Paul Zhou, Caren Chang

प्रॉम्प्ट को ऑटोमेट तरीके से ऑप्टिमाइज़ करने की सुविधा (एपीओ)

हम आपको ML Kit Prompt API के इस्तेमाल के उदाहरणों को प्रोडक्शन में लाने में मदद करना चाहते हैं. इसलिए, हमें Vertex AI पर, डिवाइस में मौजूद मॉडल के लिए, प्रॉम्प्ट को ऑटोमेट तरीके से ऑप्टिमाइज़ करने की सुविधा (एपीओ) लॉन्च करते हुए खुशी हो रही है. प्रॉम्प्ट को ऑटोमेट तरीके से ऑप्टिमाइज़ करने की सुविधा एक ऐसा टूल है जिसकी मदद से, इस्तेमाल के उदाहरणों के लिए सबसे सही प्रॉम्प्ट अपने-आप ढूंढा जा सकता है.

डिवाइस में मौजूद एआई अब कोई सपना नहीं रहा. यह एक हकीकत है. Gemini Nano v3 के लॉन्च के साथ, हम उपयोगकर्ताओं को भाषा समझने और मल्टीमॉडल की ऐसी सुविधाएं दे रहे हैं जो पहले कभी नहीं मिलीं. Gemini Nano मॉडल की सीरीज़ की मदद से, Android इकोसिस्टम में काम करने वाले डिवाइसों को ज़्यादा कवरेज मिलता है. हालांकि, अगली पीढ़ी के स्मार्ट ऐप्लिकेशन बनाने वाले डेवलपर के लिए, किसी शानदार मॉडल का ऐक्सेस मिलना सिर्फ़ पहला कदम है. असल चुनौती कस्टमाइज़ेशन में है: मोबाइल हार्डवेयर की सीमाओं को तोड़े बिना, अपने इस्तेमाल के उदाहरण के लिए, फ़ाउंडेशन मॉडल को एक्सपर्ट लेवल की परफ़ॉर्मेंस के हिसाब से कैसे तैयार किया जाए?

सर्वर-साइड की दुनिया में, बड़े एलएलएम ज़्यादा बेहतर होते हैं और उन्हें डोमेन के हिसाब से कम अडैप्टेशन की ज़रूरत होती है. ज़रूरत पड़ने पर, LoRA (Low-Rank Adaptation) फ़ाइन-ट्यूनिंग जैसे ज़्यादा बेहतर विकल्पों का इस्तेमाल किया जा सकता है. हालांकि, Android AICore के यूनीक आर्किटेक्चर में, शेयर किए गए, मेमोरी-एफ़िशिएंट सिस्टम मॉडल को प्राथमिकता दी जाती है. इसका मतलब है कि शेयर की गई इन सिस्टम सेवाओं के लिए, हर ऐप्लिकेशन के लिए LoRA के कस्टम अडैप्टर डिप्लॉय करने में चुनौतियां आती हैं.

हालांकि, एक और तरीका है जो उतना ही असरदार हो सकता है. Vertex AI पर प्रॉम्प्ट को ऑटोमेट तरीके से ऑप्टिमाइज़ करने की सुविधा (एपीओ) का इस्तेमाल करके, डेवलपर फ़ाइन-ट्यूनिंग के बराबर क्वालिटी हासिल कर सकते हैं. साथ ही, वे Android के नेटिव एक्ज़ीक्यूशन एनवायरमेंट में आसानी से काम कर सकते हैं. बेहतर सिस्टम निर्देश पर फ़ोकस करके, एपीओ डेवलपर को पारंपरिक फ़ाइन-ट्यूनिंग के मुकाबले, मॉडल के व्यवहार को ज़्यादा बेहतर तरीके से और बड़े पैमाने पर तैयार करने की सुविधा देता है.

ध्यान दें: Gemini Nano V3, Gemma 3N मॉडल का क्वालिटी के हिसाब से ऑप्टिमाइज़ किया गया वर्शन है. Gemma 3N मॉडल को काफ़ी सराहा गया है. ओपन सोर्स Gemma 3N मॉडल में किए गए प्रॉम्प्ट ऑप्टिमाइज़ेशन, Gemini Nano V3 पर भी लागू होंगे. Android डेवलपर के लिए क्वालिटी को बेहतर बनाने के लिए, ML Kit GenAI API, काम करने वाले डिवाइसों पर nano-v3 मॉडल का इस्तेमाल करते हैं.

APO block diagram.jpg

एपीओ, प्रॉम्प्ट को स्टैटिक टेक्स्ट के तौर पर नहीं, बल्कि प्रोग्राम की जा सकने वाली ऐसी जगह के तौर पर देखता है जिसे ऑप्टिमाइज़ किया जा सकता है. यह प्रॉम्प्ट का सुझाव देने, अलग-अलग वर्शन का आकलन करने, और आपके खास टास्क के लिए सबसे सही प्रॉम्प्ट ढूंढने के लिए, सर्वर-साइड मॉडल (जैसे, Gemini Pro और Flash) का इस्तेमाल करता है. इस प्रोसेस में, परफ़ॉर्मेंस को बेहतर बनाने के लिए, तीन खास तकनीकी तरीकों का इस्तेमाल किया जाता है:

  1. गड़बड़ी का विश्लेषण ऑटोमेट तरीके से करना: एपीओ, ट्रेनिंग डेटा से गड़बड़ी के पैटर्न का विश्लेषण करता है, ताकि शुरुआती प्रॉम्प्ट में मौजूद खास कमियों की पहचान ऑटोमेट तरीके से की जा सके.
  2. सिमेंटिक निर्देश डिस्टिलेशन: यह ट्रेनिंग के बड़े उदाहरणों का विश्लेषण करके, किसी टास्क के "असल मकसद" को डिस्टिल करता है. साथ ही, ऐसे निर्देश बनाता है जो असल डेटा डिस्ट्रिब्यूशन को ज़्यादा सटीक तरीके से दिखाते हैं.
  3. पैरलल कैंडिडेट टेस्टिंग: एपीओ, एक बार में एक आइडिया की जांच करने के बजाय, क्वालिटी के लिए ग्लोबल मैक्सिमम की पहचान करने के लिए, कई प्रॉम्प्ट कैंडिडेट जनरेट करता है और उनकी जांच पैरलल तरीके से करता है.

एपीओ, फ़ाइन-ट्यूनिंग की क्वालिटी के बराबर कैसे हो सकता है

यह एक आम गलतफ़हमी है कि फ़ाइन-ट्यूनिंग से हमेशा प्रॉम्प्टिंग के मुकाबले बेहतर क्वालिटी मिलती है. Gemini Nano v3 जैसे आधुनिक फ़ाउंडेशन मॉडल के लिए, प्रॉम्प्ट इंजीनियरिंग अपने-आप में असरदार हो सकती है:

  • सामान्य क्षमताओं को बनाए रखना: फ़ाइन-ट्यूनिंग ( PEFT/LoRA) की वजह से, मॉडल के वेट, डेटा के किसी खास डिस्ट्रिब्यूशन पर ओवर-इंडेक्स हो जाते हैं. इससे अक्सर "कैटास्ट्रॉफ़िक फ़ॉरगेटिंग" होती है. इसमें मॉडल, आपके खास सिंटैक्स में बेहतर हो जाता है, लेकिन सामान्य लॉजिक और सुरक्षा के मामले में खराब हो जाता है. एपीओ, वेट को नहीं बदलता. इससे बेस मॉडल की क्षमताओं को बनाए रखा जा सकता है.
  • निर्देशों का पालन करना और रणनीति की खोज करना: Gemini Nano v3 को, सिस्टम के मुश्किल निर्देशों का पालन करने के लिए, कड़ी ट्रेनिंग दी गई है. एपीओ, मॉडल की छिपी हुई क्षमताओं को अनलॉक करने वाले सटीक निर्देश स्ट्रक्चर को ढूंढकर इसका फ़ायदा उठाता है. साथ ही, अक्सर ऐसी रणनीतियों की खोज करता है जिन्हें ढूंढना, इंजीनियर के लिए मुश्किल हो सकता है. 

इस तरीके की पुष्टि करने के लिए, हमने अलग-अलग प्रोडक्शन वर्कलोड में एपीओ का आकलन किया. हमारे आकलन से पता चला है कि अलग-अलग इस्तेमाल के उदाहरणों में, सटीकता में 5 से 8% की बढ़ोतरी हुई है.डिवाइस में डिप्लॉय की गई कई सुविधाओं में, एपीओ ने क्वालिटी को बेहतर बनाया है.

इस्तेमाल का उदाहरणटास्क का टाइपटास्क की जानकारीमेट्रिकएपीओ में सुधार
विषय के हिसाब से कैटगरी तय करनाटेक्स्ट क्लासिफ़िकेशनकिसी लेख को फ़ाइनेंस, खेल वगैरह जैसे विषयों के हिसाब से कैटगरी में रखनासटीकता+5%
मकसद के हिसाब से कैटगरी तय करनाटेक्स्ट क्लासिफ़िकेशनग्राहक सेवा से जुड़े क्वेरी को मकसद के हिसाब से कैटगरी में रखनासटीकता+8.0%
वेबपेज का अनुवादटेक्स्ट का अनुवादकिसी वेबपेज का अंग्रेज़ी से स्थानीय भाषा में अनुवाद करनाBLEU+8.57%

डेवलपर के लिए आसान, एंड-टू-एंड वर्कफ़्लो

यह एक आम गलतफ़हमी है कि फ़ाइन-ट्यूनिंग से हमेशा प्रॉम्प्टिंग के मुकाबले बेहतर क्वालिटी मिलती है. Gemini Nano v3 जैसे आधुनिक फ़ाउंडेशन मॉडल के लिए, प्रॉम्प्ट इंजीनियरिंग अपने-आप में असरदार हो सकती है:

  • सामान्य क्षमताओं को बनाए रखना: फ़ाइन-ट्यूनिंग ( PEFT/LoRA) की वजह से, मॉडल के वेट, डेटा के किसी खास डिस्ट्रिब्यूशन पर ओवर-इंडेक्स हो जाते हैं. इससे अक्सर "कैटास्ट्रॉफ़िक फ़ॉरगेटिंग" होती है. इसमें मॉडल, आपके खास सिंटैक्स में बेहतर हो जाता है, लेकिन सामान्य लॉजिक और सुरक्षा के मामले में खराब हो जाता है. एपीओ, वेट को नहीं बदलता. इससे बेस मॉडल की क्षमताओं को बनाए रखा जा सकता है.
  • निर्देशों का पालन करना और रणनीति की खोज करना: Gemini Nano v3 को, सिस्टम के मुश्किल निर्देशों का पालन करने के लिए, कड़ी ट्रेनिंग दी गई है. एपीओ, मॉडल की छिपी हुई क्षमताओं को अनलॉक करने वाले सटीक निर्देश स्ट्रक्चर को ढूंढकर इसका फ़ायदा उठाता है. साथ ही, अक्सर ऐसी रणनीतियों की खोज करता है जिन्हें ढूंढना, इंजीनियर के लिए मुश्किल हो सकता है. 

इस तरीके की पुष्टि करने के लिए, हमने अलग-अलग प्रोडक्शन वर्कलोड में एपीओ का आकलन किया. हमारे आकलन से पता चला है कि अलग-अलग इस्तेमाल के उदाहरणों में, सटीकता में 5 से 8% की बढ़ोतरी हुई है.डिवाइस में डिप्लॉय की गई कई सुविधाओं में, एपीओ ने क्वालिटी को बेहतर बनाया है.

नतीजा

प्रॉम्प्ट को ऑटोमेट तरीके से ऑप्टिमाइज़ करने की सुविधा (एपीओ) के लॉन्च से, डिवाइस में मौजूद जनरेटिव एआई के लिए एक नया दौर शुरू हो गया है. फ़ाउंडेशन मॉडल और एक्सपर्ट लेवल की परफ़ॉर्मेंस के बीच के अंतर को कम करके, हम डेवलपर को ज़्यादा बेहतर मोबाइल ऐप्लिकेशन बनाने के लिए टूल दे रहे हैं. चाहे आपने ज़ीरो-शॉट ऑप्टिमाइज़ेशन से शुरुआत की हो या डेटा-ड्रिवन रिफ़ाइनमेंट की मदद से प्रोडक्शन को बढ़ाया हो, अब डिवाइस में मौजूद अच्छी क्वालिटी वाली इंटेलिजेंस का रास्ता साफ़ हो गया है. ML Kit के Prompt API और Vertex AI के प्रॉम्प्ट को ऑटोमेट तरीके से ऑप्टिमाइज़ करने की सुविधा की मदद से, डिवाइस में मौजूद इस्तेमाल के उदाहरणों को आज ही प्रोडक्शन में लॉन्च करें. 

काम के लिंक: 

लेखक:

पढ़ना जारी रखें