Ekosistem TensorFlow Lite

DandiLesmana
3 min readJun 13, 2024

--

TensorFlow Lite adalah serangkaian tools TensorFlow yang dirancang untuk memungkinkan pemrosesan machine learning dalam perangkat lokal secara langsung (on-device machine learning).

contohnya:

  1. Perangkat seluler (mobile)
  1. Perangkat tertanam (embedded), seperti mikrokontroler dan mikrokomputer
  1. Perangkat tepi (edge devices), seperti perangkat IoT dan smartwatch.

TensorFlow Lite berhasil mengurangi latensi ketika melakukan pemrosesan model. Hal ini karena model TensorFlow Lite akan ditanamkan ke perangkat secara langsung sehingga saat pemrosesannya tidak perlu melakukan round-trip menuju server.

Round-trip menggambarkan perjalanan data atau informasi yang diperoleh dari satu titik awal ke titik lain dan kembali lagi ke titik awal tersebut(request user to server and response server to user). Dalam hal ini, round-trip server mengacu pada perjalanan data yang terjadi dari perangkat menuju server lalu kembali lagi ke perangkat.

Perlu Kita pahami bahwa pada dasarnya proses perjalanan data tersebut memerlukan komunikasi dan jaringan untuk bisa dilakukan. Semakin besar data input, proses tersebut akan memakan jaringan yang besar juga.

Namun, ini tidak berlaku dengan TensorFlow Lite karena tidak memerlukan round-trip menuju server tersebut. Dengan TensorFlow Lite yang ditanam secara langsung pada perangkat pun, ia tidak memerlukan koneksi internet untuk bisa menjalankan pemrosesan model.

Dalam setiap eksekusinya, TensorFlow Lite akan berusaha meningkatkan efisiensi penggunaan daya perangkat dengan cara mengefisienkan energi ketika operasi inferensi. Operasi inferensi adalah tahapan ketika model machine learning yang sebelumnya telah dilatih (training) digunakan untuk membuat prediksi atau pengambilan keputusan berdasarkan data input yang diberikan.

Hal ini terjadi lagi-lagi karena model tertanam secara langsung dalam perangkat yang digunakan. Namun, satu hal yang perlu Anda ingat adalah optimalisasi konsumsi tenaga bergantung pada spesifikasi perangkat.

Misal, jika kita menggunakan layanan komputasi Compute Engine dengan tenaga GPU tambahan, tentu itu akan sangat menguntungkan karena pemrosesannya cepat. Namun, harus dibayar dengan adanya latensi, terjadinya round-trip menuju server, hingga memerlukan koneksi internet.

Berbeda halnya dengan TensorFlow Lite yang tertanam dalam perangkat. Keuntungannya adalah tidak ada round-trip menuju server, tidak ada koneksi internet, dan tidak adanya latensi. Namun, spesifikasi perangkat harus sangat tinggi jika kita ingin memproses model yang kompleks dengan performa luar biasa.

Model TensorFlow Lite berbeda dengan model TensorFlow yang umumnya dibangun menggunakan Python. Ukuran model TensorFlow Lite lebih kecil dan efisien jika dibandingkan dengan model TensorFlow Python.

Hal ini karena format ekstensi model TensorFlow Lite, yakni .tflite termasuk ekstensi yang menggunakan FlatBuffers. FlatBuffers adalah format serialisasi data untuk bekerja pada berbagai platform atau lingkungan komputasi yang berbeda (cross-platform serialization).

Ada beberapa cara untuk menjalankan model TensorFlow Lite.

  1. Anda menjalankan model TensorFlow Lite yang telah tersedia sebelumnya.
  2. Membuat model TensorFlow Lite sendiri.
  3. Mengubah model TensorFlow (SavedModel atau .h5) menjadi TensorFlow Lite dengan mengonversi ekstensinya menjadi .tflite.

Mungkin muncul pertanyaan dalam benak Anda, bagaimana dengan data yang diproses oleh model? Apakah privasi data–seperti gambar, teks, rekaman suara–tetap aman ketika digunakan untuk pemrosesan model?

Dengan dijalankannya pemrosesan model secara langsung melalui perangkat, TensorFlow Lite justru sangat aman karena data yang digunakan tidak akan pergi ke mana pun (contohnya server) dan hanya berada dalam perangkat yang digunakan saja.

Banyak sekali keuntungan menggunakan TensorFlow Lite, ya! Anda bisa mempertimbangkan penggunaan TensorFlow Lite jika ingin menggunakan machine learning dalam perangkat secara langsung, seperti Android, iOS, atau bahkan mikrokontroler, seperti Arduino atau Raspberry Pi.

--

--