TensorFlow Lite — adalah versi ringan dari framework TensorFlow yang dikembangkan oleh Google untuk menjalankan model machine learning pada perangkat seluler dan tertanam dengan sumber daya komputasi terbatas. Berbeda dengan TensorFlow lengkap, TFLite menggunakan interpreter khusus dan format .tflite yang dioptimalkan untuk inferensi cepat tanpa dukungan pelatihan. Menurut TensorFlow Lite Guide, 2025, framework ini bekerja di Android, iOS dan Linux dan digunakan di lebih dari 4 miliar perangkat. TensorFlow Lite mendukung kuantisasi, akselerasi perangkat keras melalui NNAPI, GPU dan delegasi Core ML.
Poin Utama
TensorFlow Lite — adalah runtime khusus untuk menjalankan model machine learning pada perangkat dengan sumber daya terbatas. Berbeda dengan TensorFlow lengkap, TFLite tidak mendukung pelatihan dan propagasi balik — hanya inferensi. Hal ini memungkinkan ukuran biner perpustakaan menjadi minimal: sekitar 300 KB untuk interpreter dasar di Android.
Arsitektur TFLite dibangun di sekitar format .tflite, yang didasarkan pada FlatBuffers. FlatBuffers menyediakan akses langsung ke data tanpa tahap parsing, yang sangat penting untuk perangkat seluler dengan memori terbatas. Model dalam format .tflite berisi grafik komputasi, bobot, dan metadata dalam satu file biner.
Menurut Google I/O 2024, TFLite digunakan di Google Photos, Gboard, YouTube dan aplikasi Google lainnya dengan total audiens lebih dari 4 miliar perangkat. Framework ini mendukung semua arsitektur utama: CNN, RNN, LSTM, Transformer dan operasi kustom melalui delegasi.
Runtime TFLite terdiri dari empat komponen. TFLite Converter menerima model dari TensorFlow (SavedModel, Keras, ConcreteFunction) dan mengubahnya ke format .tflite dengan optimasi opsional. TFLite Interpreter memuat .tflite dan menjalankan inferensi, mengelola tensor dan memori.
Delegasi — adalah komponen yang memindahkan eksekusi operasi ke perangkat keras khusus. GPU Delegate menggunakan OpenGL ES dan Metal, NNAPI Delegate — Android Neural Networks API, Core ML Delegate — Apple Core ML. XNNPACK Delegate mengoptimalkan eksekusi pada ARM CPU. Setiap delegasi mendukung kumpulan operator tertentu.
Komponen keempat — Task Library, yang menyediakan API tingkat tinggi untuk tugas-tugas umum: klasifikasi gambar, deteksi objek, segmentasi, NLU. Task Library bekerja di atas Interpreter dan menyembunyikan detail manajemen tensor.
TFLite mendukung tiga tingkat kuantisasi. Kuantisasi integer penuh INT8 mengubah bobot dan aktivasi dari FP32 menjadi bilangan bulat 8-bit. Ukuran model berkurang 4 kali lipat, dan kecepatan inferensi pada perangkat dengan dukungan INT8 meningkat hingga 3x. Kuantisasi FP16 mengurangi ukuran setengahnya dengan kehilangan presisi minimal.
Kuantisasi dinamis mempertahankan bobot dalam INT8, tetapi melakukan komputasi dalam FP32. Mode ini cocok untuk model yang sensitif terhadap presisi dan memberikan pengurangan ukuran hingga 4x dengan tetap mempertahankan kualitas. Menurut Google ML Performance Benchmarks, kuantisasi dinamis direkomendasikan untuk model NLP.
| Mode | Tipe Bobot | Tipe Aktivasi | Pengurangan Ukuran |
|---|---|---|---|
| FP32 (tanpa kuantisasi) | FP32 | FP32 | 1x |
| FP16 | FP16 | FP32 | 2x |
| INT8 Dinamis | INT8 | FP32 | 4x |
| INT8 Penuh | INT8 | INT8 | 4x |
Di Android, mekanisme akselerasi utama adalah NNAPI Delegate, yang memindahkan eksekusi operasi ke NPU, DSP atau GPU melalui Android Neural Networks API. NNAPI tersedia di perangkat dengan Android 8.1+ dan mendukung komputasi INT8 dan FP16. GPU Delegate untuk Android menggunakan OpenGL ES 3.1+ dan Vulkan.
Di iOS, akselerasi disediakan melalui Core ML Delegate, yang menerjemahkan operasi TFLite ke format Core ML dan menjalankannya di Apple Neural Engine. Menurut Apple ML Benchmarking, penggunaan Core ML Delegate mempercepat inferensi di iPhone 15 Pro hingga 4x dibandingkan dengan CPU. GPU Delegate untuk iOS menggunakan Metal Performance Shaders.
XNNPACK Delegate — adalah solusi lintas platform untuk ARM CPU, dioptimalkan untuk prosesor seluler. XNNPACK mendukung operasi FP32, FP16 dan INT8 dan tidak memerlukan perangkat keras khusus. Direkomendasikan sebagai delegasi dasar untuk semua perangkat.
Proses penyebaran mencakup tiga langkah. Pertama — konversi model ke .tflite melalui TFLite Converter. Kedua — menyertakan file .tflite ke dalam sumber daya aplikasi. Untuk Android file ditempatkan di assets, untuk iOS — di bundle aplikasi melalui Xcode. Ketiga — inisialisasi Interpreter dan menjalankan inferensi.
Untuk pembaruan dinamis model, Google merekomendasikan penggunaan Firebase ML Model Downloading atau mekanisme unduhan sendiri dari cloud. File .tflite yang diperbarui disimpan di penyimpanan lokal dan dimuat ke Interpreter pada startup berikutnya.
Saat penyebaran, penting untuk mempertimbangkan ukuran file .tflite. Google Play membatasi ukuran APK hingga 200 MB. Untuk model yang lebih besar dari 50 MB, disarankan menggunakan Android App Bundle atau mengunduh model secara terpisah melalui Play Asset Delivery.
Contoh memuat dan menjalankan model di Android dengan Java API. Gunakan Interpreter.create() untuk memuat .tflite dari assets dan run() untuk inferensi. Data masukan dan keluaran diteruskan sebagai array multidimensi atau ByteBuffer:
import org.tensorflow.lite.Interpreter;
import java.nio.MappedByteBuffer;
import java.io.FileInputStream;
import java.nio.channels.FileChannel;
MappedByteBuffer model = new FileInputStream(
getAssets().openFd("model.tflite")
).getChannel().map(
FileChannel.MapMode.READ_ONLY, 0, fc.size()
);
Interpreter interpreter = new Interpreter.create(model);
float[][] input = new float[1][224 * 224 * 3];
float[][] output = new float[1][1000];
interpreter.run(input, output);
interpreter.close();
Contoh penggunaan GPU Delegate di Android untuk akselerasi perangkat keras. Tambahkan dependensi com.android.support:tensorflow-lite-gpu dan tentukan delegasi saat membuat Interpreter:
import org.tensorflow.lite.Interpreter;
import org.tensorflow.lite.gpu.GpuDelegate;
GpuDelegate gpuDelegate = new GpuDelegate.create();
Interpreter.Options options = new Interpreter.Options().addDelegate(gpuDelegate);
Interpreter interpreter = new Interpreter.create(model, options);
// Jalankan inferensi pada data masukan
interpreter.run(input, output);
// Lepaskan sumber daya delegasi setelah inferensi
gpuDelegate.close();
interpreter.close();
Pertanyaan yang Sering Diajukan
TensorFlow — framework lengkap untuk pelatihan dan inferensi. TensorFlow Lite — hanya untuk inferensi di perangkat seluler. TFLite menggunakan format .tflite dan tidak mendukung propagasi balik.
GPU Delegate (OpenGL/Metal), NNAPI Delegate (Android), Core ML Delegate (iOS) dan XNNPACK Delegate (ARM CPU) didukung. Setiap delegasi dioptimalkan untuk jenis perangkat keras tertentu.
Gunakan kuantisasi: FP16 mengurangi ukuran 2x, INT8 — 4x. Juga tersedia kuantisasi dinamis, pemangkasan bobot (weight pruning) dan distilasi model sebelum konversi.
Ya, melalui TFLite Model Maker dan API pelatihan di perangkat (eksperimental). Penyesuaian halus (fine-tuning) dan personalisasi model langsung di perangkat pengguna didukung.
TFLite mendukung CNN, RNN, LSTM, Transformer, arsitektur seluler (MobileNet, EfficientNet, YOLO, BERT) dan operasi kustom. Batasan — operator yang tersedia di delegasi target.
Kesimpulan
Kami akan mengembangkan aplikasi seluler turnkey
IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.
Baca juga