TensorFlow Lite — là gì, các tính năng chính và ứng dụng

Tác giả: IT Sectr Đã đăng: 2026-07-17 Thời gian đọc: 6 phút

TensorFlow Lite là một phiên bản nhẹ của framework TensorFlow, được Google phát triển để chạy các mô hình machine learning trên thiết bị di động và nhúng với tài nguyên tính toán hạn chế. Khác với TensorFlow đầy đủ, TFLite sử dụng trình thông dịch chuyên dụng và định dạng .tflite, được tối ưu hóa cho suy luận nhanh mà không cần hỗ trợ huấn luyện. Theo TensorFlow Lite Guide, 2025, framework này chạy trên Android, iOS và Linux và được sử dụng trên hơn 4 tỷ thiết bị. TensorFlow Lite hỗ trợ lượng tử hóa, tăng tốc phần cứng qua các ủy quyền NNAPI, GPU và Core ML.

Điểm chính

  • TensorFlow Lite là framework nhẹ cho ML trên thiết bị di động và nhúng.
  • Các mô hình được chuyển đổi sang định dạng .tflite qua trình chuyển đổi TFLite từ TensorFlow SavedModel hoặc Keras.
  • Hỗ trợ lượng tử hóa INT8, FP16 và lượng tử hóa động để giảm kích thước.
  • Tăng tốc phần cứng có sẵn qua GPU Delegate, NNAPI và Core ML Delegate.
  • TFLite hoạt động trên Android, iOS và Linux với API bằng Java, C++, Swift và Python.

TensorFlow Lite là gì

TensorFlow Lite là môi trường chạy chuyên dụng để chạy các mô hình machine learning trên thiết bị có tài nguyên hạn chế. Khác với TensorFlow đầy đủ, TFLite không hỗ trợ huấn luyện hoặc lan truyền ngược — chỉ suy luận. Điều này cho phép giữ kích thước nhị phân của thư viện ở mức tối thiểu: khoảng 300 KB cho trình thông dịch cơ bản trên Android.

Kiến trúc TFLite được xây dựng xung quanh định dạng .tflite, dựa trên FlatBuffers. FlatBuffers cung cấp quyền truy cập trực tiếp vào dữ liệu mà không cần giai đoạn phân tích cú pháp, điều quan trọng đối với thiết bị di động có bộ nhớ hạn chế. Một mô hình ở định dạng .tflite chứa đồ thị tính toán, trọng số và siêu dữ liệu trong một tệp nhị phân duy nhất.

Theo Google I/O 2024, TFLite được sử dụng trong Google Photos, Gboard, YouTube và các ứng dụng Google khác với tổng đối tượng hơn 4 tỷ thiết bị. Framework này hỗ trợ tất cả các kiến trúc chính: CNN, RNN, LSTM, Transformer và các thao tác tùy chỉnh qua ủy quyền.

Kiến trúc TensorFlow Lite

Môi trường chạy TFLite bao gồm bốn thành phần. TFLite Converter nhận mô hình từ TensorFlow (SavedModel, Keras, ConcreteFunction) và chuyển đổi nó sang định dạng .tflite với tối ưu hóa tùy chọn. TFLite Interpreter tải tệp .tflite và thực hiện suy luận, quản lý tensor và bộ nhớ.

Ủy quyền là các thành phần chuyển việc thực thi thao tác sang phần cứng chuyên dụng. GPU Delegate sử dụng OpenGL ES và Metal, NNAPI Delegate sử dụng API Android Neural Networks, Core ML Delegate sử dụng Apple Core ML. XNNPACK Delegate tối ưu hóa việc thực thi trên CPU ARM. Mỗi ủy quyền hỗ trợ một tập toán tử cụ thể.

Thành phần thứ tư là Task Library, cung cấp API cấp cao cho các tác vụ điển hình: phân loại hình ảnh, phát hiện đối tượng, phân đoạn, NLU. Task Library hoạt động trên Interpreter và ẩn các chi tiết quản lý tensor.

Tối ưu hóa mô hình và lượng tử hóa

TFLite hỗ trợ ba cấp độ lượng tử hóa. Lượng tử hóa số nguyên đầy đủ INT8 chuyển đổi trọng số và kích hoạt từ FP32 thành số nguyên 8 bit. Kích thước mô hình giảm 4 lần và tốc độ suy luận trên thiết bị có hỗ trợ INT8 tăng lên đến 3 lần. Lượng tử hóa FP16 giảm kích thước một nửa với mất mát độ chính xác tối thiểu.

Lượng tử hóa động giữ trọng số ở INT8 nhưng thực hiện tính toán ở FP32. Chế độ này phù hợp với các mô hình nhạy cảm với độ chính xác và giảm kích thước lên đến 4 lần trong khi duy trì chất lượng. Theo Google ML Performance Benchmarks, lượng tử hóa động được khuyến nghị cho các mô hình NLP.

So sánh các chế độ lượng tử hóa TFLite

Chế độLoại trọng sốLoại kích hoạtGiảm kích thước
FP32 (không lượng tử hóa)FP32FP321x
FP16FP16FP322x
INT8 độngINT8FP324x
INT8 đầy đủINT8INT84x

Tăng tốc phần cứng trên Android và iOS

