Last chance! 50% off DataCamp Premium
Sale ends in
Google ने अभी-अभी Gemma 3n जारी किया है—एक मल्टीमोडल मॉडल जो एज डिवाइसेज़ के लिए बनाया गया है और मॉड्यूलर निष्पादन के साथ विज़न, भाषा और ऑडियो कार्यों का समर्थन करता है। इस ट्यूटोरियल में, मैं चरण-दर-चरण समझाऊँगा कि कैसे Gemma 3n को डाउनलोड और लोकल रूप से—सीधे आपके Android डिवाइस पर—चलाया जाए, बिना किसी क्लाउड कम्प्यूट की ज़रूरत के। हम एक डेमो ऐप का उपयोग करेंगे, जो आपको यह करने देता है:
ai-edge-litert रनटाइम का उपयोग करके मॉडल को पूरी तरह ऑफलाइन चलानाआप जानेंगे कि .task फ़ाइल फ़ॉर्मैट कैसे हल्के डिप्लॉयमेंट में मदद करता है, ऐप कैसे स्वतः Gemma 3n को लोकल उपयोग के लिए डाउनलोड और इनिशियलाइज़ करता है—और यह सब प्रदर्शन को स्मूथ और मेमोरी उपयोग को कम रखते हुए।
Gemma 3n, Google AI का नवीनतम मल्टीमोडल, ओपन-वेट मॉडल परिवार है, जिसे फ़ोन, टैबलेट और लैपटॉप जैसे रोज़मर्रा के डिवाइसेज़ पर कुशलतापूर्वक चलने के लिए डिज़ाइन किया गया है। यह एक नए MatFormer आर्किटेक्चर पर आधारित है, जो Per-Layer Embedding (PLE) पैरामीटर कैशिंग का समर्थन करता है। Gemma 3n डिवाइस पर ही प्रदर्शन देता है, जबकि मेमोरी और कम्प्यूट लागत को न्यूनतम रखता है।
पारंपरिक विज़न-लैंग्वेज मॉडल (VLM) के समान होते हुए भी, Gemma 3n टेक्स्ट, इमेज और ऑडियो मोडैलिटी का समर्थन करता है। इसका "3n" वैरिएंट विशेष रूप से एज डिप्लॉयमेंट के लिए ऑप्टिमाइज़ किया गया है, जो Google के AI Edge SDK के ज़रिए CPU, NPU या मोबाइल GPU पर हल्के निष्पादन की सुविधा देता है।
ये हैं Gemma 3n की मुख्य विशेषताएँ:
महत्वपूर्ण नोट: यद्यपि Gemma 3n अपनी पूर्ण आर्किटेक्चर में ऑडियो इनपुट का समर्थन करता है, लेकिन ऑडियो क्षमताएँ अभी पब्लिक प्रीव्यू में उपलब्ध नहीं हैं।
आप Gemma 3n को तीन तरीकों में से किसी एक से आज़मा सकते हैं:
.task फ़ाइल Google के ai-edge-litert फ़ॉर्मैट के अंतर्गत प्रकाशित है। आप Hugging Face मॉडल पेज तक पहुँच का अनुरोध कर सकते हैं और मॉडल को लोकल इन्फ़रेंस के लिए डाउनलोड कर सकते हैं। एक .task फ़ाइल एक कॉम्पैक्ट, रनटाइम-फ़्रेंडली पैकेज है, जिसमें मॉडल का प्रीकम्पाइल्ड संस्करण, इसकी मेटाडेटा और सभी आवश्यक कॉन्फ़िग शामिल होते हैं—जो Google के AI Edge SDK का उपयोग करके तेज़ और सुरक्षित ऑन-डिवाइस निष्पादन के लिए विशेष रूप से डिज़ाइन किया गया है।अगले चरण में, मैं आपको एक काम करने वाला Android ऐप बनाना सिखाऊँगा जो Gemma 3n मॉडल का उपयोग करके इमेज और टेक्स्ट प्रॉम्प्ट्स को प्रोसेस करता है। हम Google के आधिकारिक Gallery रिपॉज़िटरी को बेस के रूप में उपयोग करेंगे और इसे कस्टमाइज़ करेंगे ताकि यह बिना किसी व्यवधान के सीधे Ask Image स्क्रीन पर खुले।
आइए एक नया प्रोजेक्ट सेटअप करके और Google से मूल रिपॉज़िटरी क्लोन करके शुरू करें।
अपने लैपटॉप पर, Android Studio में एक नया प्रोजेक्ट खोलें और Empty Activity चुनें।

