LiteRT là khung hình trên thiết bị của Google để triển khai ML và GenAI hiệu suất cao trên các nền tảng biên, sử dụng hoạt động chuyển đổi, thời gian chạy và tối ưu hoá hiệu quả.
LiteRT 2.x chứa API thời gian chạy gần đây nhất, CompiledModel API, giúp cải thiện Interpreter API (còn gọi là TensorFlow Lite API), đặc biệt là thông qua tính năng tăng tốc phần cứng và hiệu suất tổng thể cho các ứng dụng ML và AI trên thiết bị. CompiledModel API đang ở bản phát hành thử nghiệm và có sẵn trong cả Kotlin và C++.
Các tính năng chính của LiteRT
Các mô hình được hỗ trợ
LiteRT Hỗ trợ chuyển đổi tinh giản từ các khung Pytorch, TensorFlow và JAX sang định dạng .tflite hoặc .litertlm.
Đơn giản hoá quá trình phát triển bằng LiteRT
Lựa chọn bộ tăng tốc tự động so với việc tạo uỷ quyền rõ ràng. Thời gian chạy NPU và hoạt động phân phối mô hình đơn giản. Xử lý vùng đệm I/O hiệu quả và thực thi không đồng bộ để có hiệu suất vượt trội.
Hiệu suất GPU hàng đầu
Được hỗ trợ bởi ML Drift, hiện hỗ trợ cả mô hình ML và mô hình AI tạo sinh trên các API GPU.
Tăng tốc NPU hợp nhất
Tăng tốc mô hình của bạn bằng cách sử dụng quyền truy cập NPU đơn giản từ các nhà cung cấp chipset lớn.
Hỗ trợ LLM đơn giản bằng LiteRT
Bạn có thể sử dụng LiteRT-LM dựa trên LiteRT. LiteRT-LM hỗ trợ các LLM mới nhất và các tính năng hữu ích như đa phương thức, giải mã bị hạn chế, v.v.
Quy trình phát triển
LiteRT chạy các suy luận hoàn toàn trên thiết bị Android, iOS, Web, IoT và trên Máy tính/Máy tính xách tay. Bất kể thiết bị nào, sau đây là quy trình làm việc phổ biến nhất, kèm theo đường liên kết đến hướng dẫn chi tiết hơn.