Trên Android, cơ chế tăng tốc chính là Ủy quyền NNAPI, chuyển việc thực thi thao tác sang NPU, DSP hoặc GPU qua API Android Neural Networks. NNAPI có sẵn trên thiết bị chạy Android 8.1+ và hỗ trợ tính toán INT8 và FP16. GPU Delegate cho Android sử dụng OpenGL ES 3.1+ và Vulkan.

Trên iOS, tăng tốc được cung cấp qua Ủy quyền Core ML, dịch các thao tác TFLite sang định dạng Core ML và thực thi chúng trên Apple Neural Engine. Theo Apple ML Benchmarking, sử dụng Core ML Delegate tăng tốc suy luận trên iPhone 15 Pro lên đến 4 lần so với CPU. GPU Delegate cho iOS sử dụng Metal Performance Shaders.

XNNPACK Delegate là giải pháp đa nền tảng cho CPU ARM, được tối ưu hóa cho bộ vi xử lý di động. XNNPACK hỗ trợ các thao tác FP32, FP16 và INT8 và không yêu cầu phần cứng đặc biệt. Nó được khuyến nghị làm ủy quyền cơ sở cho tất cả các thiết bị.

Triển khai mô hình với TFLite

Quy trình triển khai bao gồm ba bước. Đầu tiên — chuyển đổi mô hình sang .tflite qua TFLite Converter. Thứ hai — bao gồm tệp .tflite trong tài nguyên ứng dụng. Đối với Android, tệp được đặt trong assets; đối với iOS, trong gói ứng dụng qua Xcode. Thứ ba — khởi tạo Interpreter và thực hiện suy luận.

Đối với cập nhật mô hình động, Google khuyến nghị sử dụng Firebase ML Model Downloading hoặc cơ chế tải xuống tùy chỉnh từ đám mây. Tệp .tflite được cập nhật được lưu vào bộ nhớ cục bộ và tải vào Interpreter khi khởi động lần tiếp theo.

Khi triển khai, điều quan trọng là xem xét kích thước tệp .tflite. Google Play giới hạn kích thước APK ở mức 200 MB. Đối với mô hình lớn hơn 50 MB, nên sử dụng Android App Bundle hoặc tải mô hình riêng qua Play Asset Delivery.

Ví dụ sử dụng TFLite trong mã

Ví dụ tải và chạy mô hình trên Android với API Java. Sử dụng Interpreter.create() để tải .tflite từ assets và run() cho suy luận. Dữ liệu đầu vào và đầu ra được truyền dưới dạng mảng đa chiều hoặc ByteBuffer:

java
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();

Ví dụ sử dụng GPU Delegate trên Android để tăng tốc phần cứng. Thêm phụ thuộc com.android.support:tensorflow-lite-gpu và chỉ định ủy quyền khi tạo Interpreter:

java
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);

// Run inference on the input data
interpreter.run(input, output);

// Release delegate resources after inference
gpuDelegate.close();
interpreter.close();

Câu hỏi thường gặp

Sự khác biệt giữa TensorFlow và TensorFlow Lite là gì?

TensorFlow là framework đầy đủ cho huấn luyện và suy luận. TensorFlow Lite chỉ dành cho suy luận trên thiết bị di động. TFLite sử dụng định dạng .tflite và không hỗ trợ lan truyền ngược.

Những ủy quyền tăng tốc nào có sẵn trong TFLite?

Các ủy quyền được hỗ trợ bao gồm GPU Delegate (OpenGL/Metal), NNAPI Delegate (Android), Core ML Delegate (iOS) và XNNPACK Delegate (ARM CPU). Mỗi ủy quyền được tối ưu hóa cho một loại phần cứng cụ thể.

Làm thế nào để giảm kích thước mô hình .tflite?

Sử dụng lượng tử hóa: FP16 giảm kích thước 2 lần, INT8 giảm 4 lần. Lượng tử hóa động, cắt tỉa trọng số và chưng cất mô hình trước khi chuyển đổi cũng có sẵn.

TFLite có hỗ trợ huấn luyện trên thiết bị không?

Có, thông qua TFLite Model MakerAPI huấn luyện trên thiết bị (thử nghiệm). Hỗ trợ tinh chỉnh và cá nhân hóa mô hình trực tiếp trên thiết bị của người dùng.

TFLite hỗ trợ những loại mô hình nào?

TFLite hỗ trợ CNN, RNN, LSTM, Transformer, các kiến trúc di động (MobileNet, EfficientNet, YOLO, BERT) và các thao tác tùy chỉnh. Giới hạn là các toán tử có sẵn trong ủy quyền mục tiêu.

Tóm tắt

  • TensorFlow Lite là framework nhẹ cho ML trên thiết bị di động và nhúng của Google.
  • Các mô hình được chuyển đổi sang định dạng .tflite qua TFLite Converter từ TensorFlow SavedModel hoặc Keras.
  • Lượng tử hóa INT8 và FP16 giảm kích thước mô hình đến 4 lần và tăng tốc suy luận đến 3 lần.
  • Tăng tốc phần cứng có sẵn qua các ủy quyền GPU, NNAPI, Core ML và XNNPACK.
  • Môi trường chạy chiếm khoảng 300 KB trên Android và chạy trên hơn 4 tỷ thiết bị.
  • Task Library cung cấp các giải pháp có sẵn cho phân loại, phát hiện, phân đoạn và NLU.
  • Đối với cập nhật động, hãy sử dụng Firebase ML hoặc Play Asset Delivery.

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án

Đọc thêm