अगले चरण में, अपनी activity का नाम भरें (उदाहरण के लिए, “Ask_Image_Demo”) और बाकी वैसा ही रहने दें। फिर, Finish पर क्लिक करें।

अब, Android Studio के भीतर टर्मिनल खोलें (बाएँ निचले कोने में) और निम्नलिखित bash कमांड चलाएँ:
git clone https://github.com/google-ai-edge/gallery
cd gallery/android

यह आपका प्रोजेक्ट खोलेगा। आप बाएँ टैब में सभी प्रोजेक्ट फ़ाइलें देख सकते हैं।

अगले चरण में, हम कुछ फ़ाइलें एडिट करेंगे ताकि ऐप खुलते ही सीधे Ask Image पेज पर पहुँचा जाए। फिर, हम Tasks.kt फ़ाइल पर जाएँगे, जो यहाँ स्थित है: app/src/main/java/com/google/ai/edge/gallery/data/Tasks.kt। ऐप की कार्यक्षमता को केवल 'Ask Image' फीचर तक सीमित करने के लिए, हम निम्नलिखित बदलाव करेंगे:
पहले:
/** All tasks. */
val TASKS: List<Task> = listOf(
TASK_LLM_ASK_IMAGE,
TASK_LLM_PROMPT_LAB,
TASK_LLM_CHAT,
)
बाद में:
/** All tasks. */
val TASKS: List<Task> = listOf(
TASK_LLM_ASK_IMAGE
)
यह Prompt Lab और Chat जैसे अन्य डेमो को अक्षम कर देता है, सुनिश्चित करता है कि केवल Ask Image दिखाई दे।
GalleryApp.kt (यहाँ स्थित: // app/src/main/java/com/google/ai/edge/gallery/GalleryApp.kt) में, LaunchedEffect को अपडेट करें ताकि अपने-आप इमेज पेज पर नेविगेट हो जाए। यह बदलाव सुनिश्चित करता है कि ऐप डिफ़ॉल्ट टास्क चयन स्क्रीन को बायपास करते हुए सीधे Ask Image इंटरफ़ेस खोल दे।
पहले:
@Composable
fun GalleryApp(navController: NavHostController = rememberNavController()) {
GalleryNavHost(navController = navController)
}
बाद में:
package com.google.ai.edge.gallery
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.navigation.NavHostController
import androidx.navigation.compose.rememberNavController
import com.google.ai.edge.gallery.data.TASK_LLM_ASK_IMAGE
import com.google.ai.edge.gallery.ui.llmchat.LlmAskImageDestination
import com.google.ai.edge.gallery.ui.navigation.GalleryNavHost
@Composable
fun GalleryApp(
navController: NavHostController = rememberNavController()
) {
// as soon as GalleryApp comes up, navigate to Ask-Image
// and drop “home” off the back-stack:
LaunchedEffect(Unit) {
TASK_LLM_ASK_IMAGE.models
.firstOrNull() // safety: don’t crash if the models list is empty
?.name
?.let { modelName ->
navController.navigate("${LlmAskImageDestination.route}/$modelName") {
popUpTo("home") { inclusive = true }
}
}
}
GalleryNavHost(navController = navController)
}
यहाँ नए कोड में अपडेट किए गए GalleryApp फ़ंक्शन का विवरण है:
LaunchedEffect: एक Jetpack Compose साइड-इफ़ेक्ट जो कम्पोज़िशन पर एक बार ट्रिगर होता है। यहाँ, GalleryApp रेंडर होते ही नेविगेशन लॉजिक चलाने के लिए इसका उपयोग किया गया है।TASK_LLM_ASK_IMAGE.models.firstOrNull() सुरक्षित रूप से पहले उपलब्ध इमेज-टेक्स्ट मॉडल (जैसे, Gemma 3n) का नाम नेविगेशन के लिए ले आता है। इससे मॉडल सूची खाली होने पर ऐप क्रैश होने से बचता है।navController.navigate(): यह चुने गए मॉडल के नाम का उपयोग करके ऐप को Ask-Image स्क्रीन पर डायनेमिक रूप से रूट करता है। यह सामान्य Home स्क्रीन को एंट्री पॉइंट के रूप में बदल देता है।popUpTo("home") मेथड नेविगेशन स्टैक को क्लीन करता है और होम स्क्रीन को हिस्ट्री से हटा देता है। इससे उपयोगकर्ता सिस्टम के बैक बटन से वहाँ वापस नहीं जा सकता।बाकी कोड वैसा ही रहने दें। ये बदलाव मिलकर ऐप को सीधे Ask-Image इंटरफ़ेस में एक वैध मॉडल लोड के साथ लॉन्च कराते हैं, जिससे आपके डेमो का यूज़र फ़्लो बेहतर होता है।
जब आप सभी आवश्यक बदलाव कर लें, तो हम ऐप चलाएँगे। अपने लोकल Android डिवाइस पर ऐप चलाने के लिए, नीचे दिए गए चरणों के साथ Android Studio में वायरलेस डिबगिंग का उपयोग करके अपने Android डिवाइस को पेयर करें।
अपने Android डिवाइस पर Settings ऐप में जाएँ और Developer options सक्षम करें। फिर Wireless debugging चालू करें। आपको दो पेयरिंग विकल्पों वाली स्क्रीन दिखाई देगी।

Android Studio में Device Manager खोलें (आइकन एक फ़ोन और Android लोगो जैसा दिखता है) और Pair using QR code पर क्लिक करें।

अपने डिवाइस से QR कोड स्कैन करें और पेयरिंग सेटअप पूरा करें। डिवाइस कनेक्ट होने के बाद, आपको Device Manager के अंतर्गत अपना डिवाइस नाम दिखाई देगा। सुनिश्चित करें कि आपका सिस्टम और Android डिवाइस दोनों एक ही WiFi नेटवर्क से जुड़े हैं।

Android डिवाइस मिररिंग शुरू करने के लिए Device Mirroring आइकन (डेस्कटॉप स्क्रीन और फ़ोन स्क्रीन दर्शाता है) पर क्लिक करें। जब आपको अपना डिवाइस स्क्रीन मिरर होता दिखे, तो हरे रंग के Run आइकन पर क्लिक करें, ताकि ऐप आपके डिवाइस पर डिप्लॉय हो जाए।
ऐप लॉन्च होगा, और एक ब्राउज़र विंडो खुलेगी, जो आपको Hugging Face में लॉग इन करने के लिए कहेगी ताकि मॉडल फ़ाइल को सुरक्षित रूप से डाउनलोड किया जा सके।

HuggingFace में लॉग इन करने के बाद, अपनी पसंद के मॉडल पर start download क्लिक करें, और आपका मॉडल डाउनलोड होना शुरू हो जाएगा। इस उदाहरण में, मैं डिफ़ॉल्ट रूप से Gemma-3n-E2B-it-int4 मॉडल का उपयोग कर रहा/रही हूँ।

डाउनलोड पूरा होते ही, आप सीधे “Ask Image” पेज पर पहुँच जाएँगे। अब अपनी गैलरी से कोई मौजूदा इमेज चुनें या अपने डिवाइस के कैमरे से नई फ़ोटो लें। फिर इमेज के साथ एक प्रॉम्प्ट दें और उसे मॉडल को भेजें।

यहाँ एक उदाहरण है जो मैंने टेस्ट किया।


मॉडल शुरू में CPU पर चलता है। आप 'Tune' आइकन (तीन क्षैतिज स्लाइडर कंट्रोल्स) का उपयोग कर GPU पर स्विच कर सकते हैं, जिससे प्रदर्शन बेहतर हो सकता है।


GPU पर स्विच करना कुल विलंबता को काफ़ी कम कर सकता है, विशेषकर बड़ी इमेज और अधिक जटिल क्वेरीज़ को प्रोसेस करने में। हालाँकि GPU प्रोसेसिंग आमतौर पर तेज़ डिकोड स्पीड देती है, जिसके परिणामस्वरूप जल्दी प्रतिक्रियाएँ मिलती हैं, यह ध्यान देने योग्य है कि कभी-कभी प्रीफिल स्पीड CPU पर थोड़ा अधिक हो सकती है।
ऐसा इसलिए होता है क्योंकि शुरुआती लोडिंग और डेटा की तैयारी (प्रीफिल) CPU-बाउंड हो सकती है। फिर भी, GPU पर तेज़ डिकोड और कुल विलंबता में कमी का लाभ आम तौर पर अधिक होता है, जिससे अनुभव अधिक स्मूथ और प्रतिक्रियाशील बनता है।
यदि आप पूरा प्रोजेक्ट कोड देखना चाहते हैं, तो मैंने यह GitHub रिपॉज़िटरी सेटअप की है।
हमने देखा कि Gemma 3n कैसे एज डिवाइसेज़ पर, बिना क्लाउड इन्फ़रेंस की ज़रूरत के, इमेज-प्रश्न उत्तर देने में सक्षम बनाता है। आपने सीखा कि कैसे एक हल्के Android ऐप में .task फ़ाइल इंटीग्रेट करें, मॉडल को प्राकृतिक भाषा से प्रॉम्प्ट करें, और अपने फ़ोन से ही किसी भी इमेज के बारे में सटीक उत्तर प्राप्त करें।
यह हैंड्स-ऑन वॉकथ्रू दिखाता है कि Gemma 3n कैसे मल्टीमोडल AI का लोकतंत्रीकरण करता है, जिससे डेवलपर और शोधकर्ता डिवाइस पर ही शक्तिशाली मॉडल डिप्लॉय कर सकें। चाहे आप ऑफ़लाइन असिस्टेंट्स, शैक्षिक टूल्स, हेल्थकेयर ऐप्स, या अन्य कुछ बना रहे हों—Gemma 3n कई उपयोग मामलों में सहायक हो सकता है।
जैसे-जैसे Google Matformer आर्किटेक्चर को निखारता जा रहा है, मुझे और भी कॉम्पैक्ट, मल्टीमोडल मॉडल्स देखने की उम्मीद है—जिनमें अधिक सटीकता और कम विलंबता होगी। Gemma 3n के बारे में अधिक जानने के लिए, आधिकारिक AI Edge रिलीज़ ब्लॉग देखें या ओपन-सोर्स रिपॉज़िटरी में झाँकें GitHub पर।
यदि आप और नए AI टूल्स खोजना चाहते हैं, तो मैं ये ब्लॉग सुझाता/सुझाती हूँ:
मैं एमएल (Gen AI) में Google Developers Expert, Kaggle 3x Expert, और Women Techmakers एंबेसडर हूँ, तथा तकनीक क्षेत्र में 3+ वर्षों का अनुभव रखती हूँ। मैंने 2020 में एक हेल्थ-टेक स्टार्टअप की सह-स्थापना की और वर्तमान में Georgia Tech से कंप्यूटर विज्ञान में मास्टर कर रही हूँ, जिसमें मेरा विशेषज्ञता क्षेत्र मशीन लर्निंग है।
इन कोर्सेस के साथ AI सीखें!
{count, plural, one {लर्निंग पाथ} other {लर्निंग पाथ}}
{count, plural, one {कोर्स} other {कोर्स}}
{count, plural, one {कोर्स} other {कोर्स}}