Xác định giải pháp phù hợp nhất cho thách thức về học máy
LiteRT mang đến cho người dùng mức độ linh hoạt và khả năng tuỳ chỉnh cao khi giải quyết các vấn đề về học máy, nhờ đó phù hợp với những người dùng yêu cầu một mô hình cụ thể hoặc một cách triển khai chuyên biệt. Những người dùng đang tìm kiếm các giải pháp tức thì có thể ưu tiên MediaPipe Tasks. Đây là giải pháp có 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.
Thu thập và chuẩn bị mô hình
Một mô hình LiteRT được biểu thị ở định dạng di động hiệu quả, được gọi là FlatBuffers, sử dụng đuôi tệp .tflite.
Bạn có thể lấy mô hình LiteRT theo những cách sau:
Nhận một mô hình được huấn luyện trước: cho các khối lượng công việc học máy phổ biến như phân đoạn hình ảnh, phát hiện đối tượng, v.v.
Cách đơn giản nhất là sử dụng một mô hình LiteRT đã có ở định dạng
.tflite. Các mô hình này không yêu cầu bạn thêm bất kỳ bước chuyển đổi nào.Loại mô hình Nguồn mô hình được huấn luyện trước ML cổ điển
(định dạng.tflite)Truy cập vào Kaggle hoặc HuggingFace
Ví dụ: Mô hình phân đoạn hình ảnh và ứng dụng mẫuAI tạo sinh
(định dạng.litertlm)Trang LiteRT Hugging Face
Ví dụ: Gemma FamilyChuyển đổi mô hình PyTorch, TensorFlow hoặc JAX mà bạn đã chọn thành mô hình LiteRT nếu bạn chọn không sử dụng mô hình được huấn luyện trước. [PRO USER]
Khung mô hình Mẫu Công cụ chuyển đổi Pytorch Hugging Face
TorchvisionĐường liên kết TensorFlow Kaggle Models
Hugging FaceĐường liên kết Jax Hugging Face Đường liên kết Tạo LLM để tối ưu hoá thêm bằng Generative API [NGƯỜI DÙNG PRO]
Thư viện Generative API cung cấp các khối dựng sẵn PyTorch để tạo các mô hình Transformer như Gemma, TinyLlama và các mô hình khác bằng cách sử dụng các lớp trừu tượng thân thiện với thiết bị di động. Nhờ đó, chúng ta có thể đảm bảo quá trình chuyển đổi và thực thi hiệu quả trên thời gian chạy di động của mình, LiteRT. Xem Tài liệu về Generative API.
Lượng tử hoá [NGƯỜI DÙNG PRO]
AI Edge Quantizer là một công cụ dành cho các nhà phát triển nâng cao để lượng tử hoá các mô hình LiteRT đã chuyển đổi. Mục tiêu của tính năng này là giúp người dùng nâng cao đạt được hiệu suất tối ưu trên các mô hình đòi hỏi nhiều tài nguyên (ví dụ: mô hình AI tạo sinh).
Đối với các mô hình học máy và mô hình AI tạo sinh, hãy xem tài liệu về Ai-Edge-Quantization.
Điều kiện tiên quyết để bắt đầu
- Python 3.10 – 3.12
- Tệp mô hình
.tflite - Bạn có thể xem thêm thông tin chi tiết trong phần nền tảng tương ứng
Tích hợp mô hình này vào ứng dụng của bạn trên các nền tảng biên
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 các thiết bị Android, iOS, Web, IoT và Máy tính. LiteRT chứa các API cho Python, Java và Kotlin cho Android, Swift cho iOS và C++ cho các thiết bị siêu nhỏ.
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:
| Khung mô hình | Mẫu | Công cụ chuyển đổi |
|---|---|---|
| Chạy trên Android | Thiết bị di động Android | API C++/Kotlin |
| Chạy trên iOS | Thiết bị di động iOS | API C++/Swift* |
| Chạy trên Web bằng LiteRT.js | Thiết bị có Chrome, Firefox hoặc Safari | API JavaScript |
| Chạy trên Micro | Thiết bị được nhúng | API C++ |
*Sắp ra mắt
Ví dụ về mã Kotlin
// Load model and initialize runtime
val compiledModel = CompiledModel.create("/path/to/mymodel.tflite", CompiledModel.Options(Accelerator.CPU))
// Prepare I/O buffers and fill in the data
val inputBuffers = compiledModel.createInputBuffers()
inputBuffers.get(0).writeFloat(input0)
inputBuffers.get(1).writeFloat(input1)
val outputBuffers = compiledModel.createOutputBuffers()
// Execute model
compiledModel.run(inputBuffers, outputBuffers)
// Access model output
val output = outputBuffers.get(0).readFloat()
inputBuffers.forEach { it.close() }
outputBuffers.forEach { it.close() }
compiledModel.close()
Ví dụ về mã C++
LITERT_ASSIGN_OR_RETURN(auto env, GetEnvironment());
LITERT_ASSIGN_OR_RETURN(auto options, GetOptions());
LITERT_ASSIGN_OR_RETURN(
auto compiled_model,
CompiledModel::Create(env, "/path/to/mymodel.tflite", options));
LITERT_ASSIGN_OR_RETURN(auto input_buffers,compiled_model.CreateInputBuffers(signature_index));
LITERT_ASSIGN_OR_RETURN(auto output_buffers,compiled_model.CreateOutputBuffers(signature_index));
LITERT_ABORT_IF_ERROR(input_buffers[0].Write(input0));
LITERT_ABORT_IF_ERROR(input_buffers[1].Write(input1));
LITERT_ABORT_IF_ERROR(compiled_model.Run(signature_index, input_buffers, output_buffers));
LITERT_ABORT_IF_ERROR(output_buffers[0].Read(output0));
Chọn một phần phụ trợ
Cách đơn giản nhất để kết hợp các phần phụ trợ trong LiteRT là dựa vào trí thông minh tích hợp của thời gian chạy. Với những thay đổi mới nhất, LiteRT giúp đơn giản hoá đáng kể quá trình thiết lập nhờ khả năng chỉ định phần phụ trợ mục tiêu làm một lựa chọn.
Cốt lõi của LiteRT phiên bản 2.x là đối tượng CompiledModel. Khi bạn tải một mô hình, LiteRT sẽ sử dụng phần cứng có sẵn của hệ thống và logic ưu tiên nội bộ để chọn phần phụ trợ tối ưu mà không cần định cấu hình theo cách thủ công. Xem phần phụ trợ để biết thêm thông tin chi tiết.
| Android | Máy tính | Web | iOS | macOS | IoT | |
|---|---|---|---|---|---|---|
| CPU | XNNPack | XNNPack | XNNPack | XNNPack | XNNPack | XNNPack |
| GPU | WebGPU OpenCL |
WebGPU OpenCL |
WebGPU | WebGPU Metal |
WebGPU Metal |
WebGPU |
| NPU | MediaTek Qualcomm |
- | - | - | - | - |
Tài liệu và dịch vụ hỗ trợ bổ sung
Ứng dụng mẫu LiteRT phiên bản 2.x Xem Ứng dụng mẫu phân đoạn hình ảnh LiteRT
Đối với người dùng hiện tại của TensorFlow Lite Hãy xem hướng dẫn di chuyển
Phạm vi hoạt động của nhà tổ chức tương thích
Các mô hình LLM được hỗ trợ LiteRT Hugging face và Gen API – các mẫu
Công cụ Trang công cụ LiteRT – Hiệu suất, Phân tích hiệu suất, báo cáo lỗi, v.v.