LiteRT-LM là một khung suy luận nguồn mở, sẵn sàng cho hoạt động sản xuất, được thiết kế để cung cấp các hoạt động triển khai LLM hiệu suất cao, nhiều nền tảng trên các thiết bị biên.
- Hỗ trợ đa nền tảng: Chạy trên Android, iOS, Web, Máy tính và IoT (ví dụ: Raspberry Pi).
- Tăng tốc phần cứng: Đạt được hiệu suất tối đa và độ ổn định của hệ thống bằng cách tận dụng các bộ tăng tốc GPU và NPU trên nhiều phần cứng.
- Đa phương thức: Xây dựng bằng các LLM có hỗ trợ thị giác và âm thanh.
- Sử dụng công cụ: Hỗ trợ gọi hàm cho quy trình làm việc dựa trên tác nhân với khả năng giải mã bị hạn chế để cải thiện độ chính xác.
- Hỗ trợ nhiều mô hình: Chạy Gemma, Llama, Phi-4, Qwen và nhiều mô hình khác.
Giới thiệu về AI tạo sinh trên thiết bị
Google AI Edge Gallery là một ứng dụng thử nghiệm được thiết kế để giới thiệu các tính năng AI tạo sinh trên thiết bị, chạy hoàn toàn ở chế độ ngoại tuyến bằng LiteRT-LM.
- Google Play: Sử dụng các LLM cục bộ trên thiết bị Android được hỗ trợ.
- App Store: Trải nghiệm AI trên thiết bị iOS.
- Nguồn GitHub: Xem mã nguồn của ứng dụng thư viện ảnh để tìm hiểu cách tích hợp LiteRT-LM vào các dự án của riêng bạn.
Mô hình được đề xuất: Gemma-3n-E2B
| Hồ sơ thiết bị | Chế độ | Điền sẵn (tk/s) | Giải mã (tk/s) |
|---|---|---|---|
| MacBook Pro 2023 M3 | CPU | 233 | 28 |
| MacBook Pro 2024 M4 | GPU | 2265 | 48 |
| Samsung S24 (Ultra) | CPU | 111 | 16 |
| GPU | 816 | 16 |
Bắt đầu xây dựng
Các đoạn mã sau đây cho biết cách bắt đầu sử dụng CLI LiteRT-LM, cũng như các API Python, Kotlin và C++.
CLI
litert-lm run model.litertlm --prompt="What is the capital of France?"
Python
engine = litert_lm.Engine("model.litertlm")
with engine.create_conversation() as conversation:
response = conversation.send_message("What is the capital of France?")
print(f"Response: {response['content'][0]['text']}")
Kotlin
val engineConfig = EngineConfig(
modelPath = "/path/to/your/model.litertlm",
backend = Backend.CPU(),
)
val engine = Engine(engineConfig)
engine.initialize()
val conversation = engine.createConversation()
print(conversation.sendMessage("What is the capital of France?"))
C++
auto model_assets = ModelAssets::Create(model_path);
CHECK_OK(model_assets);
auto engine_settings = EngineSettings::CreateDefault(
model_assets,
/*backend=*/litert::lm::Backend::CPU);
absl::StatusOr<std::unique_ptr<Engine>> engine = Engine::CreateEngine(engine_settings);
CHECK_OK(engine);
auto conversation_config = ConversationConfig::CreateDefault(**engine);
CHECK_OK(conversation_config);
absl::StatusOr<std::unique_ptr<Conversation>> conversation = Conversation::Create(**engine, *conversation_config);
CHECK_OK(conversation);
absl::StatusOr<Message> model_message = (*conversation)->SendMessage(
JsonMessage{
{"role", "user"},
{"content", "What is the capital of France?"}
});
CHECK_OK(model_message);
std::cout << *model_message << std::endl;
| Ngôn ngữ | Trạng thái | Phù hợp nhất cho... | Tài liệu |
|---|---|---|---|
| CLI | 🚀 Bản xem trước |
Bắt đầu sử dụng LiteRT-LM trong vòng chưa đầy 1 phút. | Hướng dẫn về CLI |
| Python | ✅ Ổn định |
Tạo mẫu nhanh, phát triển trên máy tính và Raspberry Pi. | Hướng dẫn về Python |
| Kotlin | ✅ Ổn định |
Ứng dụng Android gốc và các công cụ dành cho máy tính dựa trên JVM. Được tối ưu hoá cho các coroutine. | Hướng dẫn về Kotlin |
| C++ | ✅ Ổn định |
Logic cốt lõi và hệ thống nhúng đa nền tảng, hiệu suất cao. | Hướng dẫn về C++ |
| Swift | 🚀 Đang phát triển |
Tích hợp iOS và macOS gốc với chế độ hỗ trợ Metal chuyên biệt. | Sắp có |
Nền tảng và phần phụ trợ được hỗ trợ
| Tăng tốc | Android | iOS | macOS | Windows | Linux | IoT |
|---|---|---|---|---|---|---|
| CPU | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| GPU | ✅ | ✅ | ✅ | ✅ | ✅ | - |
| NPU | ✅ | - | - | - | - | - |
Các mô hình được hỗ trợ
Bảng sau đây liệt kê các mô hình được LiteRT-LM hỗ trợ. Để biết thêm số liệu hiệu suất và thẻ mô hình chi tiết, hãy truy cập vào Cộng đồng LiteRT trên Hugging Face.
| Mô hình | Loại | Kích thước (MB) | Đường liên kết để tải xuống | Thiết bị | CPU Prefill (tk/s) | Giải mã CPU (tk/s) | GPU Prefill (tk/s) | Giải mã GPU (tk/s) |
|---|---|---|---|---|---|---|---|---|
| Gemma3-1B | Chat (Trò chuyện) | 1005 | Thẻ mô hình | Samsung S24 Ultra | 177 | 33 | 1191 | 24 |
| Gemma-3n-E2B | Chat (Trò chuyện) | 2965 | Thẻ mô hình | MacBook Pro M3 | 233 | 28 | - | - |
| Samsung S24 Ultra | 111 | 16 | 816 | 16 | ||||
| Gemma-3n-E4B | Chat (Trò chuyện) | 4235 | Thẻ mô hình | MacBook Pro M3 | 170 | 20 | - | - |
| Samsung S24 Ultra | 74 | 9 | 548 | 9 | ||||
| FunctionGemma | Cơ sở | 289 | Thẻ mô hình | Samsung S25 Ultra | 2238 | 154 | - | - |
| phi-4-mini | Chat (Trò chuyện) | 3906 | Thẻ mô hình | Samsung S24 Ultra | 67 | 7 | 314 | 10 |
| Qwen2.5-1.5B | Chat (Trò chuyện) | 1598 | Thẻ mô hình | Samsung S25 Ultra | 298 | 34 | 1668 | 31 |
| Qwen3-0.6B | Chat (Trò chuyện) | 586 | Thẻ mô hình | Vivo X300 Pro | 165 | 9 | 580 | 21 |
| Qwen2.5-0.5B | Chat (Trò chuyện) | 521 | Thẻ mô hình | Samsung S24 Ultra | 251 | 30 | - | - |
Báo cáo sự cố
Nếu bạn gặp lỗi hoặc có yêu cầu về tính năng, hãy báo cáo tại LiteRT-LM GitHub Issues.