फ़ोन और edge डिवाइसों पर AI
फ़ोन या किसी छोटे डिवाइस पर AI चलाने से डेटा वहीं रहता है और यह ऑफ़लाइन भी काम करता है। runtimes, बैटरी और मेमोरी की सीमाओं, और मॉडल को सुरक्षित रूप से अपडेट करने का तरीका जानें।
60 सेकंड में
फ़ोन और edge डिवाइसों पर AI
फ़ोन या किसी छोटे डिवाइस पर AI चलाने से डेटा वहीं रहता है और यह ऑफ़लाइन भी काम करता है। runtimes, बैटरी और मेमोरी की सीमाओं, और मॉडल को सुरक्षित रूप से अपडेट करने का तरीका जानें।
इसे डिवाइस पर ही क्यों चलाएं?
- प्राइवेसी: फ़ोटो, आवाज़ और मैसेज डिवाइस पर ही रह सकते हैं।
- ऑफ़लाइन: कमज़ोर या बिना सिग्नल वाले इलाकों में भी काम करता है, जो भारत के कई हिस्सों में आज भी बहुत मायने रखता है।
- स्पीड: कीबोर्ड सुझावों या लाइव कैप्शन जैसे छोटे और तुरंत होने वाले कामों के लिए नेटवर्क पर डेटा आने-जाने का इंतज़ार नहीं करना पड़ता।
- लागत: काम यूज़र का डिवाइस करता है, इसलिए आपको सर्वर के लिए कम पैसे खर्च करने पड़ते हैं।
On-device runtimes (सरल शब्दों में)
| Runtime का प्रकार | उदाहरण (नाम और फ़ीचर बदलते रहते हैं; ताज़ा दस्तावेज़ देखें) |
|---|---|
| क्रॉस-प्लेटफ़ॉर्म | ONNX Runtime; llama.cpp, जिसे फ़ोन के लिए भी बनाया जा सकता है |
| प्लेटफ़ॉर्म-विशिष्ट | Apple डिवाइसों पर Core ML; Google का LiteRT (पहले TensorFlow Lite) |
| ऑपरेटिंग सिस्टम में पहले से मौजूद | अब कुछ फ़ोन में ऐसे AI मॉडल आते हैं जिन्हें ऐप्स सिस्टम फ़ीचर्स के ज़रिए कॉल कर सकते हैं |
सीमाएं जिनके अनुसार आपको डिज़ाइन करना चाहिए
| सीमा | क्या होता है | क्या मदद करता है |
|---|---|---|
| मेमोरी | अगर ऐप बहुत ज़्यादा मेमोरी का इस्तेमाल करता है तो सिस्टम उसे बंद कर देता है | छोटे, quantised मॉडल; सिर्फ़ ज़रूरत पड़ने पर ही लोड करें |
| बैटरी | ज़्यादा इस्तेमाल से बैटरी जल्दी खत्म होती है और यूज़र्स ऐप को अनइंस्टॉल कर देते हैं | छोटे काम, छोटे मॉडल, और जहां संभव हो NPU का उपयोग |
| गर्मी (हीटिंग) | ठंडा होने के लिए फ़ोन खुद को धीमा कर लेता है | लगातार लंबे समय तक जेनरेशन से बचें |
| स्टोरेज और डाउनलोड साइज़ | सीमित डेटा वाले यूज़र्स शायद बड़ा मॉडल डाउनलोड न करें | मॉडल को अलग से, Wi-Fi पर और यूज़र की सहमति से डाउनलोड करें |
| डिवाइसों की विविधता | जो मॉडल किसी नए फ़्लैगशिप फ़ोन पर चलता है, वह शायद किसी पुराने बजट फ़ोन पर न चल पाए | उन सस्ते (low-end) फ़ोन पर टेस्ट करें जो आपके यूज़र्स वास्तव में इस्तेमाल करते हैं |
डिवाइस पर मॉडल अपडेट करना
- 1
हर मॉडल का वर्ज़न तय करें
हर मॉडल फ़ाइल को एक वर्ज़न नंबर और एक checksum दें। - 2
सुरक्षित रूप से डाउनलोड करें
HTTPS का इस्तेमाल करें, लोड करने से पहले checksum या सिग्नेचर जांचें, और डिफ़ॉल्ट रूप से Wi-Fi पर डाउनलोड करें। - 3
धीरे-धीरे रोल आउट करें
नया मॉडल पहले कुछ ही यूज़र्स को भेजें और देखें कि कोई समस्या तो नहीं आ रही। - 4
एक बैकअप (fallback) विकल्प रखें
अगर नया मॉडल लोड होने में विफल रहता है या खराब काम करता है, तो पिछले वाले पर वापस लौट जाएं। - 5
डेटा सीमाओं का सम्मान करें
यूज़र्स को साइज़ बताएं, और उन्हें चुनने दें कि कब डाउनलोड करना है।
- ऐप के अंदर ही बड़ा मॉडल जोड़ देना जिससे हर बार इंस्टॉलेशन साइज़ बहुत बड़ा हो जाए
- सिर्फ़ सबसे नए फ़ोन पर टेस्टिंग करना
- सर्वर से आने वाली किसी भी मॉडल फ़ाइल को बिना जांचे लोड कर लेना
- साइज़ दिखाते हुए मॉडल को एक वैकल्पिक डाउनलोड के रूप में देना
- उन सस्ते फ़ोन पर टेस्ट करना जो आपके यूज़र्स के पास हैं
- मॉडल लोड करने से पहले सिग्नेचर या checksum की जांच करना
और देखें और पढ़ें
लैब
एक फ़ीचर के लिए सीमाओं, टेस्टिंग डिवाइसों और अपडेट प्रक्रिया के साथ एक on-device डिज़ाइन योजना।
समस्या
फ़ीचर: "आशा (ASHA) कार्यकर्ताओं के लिए एक ऐसा ऐप जो हिंदी में बोले गए नोट को एक छोटे लिखित सारांश में बदल देता है, ऑफ़लाइन काम करता है, और जिसमें नोट्स कभी भी फ़ोन से बाहर नहीं जाते।"
- चुनें कि डिवाइस पर क्या चलेगा (उदाहरण के लिए स्पीच रिकग्निशन और सारांश बनाना) और क्या कभी कुछ सर्वर पर जाएगा या नहीं।
- सीमित RAM वाले फ़ोन के लिए, पाठ 3 के मेमोरी नियम का उपयोग करके उस मॉडल साइज़ का अनुमान लगाएं जिसे फ़ोन संभाल सके।
- तीन टेस्टिंग फ़ोन की सूची बनाएं (ब्रांड के अनुसार नहीं, बल्कि कीमत सीमा और मेमोरी के अनुसार) और बताएं कि आप प्रत्येक पर क्या मापेंगे: स्पीड, बैटरी की खपत, हीटिंग, क्रैश।
- बैकअप (fallback) सहित पांच चरणों में मॉडल अपडेट की प्रक्रिया लिखें।
- प्राइवेसी नोटिस के लिए दो वाक्य लिखें जो आपके डिज़ाइन के अनुसार सच हों।
आपका काम तब पूरा होगा जब
कठिन सवाल
उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।
Q1कोई मॉडल एक ही फ़ोन के NPU पर एक ऐप में तेज़ी से और उसी मॉडल के साथ दूसरे ऐप में धीमे क्यों चल सकता है?दिखाएं
NPU केवल कुछ खास operations और number formats को ही सपोर्ट करते हैं। अगर runtime या मॉडल का conversion किसी ऐसे operation का इस्तेमाल करता है जिसे NPU सपोर्ट नहीं करता, तो वह हिस्सा वापस CPU या GPU पर चला जाता है, और चिप्स के बीच डेटा ले जाने में समय लगता है। अलग-अलग runtimes, conversions या quantisation सेटिंग्स यह बदल सकती हैं कि कौन-सा हिस्सा कहाँ चलेगा। आपको असली डिवाइस पर इसे मापकर देखना होगा।
Q2आपका on-device मॉडल कुछ मामलों में गलत और मेडिकल जैसी लगने वाली सलाह देता है। क्या on-device प्राइवेसी इसे बनाए रखने की काफी अच्छी वजह है?दिखाएं
नहीं। प्राइवेसी नुकसानदेह जवाबों को सही नहीं ठहरा सकती। इस फ़ीचर को वहीं तक सीमित रखें जो यह भरोसेमंद तरीके से करता है (उदाहरण के लिए summarising, न कि सलाह देना), साफ़ चेतावनियाँ दिखाएँ, फ़ैसलों की ज़िम्मेदारी किसी इंसानी हेल्थ वर्कर के हाथ में रखें, और मॉडल को सुधारें या बदलें। सेहत से जुड़ी सलाह प्रशिक्षित पेशेवरों से ही आनी चाहिए।
अक्सर पूछे जाने वाले सवाल
क्या कोई फ़ोन सचमुच एक language model चला सकता है?
छोटे, quantised language models हाल के कई फ़ोन पर चल सकते हैं, हालांकि सर्वर की तुलना में थोड़े धीमे। स्पीच रिकग्निशन, छोटे टेक्स्ट के अनुवाद, फ़ोटो टैगिंग या टेक्स्ट के सुझाव जैसे कामों के लिए छोटे मॉडल तो सालों से फ़ोन पर चल रहे हैं।
NPU क्या है?
एक न्यूरल प्रोसेसिंग यूनिट (Neural Processing Unit): चिप का एक हिस्सा जिसे AI मॉडल द्वारा इस्तेमाल किए जाने वाले गणित के लिए डिज़ाइन किया गया है। यह कुछ मॉडलों को CPU की तुलना में तेज़ी से और कम बैटरी खर्च करके चला सकता है। यह किन मॉडलों और फ़ॉर्मेट्स को सपोर्ट करता है, यह फ़ोन और runtime पर निर्भर करता है।
क्या सब कुछ डिवाइस पर ही करना बेहतर है?
हमेशा नहीं। एक सामान्य डिज़ाइन हाइब्रिड होता है: आसान या प्राइवेसी से जुड़े काम डिवाइस पर चलते हैं, और कठिन काम कनेक्शन होने पर और यूज़र की सहमति से सर्वर पर भेजे जाते हैं।
मैं डिवाइस पर मौजूद मॉडल फ़ाइल को कैसे सुरक्षित रखूं?
जिसके पास भी डिवाइस है, वह आम तौर पर उस फ़ाइल तक पहुंच सकता है, इसलिए इसे गुप्त रखने के भरोसे न रहें। इसके बजाय यूज़र्स की सुरक्षा करें: अपडेट लोड करने से पहले सिग्नेचर जांचें, और कभी भी मॉडल या ऐप के अंदर API keys जैसी गोपनीय जानकारी न रखें।
पाठ का टेस्ट
5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।