इस कोडलैब (कोड बनाना सीखने के लिए ट्यूटोरियल) के बारे में जानकारी
1. शुरू करने से पहले
मशीन लर्निंग के क्षेत्र में हाल ही में हुई सबसे अहम खोजों में से एक, लार्ज लैंग्वेज मॉडल (एलएलएम) है. इनका इस्तेमाल टेक्स्ट जनरेट करने, भाषाओं का अनुवाद करने, और पूरी जानकारी के साथ सवालों के जवाब देने के लिए किया जा सकता है. Google के LaMDA और PaLM जैसे एलएलएम को टेक्स्ट डेटा के बड़े डेटासेट का इस्तेमाल करके ट्रेन किया जाता है. इससे वे शब्दों और वाक्यांशों के बीच मौजूद आंकड़ों वाले पैटर्न और संबंधों को समझ पाते हैं. इससे उन्हें इंसानों की तरह टेक्स्ट जनरेट करने और भाषाओं का सटीक अनुवाद करने में मदद मिलती है.
एलएलएम को सेव करने के लिए बहुत ज़्यादा स्टोरेज की ज़रूरत होती है. साथ ही, इन्हें चलाने के लिए बहुत ज़्यादा कंप्यूटिंग पावर की ज़रूरत होती है. इसका मतलब है कि इन्हें आम तौर पर क्लाउड पर डिप्लॉय किया जाता है. साथ ही, मोबाइल डिवाइसों पर कंप्यूटेशनल पावर सीमित होने की वजह से, ये ऑन-डिवाइस मशीन लर्निंग (ओडीएमएल) के लिए काफ़ी मुश्किल होते हैं. हालांकि, छोटे पैमाने के एलएलएम (जैसे, GPT-2) को आधुनिक Android डिवाइस पर चलाया जा सकता है. साथ ही, इससे बेहतरीन नतीजे पाए जा सकते हैं.
यहां Google Pixel 7 Pro पर, Google PaLM मॉडल के एक वर्शन को 150 करोड़ पैरामीटर के साथ चलाने का डेमो दिया गया है.इसमें, जवाब देने की स्पीड को तेज़ नहीं किया गया है.
इस कोडलैब में, एलएलएम की मदद से ऐप्लिकेशन बनाने की तकनीक और टूल के बारे में बताया गया है. इसमें GPT-2 को उदाहरण मॉडल के तौर पर इस्तेमाल किया गया है. इस ऐप्लिकेशन में ये सुविधाएं हैं:
- पहले से ट्रेन किए गए एलएलएम को लोड करने के लिए KerasNLP
- एलएलएम को फ़ाइनट्यून करने के लिए KerasNLP का इस्तेमाल करना
- Android पर एलएलएम को कन्वर्ट, ऑप्टिमाइज़, और डिप्लॉय करने के लिए TensorFlow Lite
ज़रूरी शर्तें
- Keras और TensorFlow Lite के बारे में सामान्य जानकारी
- Android डेवलपमेंट की बुनियादी जानकारी
आपको क्या सीखने को मिलेगा
- पहले से ट्रेन किए गए एलएलएम को लोड करने और उसे बेहतर बनाने के लिए, KerasNLP का इस्तेमाल कैसे करें
- किसी एलएलएम को क्वॉन्टाइज़ करने और उसे TensorFlow Lite में बदलने का तरीका
- कन्वर्ट किए गए TensorFlow Lite मॉडल पर अनुमान कैसे लगाएं
आपको किन चीज़ों की ज़रूरत होगी
- Colab का ऐक्सेस
- Android Studio का नया वर्शन
- 4G रैम से ज़्यादा वाला कोई नया Android डिवाइस
2. सेट अप करें
इस कोडलैब के लिए कोड डाउनलोड करने के लिए:
- इस कोडलैब के लिए, GitHub रिपॉज़िटरी पर जाएं.
- इस कोडलैब के सभी कोड डाउनलोड करने के लिए, कोड > ज़िप फ़ाइल डाउनलोड करें पर क्लिक करें.
- डाउनलोड की गई zip फ़ाइल को अनज़िप करें, ताकि आपको
examples
रूट फ़ोल्डर मिल सके. इसमें आपके लिए ज़रूरी सभी संसाधन मौजूद होते हैं.
3. स्टार्टर ऐप्लिकेशन चलाना
examples/lite/examples/generative_ai/android
फ़ोल्डर को Android Studio में इंपोर्ट करें.- Android Emulator शुरू करें. इसके बाद, नेविगेशन मेन्यू में
चलाएं पर क्लिक करें.
ऐप्लिकेशन को चलाना और उसके बारे में ज़्यादा जानना
ऐप्लिकेशन आपके Android डिवाइस पर लॉन्च होना चाहिए. इस ऐप्लिकेशन का नाम ‘Auto-complete' है. इसका यूज़र इंटरफ़ेस (यूआई) बहुत आसान है: टेक्स्ट बॉक्स में कुछ शुरुआती शब्द टाइप करें और जनरेट करें पर टैप करें. इसके बाद, ऐप्लिकेशन एलएलएम पर अनुमान लगाता है और आपके इनपुट के आधार पर अतिरिक्त टेक्स्ट जनरेट करता है.
फ़िलहाल, कुछ शब्द टाइप करने के बाद जनरेट करें पर टैप करने से कुछ नहीं होता. ऐसा इसलिए है, क्योंकि यह अब तक एलएलएम पर काम नहीं कर रहा है.
4. डिवाइस पर डिप्लॉय करने के लिए एलएलएम तैयार करना
- Colab खोलें और नोटबुक को चलाएँ. यह नोटबुक, TensorFlow Codelabs GitHub रिपॉज़िटरी में होस्ट की गई है.
5. Android ऐप्लिकेशन को पूरा करना
GPT-2 मॉडल को TensorFlow Lite में बदलने के बाद, अब इसे ऐप्लिकेशन में डिप्लॉय किया जा सकता है.
ऐप्लिकेशन चलाएं
- पिछले चरण में डाउनलोड की गई
autocomplete.tflite
मॉडल फ़ाइल को Android Studio में मौजूदapp/src/main/assets/
फ़ोल्डर में खींचकर छोड़ें.
- नेविगेशन मेन्यू में,
चलाएं पर क्लिक करें. इसके बाद, ऐप्लिकेशन के लोड होने का इंतज़ार करें.
- टेक्स्ट फ़ील्ड में कुछ सीड कीवर्ड टाइप करें. इसके बाद, जनरेट करें पर टैप करें.
6. ज़िम्मेदारी से काम करने वाले एआई के बारे में जानकारी
OpenAI GPT-2 की ओर से की गई मूल घोषणा में बताया गया है कि GPT-2 मॉडल के साथ कुछ ज़रूरी चेतावनियां और सीमाएं हैं. दरअसल, एलएलएम के सामने आज कई चुनौतियां हैं. जैसे, तथ्यों के हिसाब से ग़लत जानकारी देना, आपत्तिजनक आउटपुट देना, निष्पक्षता, और पूर्वाग्रह. ऐसा इसलिए होता है, क्योंकि इन मॉडल को असल दुनिया के डेटा पर ट्रेन किया जाता है. इसलिए, ये असल दुनिया की समस्याओं को दिखाते हैं.
इस कोडलैब को सिर्फ़ यह दिखाने के लिए बनाया गया है कि TensorFlow टूलिंग का इस्तेमाल करके, एलएलएम की मदद से ऐप्लिकेशन कैसे बनाया जाता है. इस कोडलैब में बनाया गया मॉडल, सिर्फ़ शिक्षा के मकसद से बनाया गया है. इसका इस्तेमाल प्रोडक्शन के लिए नहीं किया जा सकता.
एलएलएम के प्रॉडक्शन इस्तेमाल के लिए, ट्रेनिंग डेटासेट को सोच-समझकर चुनना ज़रूरी है. साथ ही, सुरक्षा से जुड़े जोखिमों को कम करने के लिए, सभी ज़रूरी कदम उठाने भी ज़रूरी हैं. एलएलएम के संदर्भ में, ज़िम्मेदारी के साथ एआई का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Google I/O 2023 में जनरेटिव लैंग्वेज मॉडल का सुरक्षित और ज़िम्मेदारी के साथ डेवलपमेंट टेक्निकल सेशन देखें. साथ ही, ज़िम्मेदारी के साथ एआई का इस्तेमाल करने से जुड़े टूलकिट को देखें.
7. नतीजा
बधाई हो! आपने एक ऐसा ऐप्लिकेशन बनाया है जो उपयोगकर्ता के इनपुट के आधार पर, टेक्स्ट जनरेट करता है. इसके लिए, आपने डिवाइस पर पहले से ट्रेन किए गए लार्ज लैंग्वेज मॉडल का इस्तेमाल किया है!