उपयोगकर्ता के डिवाइस पर Keras और TensorFlow Lite के साथ बड़े लैंग्वेज मॉडल

1. शुरू करने से पहले

हाल ही में, मशीन लर्निंग के क्षेत्र में सबसे अहम खोजों में से एक है लार्ज लैंग्वेज मॉडल (एलएलएम). इनका इस्तेमाल टेक्स्ट जनरेट करने, भाषाओं का अनुवाद करने, और पूरी जानकारी के साथ सवालों के जवाब देने के लिए किया जा सकता है. Google के LaMDA और PaLM जैसे एलएलएम को टेक्स्ट के बड़े डेटासेट के आधार पर ट्रेन किया जाता है. इससे वे शब्दों और वाक्यांशों के बीच मौजूद आंकड़ों वाले पैटर्न और संबंधों को समझ पाते हैं. इससे उन्हें इंसानों के लिखे गए टेक्स्ट जैसा टेक्स्ट जनरेट करने और भाषाओं का सटीक अनुवाद करने में मदद मिलती है.

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

यहां Google Pixel 7 Pro पर, Google PaLM मॉडल के एक वर्शन को 150 करोड़ पैरामीटर के साथ चलाने का डेमो दिया गया है.इसमें वीडियो की स्पीड नहीं बढ़ाई गई है.

Pixel 7 Pro पर PaLM

इस कोडलैब में, एलएलएम की मदद से काम करने वाला ऐप्लिकेशन बनाने के लिए, तकनीक और टूल के बारे में बताया गया है. इसमें GPT-2 को उदाहरण मॉडल के तौर पर इस्तेमाल किया गया है. इस ऐप्लिकेशन में ये सुविधाएं हैं:

  • पहले से ट्रेन किए गए एलएलएम को लोड करने के लिए KerasNLP
  • एलएलएम को बेहतर तरीके से ट्रेन करने के लिए KerasNLP का इस्तेमाल करना
  • Android पर एलएलएम को बदलने, ऑप्टिमाइज़ करने, और डिप्लॉय करने के लिए TensorFlow Lite

ज़रूरी शर्तें

  • Keras और TensorFlow Lite की बुनियादी जानकारी
  • Android डेवलपमेंट की बुनियादी जानकारी

आपको क्या सीखने को मिलेगा

  • पहले से ट्रेन किए गए एलएलएम को लोड करने और उसे फ़ाइन-ट्यून करने के लिए, KerasNLP का इस्तेमाल कैसे करें
  • किसी एलएलएम को TensorFlow Lite में बदलने और उसे क्वांटाइज़ करने का तरीका
  • कन्वर्ट किए गए TensorFlow Lite मॉडल पर अनुमान कैसे लगाएं

आपको किन चीज़ों की ज़रूरत होगी

  • Colab का ऐक्सेस
  • Android Studio का नया वर्शन
  • Android का नया डिवाइस, जिसमें 4 जीबी से ज़्यादा रैम हो

2. सेट अप करें

इस कोडलैब के लिए कोड डाउनलोड करने के लिए:

  1. इस कोडलैब के लिए, GitHub रिपॉज़िटरी पर जाएं.
  2. इस कोडलैब के सभी कोड डाउनलोड करने के लिए, कोड > ज़िप फ़ाइल डाउनलोड करें पर क्लिक करें.

रिपॉज़िटरी इमेज

  1. डाउनलोड की गई zip फ़ाइल को अनज़िप करें, ताकि आपको examples रूट फ़ोल्डर मिल सके. इसमें आपके लिए ज़रूरी सभी संसाधन मौजूद होते हैं.

3. स्टार्टर ऐप्लिकेशन चलाना

  1. examples/lite/examples/generative_ai/android फ़ोल्डर को Android Studio में इंपोर्ट करें.
  2. Android Emulator शुरू करें. इसके बाद, नेविगेशन मेन्यू में execute.png चलाएं पर क्लिक करें.

ऐप्लिकेशन को चलाना और उसे एक्सप्लोर करना

ऐप्लिकेशन आपके Android डिवाइस पर लॉन्च होना चाहिए. इस ऐप्लिकेशन का नाम ‘Auto-complete' है. इसका यूज़र इंटरफ़ेस (यूआई) बहुत आसान है: टेक्स्ट बॉक्स में कुछ शुरुआती शब्द टाइप करें और जनरेट करें पर टैप करें. इसके बाद, ऐप्लिकेशन एलएलएम पर अनुमान लगाता है और आपके इनपुट के आधार पर अतिरिक्त टेक्स्ट जनरेट करता है.

फ़िलहाल, कुछ शब्द टाइप करने के बाद जनरेट करें पर टैप करने से कुछ नहीं होता. ऐसा इसलिए है, क्योंकि यह अभी एलएलएम पर काम नहीं कर रहा है.

स्टार्टर ऐप्लिकेशन का स्क्रीनशॉट

4. एलएलएम को डिवाइस पर डिप्लॉय करने के लिए तैयार करना

5. Android ऐप्लिकेशन को पूरा करना

GPT-2 मॉडल को TensorFlow Lite में बदलने के बाद, अब इसे ऐप्लिकेशन में डिप्लॉय किया जा सकता है.

ऐप्लिकेशन चलाएं

  1. पिछले चरण में डाउनलोड की गई autocomplete.tflite मॉडल फ़ाइल को Android Studio में मौजूद app/src/main/assets/ फ़ोल्डर में खींचकर छोड़ें.

Android Studio में मॉडल जोड़ना

  1. नेविगेशन मेन्यू में, execute.png चलाएं पर क्लिक करें. इसके बाद, ऐप्लिकेशन के लोड होने का इंतज़ार करें.
  2. टेक्स्ट फ़ील्ड में कुछ सीड वर्ड टाइप करें. इसके बाद, जनरेट करें पर टैप करें.

पूरे हो चुके ऐप्लिकेशन का स्क्रीनशॉट

6. ज़िम्मेदारी के साथ एआई का इस्तेमाल करने के बारे में नोट

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

इस कोडलैब को सिर्फ़ यह दिखाने के लिए बनाया गया है कि TensorFlow टूलिंग का इस्तेमाल करके, एलएलएम की मदद से ऐप्लिकेशन कैसे बनाया जाता है. इस कोडलैब में बनाया गया मॉडल, सिर्फ़ शिक्षा के मकसद से बनाया गया है. इसका इस्तेमाल प्रोडक्शन के लिए नहीं किया जा सकता.

एलएलएम का इस्तेमाल करने के लिए, ट्रेनिंग डेटासेट को सोच-समझकर चुनना ज़रूरी है. साथ ही, सुरक्षा से जुड़े जोखिमों को कम करने के लिए, सभी ज़रूरी कदम उठाना भी ज़रूरी है. एलएलएम के संदर्भ में, ज़िम्मेदारी के साथ एआई का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Google I/O 2023 में जनरेटिव लैंग्वेज मॉडल का सुरक्षित और ज़िम्मेदारी के साथ डेवलपमेंट टेक्निकल सेशन देखें. साथ ही, ज़िम्मेदारी के साथ एआई का इस्तेमाल करने से जुड़े टूलकिट को देखें.

7. नतीजा

बधाई हो! आपने एक ऐसा ऐप्लिकेशन बनाया है जो उपयोगकर्ता के इनपुट के आधार पर, टेक्स्ट जनरेट करता है. इसके लिए, आपने डिवाइस पर पहले से ट्रेन किए गए लार्ज लैंग्वेज मॉडल का इस्तेमाल किया है!

ज़्यादा जानें