LiteRT (viết tắt của Lite Runtime), trước đây gọi là TensorFlow Lite, là môi trường thời gian chạy hiệu suất cao của Google dành cho AI trên thiết bị. Bạn có thể tìm thấy các mô hình LiteRT sẵn sàng chạy cho nhiều tác vụ ML/AI, hoặc chuyển đổi và chạy các mô hình TensorFlow, PyTorch và JAX sang định dạng TFLite bằng cách sử dụng công cụ chuyển đổi và tối ưu hoá AI Edge.
Tính năng chính
Tối ưu hoá cho công nghệ học máy trên thiết bị: LiteRT giải quyết 5 quy tắc ràng buộc chính của ODML: độ trễ (không có lượt truy cập hai chiều đến máy chủ), quyền riêng tư (không có dữ liệu cá nhân nào rời khỏi thiết bị), khả năng kết nối (không bắt buộc phải có kết nối Internet), kích thước (giảm kích thước mô hình và tệp nhị phân) và mức tiêu thụ điện năng (suy luận hiệu quả và không có kết nối mạng).
Hỗ trợ nhiều nền tảng: Tương thích với các thiết bị Android và iOS, Linux nhúng và bộ điều khiển vi mô.
Các tuỳ chọn mô hình nhiều khung: AI Edge cung cấp các công cụ để chuyển đổi mô hình từ mô hình TensorFlow, PyTorch và JAX sang định dạng FlatBuffers (
.tflite
), cho phép bạn sử dụng nhiều mô hình hiện đại trên LiteRT. Bạn cũng có quyền sử dụng các công cụ tối ưu hoá mô hình có thể xử lý việc lượng tử hoá và siêu dữ liệu.Hỗ trợ nhiều ngôn ngữ: Bao gồm SDK cho Java/Kotlin, Swift, Objective-C, C++ và Python.
Hiệu suất cao: Tăng tốc phần cứng thông qua các trình uỷ quyền chuyên biệt như GPU và iOS Core ML.
Quy trình phát triển
Quy trình phát triển LiteRT bao gồm việc xác định vấn đề về học máy/trí tuệ nhân tạo, chọn một mô hình giải quyết vấn đề đó và triển khai mô hình trên thiết bị. Các bước sau đây sẽ hướng dẫn bạn thực hiện quy trình công việc và cung cấp đường liên kết đến hướng dẫn chi tiết hơn.
1. Xác định giải pháp phù hợp nhất cho vấn đề về học máy
LiteRT mang đến cho người dùng khả năng linh hoạt và tuỳ chỉnh cao khi giải quyết các vấn đề về học máy, phù hợp với những người dùng yêu cầu một mô hình cụ thể hoặc cách triển khai chuyên biệt. Những người dùng đang tìm kiếm giải pháp cắm và chạy có thể ưu tiên MediaPipe Tasks. Giải pháp này cung cấp các giải pháp tạo sẵn cho các tác vụ học máy phổ biến như phát hiện đối tượng, phân loại văn bản và suy luận LLM.
Chọn một trong các khung AI Edge sau:
- LiteRT: Môi trường thời gian chạy linh hoạt và có thể tuỳ chỉnh, có thể chạy nhiều loại mô hình. Chọn một mô hình cho trường hợp sử dụng của bạn, chuyển đổi mô hình đó sang định dạng LiteRT (nếu cần) và chạy mô hình đó trên thiết bị. Nếu bạn định sử dụng LiteRT, hãy tiếp tục đọc.
- MediaPipe Tasks (Tác vụ MediaPipe): Giải pháp cắm và chạy với các mô hình mặc định cho phép tuỳ chỉnh. Chọn tác vụ giải quyết vấn đề về AI/học máy và triển khai tác vụ đó trên nhiều nền tảng. Nếu bạn định sử dụng Tác vụ MediaPipe, hãy tham khảo tài liệu về Tác vụ MediaPipe.
2. Chọn một mô hình
Mô hình LiteRT được biểu thị ở định dạng di động hiệu quả có tên là FlatBuffers. Định dạng này sử dụng đuôi tệp .tflite
.
Bạn có thể sử dụng mô hình LiteRT theo các cách sau:
Sử dụng mô hình LiteRT hiện có: Cách đơn giản nhất là sử dụng mô hình LiteRT đã ở định dạng
.tflite
. Các mô hình này không yêu cầu thêm bước chuyển đổi nào. Bạn có thể tìm thấy các mô hình LiteRT trên Mô hình Kaggle.Chuyển đổi mô hình thành mô hình LiteRT: Bạn có thể sử dụng Trình chuyển đổi TensorFlow, Trình chuyển đổi PyToch hoặc Trình chuyển đổi JAX để chuyển đổi mô hình sang định dạng FlatBuffers (
.tflite
) và chạy các mô hình đó trong LiteRT. Để bắt đầu, bạn có thể tìm thấy các mô hình trên các trang web sau:- Mô hình TensorFlow trên Mô hình Kaggle và Hugging Face
- Mô hình PyTorch trên Hugging Face và
torchvision
- Mô hình JAX trên Hugging Face
Mô hình LiteRT có thể tuỳ ý bao gồm siêu dữ liệu chứa nội dung mô tả mô hình mà con người có thể đọc và dữ liệu mà máy có thể đọc để tự động tạo quy trình xử lý trước và sau trong quá trình suy luận trên thiết bị. Hãy tham khảo phần Thêm siêu dữ liệu để biết thêm thông tin chi tiết.
3. Tích hợp mô hình vào ứng dụng
Bạn có thể triển khai các mô hình LiteRT để chạy các suy luận hoàn toàn trên thiết bị trên web, thiết bị nhúng và thiết bị di động. LiteRT chứa các API cho Python, Java và Kotlin dành cho Android, Swift dành cho iOS và C++ dành cho thiết bị vi mô.
Hãy sử dụng các hướng dẫn sau để triển khai mô hình LiteRT trên nền tảng mà bạn muốn:
- Chạy trên Android: Chạy mô hình trên thiết bị Android bằng API Java/Kotlin.
- Chạy trên iOS: Chạy mô hình trên thiết bị iOS bằng các API Swift.
- Chạy trên vi mô: Chạy mô hình trên các thiết bị nhúng bằng API C++.
Trên thiết bị Android và iOS, bạn có thể cải thiện hiệu suất bằng tính năng tăng tốc phần cứng. Trên cả hai nền tảng, bạn có thể sử dụng Đại diện GPU và trên iOS, bạn có thể sử dụng Đại diện Core ML. Để thêm tính năng hỗ trợ cho trình tăng tốc phần cứng mới, bạn có thể xác định người được uỷ quyền của riêng mình.
Bạn có thể chạy quy trình suy luận theo các cách sau đây dựa trên loại mô hình:
Mô hình không có siêu dữ liệu: Sử dụng API Trình diễn giải LiteRT. Được hỗ trợ trên nhiều nền tảng và ngôn ngữ như Java, Swift, C++, Objective-C và Python.
Mô hình có siêu dữ liệu: Bạn có thể tạo quy trình suy luận tuỳ chỉnh bằng Thư viện hỗ trợ LiteRT.
Di chuyển từ TF Lite
Các ứng dụng sử dụng thư viện TF Lite sẽ tiếp tục hoạt động, nhưng tất cả hoạt động phát triển và cập nhật mới sẽ chỉ được đưa vào các gói LiteRT. Các API LiteRT chứa tên phương thức giống như các API TF Lite, vì vậy, việc di chuyển sang LiteRT không yêu cầu thay đổi mã chi tiết.
Để biết thêm thông tin, hãy tham khảo hướng dẫn di chuyển.
Các bước tiếp theo
Người dùng mới nên bắt đầu bằng hướng dẫn nhanh về LiteRT. Để biết thông tin cụ thể, hãy xem các phần sau:
Lượt chuyển đổi được mô hình hoá
- Chuyển đổi mô hình TensorFlow
- Chuyển đổi mô hình PyTorch
- Chuyển đổi mô hình AI tạo sinh PyTorch
- Chuyển đổi mô hình JAX
Hướng dẫn về nền tảng