Gemma 3 1B adalah ukuran model baru dalam rangkaian model open weight Gemma yang benar-benar membuka kemungkinan untuk mendistribusikan model bahasa kecil (SLM) dalam aplikasi di seluler dan web. Ketika menerapkan SLM dalam setelan produksi, model harus cukup kecil untuk didownload dengan cepat, berjalan cukup cepat untuk menarik perhatian pengguna, dan mendukung berbagai perangkat pengguna akhir.
Berukuran hanya 529MB, Gemma 3 1B dapat berjalan hingga 2585 tok/detik saat prefill melalui inferensi LLM Google AI Edge, sehingga bisa memproses satu halaman konten dalam waktu kurang dari satu detik. Dengan menyertakan Gemma 3 1B dalam aplikasi, Anda dapat menggunakan bahasa natural untuk menjalankan aplikasi Anda atau menghasilkan konten dari data atau konteks dalam aplikasi, semuanya bisa dikustomisasi dan disesuaikan dengan baik.
Dalam postingan ini, kami akan memandu Anda mempelajari beberapa contoh kasus penggunaan Gemma 3 dalam aplikasi Anda, cara memulai Gemma di Android, mendalami beberapa metrik performa, dan menjelaskan bagaimana semua ini bisa dicapai.
Dengan model Gemma 3 1B yang sepenuhnya terpasang di perangkat, Anda bisa memanfaatkan keuntungan AI Edge:
2. Biaya: Tanpa tagihan cloud, aktifkan aplikasi gratis atau freemium.
3. Latensi: Beberapa fitur harus lebih cepat daripada yang dimungkinkan oleh panggilan server.
4. Privasi: Menghadirkan kecerdasan untuk data yang tidak dapat meninggalkan perangkat atau terenkripsi secara menyeluruh.
Gemma 1B sangat serbaguna dan bahkan bisa disesuaikan untuk domain dan kasus penggunaan Anda sendiri. Berikut adalah beberapa kasus penggunaan favorit kami untuk Gemma 1B:
2. Dialog Dalam Game: Buat dialog NPC berdasarkan status game terkini.
3. Balasan Cerdas: Berikan respons saran cerdas yang sesuai dengan konteks percakapan kepada pengguna saat berkirim pesan.
4. Dokumen Q&A: Gunakan Gemma 3 bersama dengan AI Edge RAG SDK baru kami untuk menyerap dokumen yang panjang dan menjawab pertanyaan pengguna.
Langkah 1: Muat aplikasi Demo
Download aplikasi demo siap pakai Google AI Edge dari GitHub dan dorong ke perangkat Android lokal Anda. Untuk performa terbaik dengan Gemma 3 1B, kami sarankan perangkat dengan memori minimal 4GB.
$ wget https://github.com/google-ai-edge/mediapipe-samples/releases/download/v0.1.3/llm_inference_v0.1.3-debug.apk
$ adb install llm_inference_v0.1.3-debug.apk
Atau, Anda bisa mengikuti petunjuk kami untuk membangun aplikasi dari sumbernya.
File model Gemma 3 menawarkan fleksibilitas deployment yang luar biasa, berjalan dengan mulus di CPU atau GPU perangkat seluler Anda. Anda bisa memilih untuk menjalankan Gemma 3 di CPU atau GPU saat pertama kali memulai aplikasi, atau beralih antara model dan backend dengan kembali ke dialog pemilihan model.
Pada layar pemilihan model di aplikasi demo, pilih model Anda. Aplikasi akan mengarahkan Anda ke Hugging Face untuk login dan menerima ketentuan penggunaan Gemma. Gemma 3 1B, dikuantisasi pada int4, akan didownload langsung dari organisasi komunitas LiteRT HuggingFace, dan kemudian akan dioptimalkan satu kali untuk dijalankan pada perangkat Anda (tetapi ini hanya membutuhkan waktu beberapa detik!).
Sekarang saatnya menjalankan Gemma 3! Di balik layar, Gemma 3 didukung oleh LLM Inference API Google AI Edge, yang dirancang untuk pemrosesan di perangkat secara efisien.
Anda bisa berinteraksi dengan model dengan melakukan chat dengannya. Atau, Anda bisa memberinya tugas pemrosesan teks lainnya. Sebagai contoh, coba lakukan hal berikut ini:
Salah satu hal yang menakjubkan tentang rangkaian model open weight Gemma adalah versi yang telah disempurnakan yang dibuat oleh komunitas modeling. Ikuti Colab ini untuk mengetahui bagaimana Anda bisa menggunakan data Anda sendiri untuk membuat versi Gemma 3 1B Anda sendiri, mengkuantisasinya, dan menjalankannya di perangkat seluler (CPU dan GPU) dalam aplikasi Anda sendiri!
Demo dan pengukuran di sini adalah untuk model Gemma 3 1B dengan parameter int4 yang dikuantisasi melalui quantized-aware training (QAT) yang memberikan penghematan penyimpanan yang signifikan dan peningkatan throughput dekode. Model Gemma 3 yang ditolok ukur mendukung beberapa panjang prefill yaitu 32, 128, 512, dan 1024 serta menggunakan panjang konteks 2048.
Hasil performa yang dijelaskan di atas dicapai melalui upaya pengoptimalan yang ekstensif. Pengoptimalan ini dirancang untuk bekerja dengan baik di seluruh model open weight, termasuk Gemma. Berikut adalah beberapa fitur utama yang secara signifikan meningkatkan performa dan memungkinkan fungsionalitas baru yang dapat digunakan kembali.
Kuantisasi: Pelatihan yang sadar kuantisasi diterapkan pada Gemma dengan menggunakan skema channel-wise integer 4-bit pada beban untuk mempertahankan performa, kualitas model, dan ukuran yang optimal. Selain kuantisasi beban, kami juga mengkuantisasi aktivasi secara dinamis ke int8 selama eksekusi untuk memanfaatkan kemampuan CPU secara maksimal.
Mengupdate tata letak Cache KV: Cache KV digunakan pada model berbasis Transformer untuk menyimpan pasangan nilai-kunci dari langkah sebelumnya agar bisa digunakan untuk membuat token berikutnya. Pembacaan dan penulisan ke cache KV sering terjadi sehingga operasi ini harus efisien. Operasi ini dioptimalkan dengan memperkenalkan tata letak Cache KV untuk mengurangi pengubahan urutan dan pembentukan ulang. Pengoptimalan ini meningkatkan latensi pada model Gemma sekitar 25% untuk CPU dan 20% untuk GPU. Operasi ekstra juga ditambahkan untuk mengupdate cache KV dengan lebih baik pada GPU.
Waktu Pemuatan yang Lebih Baik: Untuk memaksimalkan pemrosesan CPU dan GPU, kami menggunakan tata letak Tensor terspesialisasi. Menghasilkan tata letak beban yang dioptimalkan ini membutuhkan waktu, daya, dan memori yang signifikan. Selama pemuatan model pertama, beban di-cache pada disk dalam format yang dioptimalkan dan pemuatan berikutnya dibaca dari cache. Jika tata letak Tensor dioptimalkan lebih lanjut, cache yang ada akan secara otomatis tidak valid dan format baru akan disimpan pada disk saat pemuatan model berikutnya.
Pembagian Beban GPU: Proses inferensi LLM memiliki dua fase: prefill dan dekode. Fase ini biasanya menggunakan sumber daya terpisah untuk model masing-masing. Untuk secara dramatis mengurangi jejak memori LLM, kedua fase tersebut bisa berbagi beban yang sama. Meskipun teknik ini tidak sepenuhnya baru, ini adalah pertama kalinya teknik ini dilakukan dengan cara yang mudah digunakan kembali di LiteRT Runtime dan GPU Delegate. Untuk operasi yang mendukung fitur ini, delegasi GPU memeriksa jika beban sudah ada di memori GPU dan dapat digunakan kembali. Di masa mendatang, model lain akan dapat memanfaatkan kemampuan ini dengan mudah.
Selama pengembangan Gemma 3, kami berfokus untuk memberikan performa yang sempurna sekaligus membangun infrastruktur yang dapat digunakan kembali untuk model open weight. Pada tahun 2025, kami berencana untuk memanfaatkan pekerjaan ini guna mendukung model pihak ketiga yang lebih luas. Dengan pengoptimalan performa tambahan dan penekanan pada pengurangan lebih lanjut penggunaan memori, kami bermaksud untuk terus membuat model yang lebih mudah diakses pada berbagai perangkat yang lebih beragam. Untuk mengikuti pengembangan terbaru, atur notifikasi untuk ai_edge_torch di GitHub. Lebih banyak informasi lain yang akan segera hadir!
Advait Jain, Akshat Sharma, Alan Kelly, Andrei Kulik, Byungchul Kim, Chunlei Niu, Chun-nien Chan, Chuo-Ling Chang, Claudio Basile, Cormac Brick, Ekaterina Ignasheva, Eric Yang, Fengwu Yao, Frank Ban, Gerardo Carranza, Grant Jensen, Haoliang Zhang, Henry Wang, Ho Ko, Jae Yoo, Jiuqiang Tang, Juhyun Lee, Jun Jiang, Khanh LeViet, Kris Tonthat, Lin Chen, Lu Wang, Malini P V, Marissa Ikonomidis, Mark Sherwood, Matthew Soulanille, Matthias Grundmann, Mogan Shieh, Mohammadreza Heydary, Na Li, Pauline Sho, Pedro Gonnet, Ping Yu, Pulkit Bhuwalka, Quentin Khan, Ram Iyengar, Raman Sarokin, Rishika Sinha, Rishubh Khurana, Ronghui Zhu, Sachin Kotwani, Sebastian Schmidt, Steven Toribio, Suleman Shahid, T.J. Alumbaugh, Tenghui Zhu, Terry (Woncheol) Heo, Tyler Mullen, Vamsi Manchala, Vitalii Dziuba, Wai Hon Law, Weiyi Wang, Xu Chen, Yishuang Pang, Youchuan Hu, Yu-hui Chen, Zichuan Wei