Model Bahasa Besar di Perangkat dengan Keras dan TensorFlow Lite

1. Sebelum memulai

Salah satu terobosan machine learning yang paling menarik baru-baru ini adalah Model Bahasa Besar (LLM). Model ini dapat digunakan untuk menghasilkan teks, menerjemahkan bahasa, serta menjawab pertanyaan dengan cara yang komprehensif dan informatif. LLM, seperti Google LaMDA dan PaLM, dilatih dengan data teks dalam jumlah besar, yang memungkinkan LLM mempelajari pola statistik serta hubungan antara kata dan frasa. Hal ini memungkinkan LLM menghasilkan teks yang mirip dengan teks yang ditulis manusia, serta menerjemahkan bahasa dengan tingkat akurasi yang tinggi.

LLM sangat besar dalam hal penyimpanan, dan umumnya menggunakan banyak daya komputasi untuk dijalankan, yang berarti LLM biasanya di-deploy di cloud dan cukup sulit untuk Machine Learning di Perangkat (ODML) karena daya komputasi yang terbatas pada perangkat seluler. Namun, Anda dapat menjalankan LLM dengan skala yang lebih kecil (misalnya, GPT-2) di perangkat Android modern dan tetap mencapai hasil yang mengesankan.

Dalam codelab ini, Anda akan mempelajari cara membuat aplikasi yang didukung LLM menggunakan:

  • KerasNLP untuk memuat LLM terlatih (GPT-2)
  • KerasNLP untuk meningkatkan LLM (GPT-2)
  • TensorFlow Lite untuk mengonversi, mengoptimalkan, dan men-deploy LLM di Android

Prasyarat

  • Pengetahuan menengah tentang Keras dan TensorFlow Lite
  • Pengetahuan dasar tentang pengembangan Android

Yang akan Anda pelajari

  • Cara menggunakan KerasNLP untuk memuat LLM terlatih dan meningkatkannya
  • Cara mengkuantiasi dan mengonversi LLM ke TensorFlow Lite
  • Cara menjalankan inferensi pada model TensorFlow Lite yang dikonversi

Yang akan Anda butuhkan

  • Akses ke Colab
  • Versi terbaru Android Studio
  • Perangkat Android modern dengan RAM lebih dari 4G

2. Memulai persiapan

Untuk mendownload kode codelab ini:

  1. Buka repositori GitHub untuk codelab ini.
  2. Klik Code > Download zip guna mendownload semua kode untuk codelab ini.

gambar repo

  1. Ekstrak file zip yang didownload untuk mengekstrak folder root examples dengan semua resource yang Anda butuhkan.

3. Menjalankan aplikasi awal

  1. Impor folder examples/lite/examples/generative_ai ke Android Studio.
  2. Mulai Android Emulator, lalu klik execute.png Run di menu navigasi.

Menjalankan dan menjelajahi aplikasi

Aplikasi akan diluncurkan di perangkat Android Anda. Aplikasi ini disebut 'Auto-complete'. UI-nya cukup sederhana: Anda dapat mengetik beberapa kata inti di kotak teks, lalu mengetuk Generate; aplikasi kemudian menjalankan inferensi pada LLM dan menghasilkan teks tambahan berdasarkan input Anda.

Untuk saat ini, jika Anda mengetuk Generate setelah mengetik beberapa kata, tidak akan ada yang terjadi. Ini karena kode tersebut belum menjalankan LLM.

screenshot untuk aplikasi awal

4. Menyiapkan LLM untuk deployment di perangkat

5. Menyelesaikan aplikasi Android

Setelah mengonversi model GPT-2 ke TensorFlow Lite, Anda akhirnya dapat men-deploy-nya di aplikasi.

Menjalankan aplikasi

  1. Tarik file model autocomplete.tflite yang didownload dari langkah terakhir ke folder app/src/main/assets/ di Android Studio.

menambahkan model ke Android Studio

  1. Klik execute.png Run di menu navigasi, lalu tunggu aplikasi dimuat.
  2. Ketik beberapa kata inti di kolom teks, lalu ketuk Generate.

screenshot untuk aplikasi yang sudah selesai

6. Catatan tentang Responsible AI

Seperti disebutkan dalam pengumuman OpenAI GPT-2 awal, terdapat peringatan dan batasan penting terkait model GPT-2. Faktanya, LLM saat ini umumnya memiliki beberapa tantangan yang diketahui seperti halusinasi, keadilan, dan bias; karena model ini dilatih menggunakan data di dunia nyata, yang membuatnya mencerminkan masalah di dunia nyata.

Codelab ini dibuat hanya untuk mendemonstrasikan cara membuat aplikasi yang didukung oleh LLM dengan alat TensorFlow. Model yang dihasilkan di codelab ini hanya untuk tujuan pendidikan dan tidak dimaksudkan untuk penggunaan produksi.

Penggunaan produksi LLM memerlukan pemilihan set data pelatihan yang cermat dan mitigasi keamanan yang komprehensif. Untuk mempelajari Responsible AI lebih lanjut dalam konteks LLM, pastikan untuk menonton sesi teknis Safe and Responsible Development with Generative Language Models di Google I/O 2023 dan lihat Responsible AI Toolkit

7. Kesimpulan

Selamat! Anda telah membuat aplikasi untuk menghasilkan teks yang koheren berdasarkan input pengguna dengan menjalankan Model Bahasa Besar terlatih sepenuhnya di perangkat.

Pelajari lebih lanjut