{count, plural, one {Program} other {Program}}
Google baru saja merilis Gemma 3n, sebuah model multimodal untuk perangkat edge, yang mendukung tugas visi, bahasa, dan audio dengan eksekusi modular. Dalam tutorial ini, saya akan menjelaskan langkah demi langkah cara mengunduh dan menjalankan Gemma 3n secara lokal, langsung di perangkat Android Anda—tanpa komputasi cloud. Kita akan menggunakan aplikasi demo yang memungkinkan Anda:
- Mengajukan pertanyaan bahasa natural tentang gambar
- Menjalankan model sepenuhnya offline menggunakan runtime
ai-edge-litertdari Google - Menguji pengalaman di dalam antarmuka aplikasi Android kustom
Anda akan mempelajari bagaimana format file .task memungkinkan deployment yang ringan, bagaimana aplikasi secara otomatis mengunduh dan menginisialisasi Gemma 3n untuk penggunaan lokal, sekaligus menjaga performa tetap mulus dan penggunaan memori tetap rendah.
Apa itu Gemma 3n?
Gemma 3n adalah keluarga model multimodal terbaru dari Google AI dengan bobot terbuka yang dirancang agar efisien dijalankan pada perangkat sehari-hari seperti ponsel, tablet, dan laptop. Dibangun di atas arsitektur MatFormer yang baru dengan dukungan caching parameter Per-Layer Embedding (PLE), Gemma 3n menghadirkan performa on-device seraya meminimalkan biaya memori dan komputasi.
Meskipun mirip dengan model visi-bahasa (VLM) tradisional, Gemma 3n mendukung modalitas teks, gambar, dan audio. Varian "3n" secara khusus dioptimalkan untuk deployment di edge, dengan eksekusi ringan pada CPU, NPU, atau GPU seluler melalui AI Edge SDK dari Google.
Berikut fitur utama Gemma 3n:
- Masukan multimodal: Menerima input teks dan gambar untuk penalaran visual berbasis konteks
- Inferensi on-device: Tidak perlu internet setelah model diunduh
- Efisiensi parameter: Menggunakan selective activation, caching PLE, dan nesting MatFormer untuk mengurangi overhead memori
- Dioptimalkan untuk mobile: Gemma 3n mendukung inferensi INT4 dan FP16 di Android melalui MediaPipe dan alat Google AI Edge
- Open weights: Dilisensikan untuk penggunaan komersial yang bertanggung jawab dan fine-tuning
Catatan penting: meskipun arsitektur penuh Gemma 3n mendukung input audio, kapabilitas audio belum tersedia di pratinjau publik.
Bagaimana Cara Mengakses Gemma 3n?
Anda dapat mencoba Gemma 3n menggunakan salah satu dari tiga metode berikut:
- Google AI Studio: Cara termudah untuk memulai di peramban. Buka Google AI Studio dan pilih Gemma 3n dari daftar model. Saat ini, hanya varian “gemma-3n-e4b-it” yang tersedia untuk digunakan.
- Pratinjau Hugging Face: File
.taskGemma 3n dipublikasikan dengan formatai-edge-litertdari Google. Anda dapat meminta akses ke halaman model Hugging Face dan mengunduh model secara lokal untuk inferensi. File.taskadalah paket ringkas dan ramah runtime yang berisi versi model yang telah dikompilasi sebelumnya, metadata-nya, dan semua konfigurasi yang diperlukan, dirancang khusus untuk eksekusi on-device yang cepat dan aman menggunakan AI Edge SDK dari Google. - Jalankan di perangkat (disarankan): Gunakan Gemma Gallery App resmi dari Google untuk menjalankan Gemma 3n langsung di ponsel Android Anda. Metode ini mendukung interaksi gambar dan prompt secara penuh melalui model lokal.
Selanjutnya, saya akan memandu Anda membangun aplikasi Android yang berfungsi menggunakan model Gemma 3n untuk memproses prompt gambar dan teks. Kita akan menggunakan repositori Gallery resmi Google sebagai basis dan menyesuaikannya agar langsung terbuka ke layar Ask Image tanpa gangguan.
Langkah 1: Clone dan Siapkan Aplikasi
Mari mulai dengan menyiapkan proyek baru dan melakukan clone repositori asli dari Google.
Langkah 1.1: Buat proyek Android Studio baru
Di laptop Anda, mulai dengan membuka proyek sebagai proyek baru di Android Studio dan pilih Empty Activity.

Langkah 1.2: Siapkan empty activity baru
Selanjutnya, isi nama activity Anda (misalnya, “Ask_Image_Demo”) dan biarkan yang lain apa adanya. Lalu, klik Finish.

Langkah 1.3: Clone repositori utama
Sekarang, buka terminal di dalam Android Studio (pojok kiri bawah) dan jalankan perintah bash berikut:
git clone https://github.com/google-ai-edge/gallery
cd gallery/android

Ini akan membuka proyek Anda. Anda dapat melihat semua file proyek di sisi kiri tab.

Langkah 2: Pangkas Semua Task Kecuali Ask Image
Berikutnya, kita mengedit beberapa file agar saat membuka aplikasi, langsung menuju halaman Ask Image. Lalu, arahkan ke file Tasks.kt di lokasi berikut: app/src/main/java/com/google/ai/edge/gallery/data/Tasks.kt. Untuk membatasi fungsionalitas aplikasi hanya pada fitur 'Ask Image', kita akan melakukan pengeditan berikut:
Sebelum:
/** All tasks. */
val TASKS: List<Task> = listOf(
TASK_LLM_ASK_IMAGE,
TASK_LLM_PROMPT_LAB,
TASK_LLM_CHAT,
)
Sesudah:
/** All tasks. */
val TASKS: List<Task> = listOf(
TASK_LLM_ASK_IMAGE
)
Ini menonaktifkan demo lain seperti Prompt Lab dan Chat, memastikan hanya Ask Image yang muncul.
Langkah 3: Navigasi Otomatis ke Layar Ask Image
Di GalleryApp.kt (berlokasi di // app/src/main/java/com/google/ai/edge/gallery/GalleryApp.kt), perbarui LaunchedEffect untuk menavigasi otomatis ke halaman gambar. Perubahan ini memastikan aplikasi langsung membuka antarmuka Ask Image, melewati layar pemilihan task bawaan.
Sebelum:
@Composable
fun GalleryApp(navController: NavHostController = rememberNavController()) {
GalleryNavHost(navController = navController)
}
Sesudah:
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)
}
Berikut ringkasan apa yang dilakukan fungsi GalleryApp yang diperbarui pada kode baru:
LaunchedEffect: Side-effect Jetpack Compose yang terpicu sekali saat komposisi. Di sini digunakan untuk segera menjalankan logika navigasi saatGalleryAppdirender.- Ambil model pertama yang tersedia:
TASK_LLM_ASK_IMAGE.models.firstOrNull()secara aman mengambil nama model gambar-teks pertama yang tersedia (misalnya, Gemma 3n) untuk digunakan dalam navigasi. Ini mencegah aplikasi crash bila daftar model kosong. navController.navigate(): Mengarahkan aplikasi secara dinamis ke layar Ask-Image menggunakan nama model yang dipilih. Ini menggantikan layar Home sebagai titik masuk.- Menghapus layar home dari navigasi balik: Metode
popUpTo("home")membersihkan tumpukan navigasi dengan menghapus layar Home dari riwayat. Ini memastikan pengguna tidak dapat kembali ke sana menggunakan tombol kembali sistem.
Biarkan kode lainnya sebagaimana adanya. Secara keseluruhan, perubahan ini membuat aplikasi diluncurkan langsung ke antarmuka Ask-Image dengan model valid yang dimuat, sehingga alur pengguna untuk demo Anda menjadi lebih baik.
Langkah 4: Instal dan Jalankan Aplikasi di Perangkat Anda
Setelah Anda melakukan semua perubahan yang diperlukan, kita akan menjalankan aplikasi. Untuk menjalankan aplikasi di perangkat Android lokal Anda, pasangkan perangkat Android Anda dengan Android Studio menggunakan debugging nirkabel melalui langkah-langkah berikut.
Langkah 4.1: Siapkan perangkat Android
Buka aplikasi Settings di perangkat Android Anda dan aktifkan Developer options. Lalu nyalakan Wireless debugging. Anda akan melihat layar dengan dua opsi pairing.

Langkah 4.2: Kelola perangkat di Android Studio
Di Android Studio, buka Device Manager (ikon menyerupai ponsel dengan logo Android) dan klik Pair using QR code.

Pindai kode QR menggunakan perangkat Anda dan selesaikan pengaturan pairing. Setelah perangkat Anda terhubung, Anda akan melihat nama perangkat di bawah Device Manager. Pastikan sistem dan perangkat Android Anda sama-sama terhubung ke jaringan Wi-Fi yang sama.

Langkah 4.3: Jalankan aplikasi
Mulai mirroring perangkat Android Anda dengan mengklik ikon Device Mirroring (yang menampilkan layar desktop dan layar ponsel). Setelah layar perangkat Anda terlihat, klik ikon hijau Run untuk melakukan deploy aplikasi ke perangkat Anda.
Langkah 4.4: Unduh model di perangkat
Aplikasi akan diluncurkan, dan jendela peramban akan terbuka, meminta Anda masuk ke Hugging Face untuk mengunduh file model dengan aman.

Setelah Anda masuk ke HuggingFace, klik start download pada model yang dipilih, dan model Anda akan mulai diunduh. Untuk contoh ini, saya menggunakan model Gemma-3n-E2B-it-int4 secara default.

Langkah 4.5: Mulai bereksperimen
Setelah unduhan selesai, Anda akan langsung dibawa ke halaman “Ask Image”. Selanjutnya, pilih gambar yang ada dari galeri Anda atau ambil foto baru dengan kamera perangkat Anda. Lalu berikan prompt bersama gambar dan kirim ke model.

Berikut contoh yang saya uji.


Model awalnya berjalan di CPU. Anda dapat beralih ke GPU untuk performa yang berpotensi lebih baik menggunakan ikon 'Tune' (diwakili oleh tiga kontrol slider horizontal).


Beralih ke GPU dapat secara signifikan mengurangi latensi keseluruhan, terutama untuk memproses gambar berukuran besar dan kueri yang lebih kompleks. Walau pemrosesan GPU umumnya menawarkan kecepatan decode yang lebih cepat, menghasilkan respons yang lebih singkat, perlu dicatat bahwa kecepatan prefill terkadang sedikit lebih tinggi di CPU.
Ini karena pemuatan awal dan penyiapan data (prefill) dapat terikat pada CPU. Namun, manfaat decode yang lebih cepat dan latensi keseluruhan yang berkurang di GPU biasanya lebih besar, sehingga memberikan pengalaman yang lebih mulus dan responsif.
Saya telah menyiapkan repositori GitHub ini jika Anda ingin menjelajahi kode proyek lengkap.
Kesimpulan
Kita telah melihat bagaimana Gemma 3n dapat memungkinkan tanya jawab berbasis gambar pada perangkat edge, tanpa perlu inferensi cloud. Anda telah mempelajari cara mengintegrasikan file .task ke dalam aplikasi Android yang ringan, memberikan prompt ke model dengan bahasa natural, dan mendapatkan respons akurat tentang gambar apa pun, langsung dari ponsel Anda.
Panduan praktik ini menunjukkan bagaimana Gemma 3n mendemokratisasi AI multimodal, memudahkan pengembang dan peneliti untuk menerapkan model yang kuat di perangkat. Baik Anda membangun asisten offline, alat pendidikan, aplikasi kesehatan, dan lainnya, Gemma 3n dapat mendukung banyak kasus penggunaan.
Seiring Google terus menyempurnakan arsitektur Matformer, saya berharap akan hadir model multimodal yang lebih ringkas, dengan akurasi lebih tinggi dan latensi lebih rendah. Untuk mempelajari lebih lanjut tentang Gemma 3n, lihat rilis resmi AI Edge atau jelajahi repositori open-source di GitHub.
Jika Anda ingin menjelajahi lebih banyak alat AI baru, saya merekomendasikan blog berikut:
Saya adalah Google Developers Expert di ML (Gen AI), Kaggle 3x Expert, dan Women Techmakers Ambassador dengan pengalaman lebih dari 3 tahun di bidang teknologi. Saya ikut mendirikan startup health-tech pada 2020 dan sedang menempuh studi magister ilmu komputer di Georgia Tech dengan spesialisasi machine learning.

