LiteRT-LM 是一款可用于生产环境的开源推理框架,旨在在边缘设备上实现高性能、跨平台的 LLM 部署。
主要功能
- 跨平台支持:可在 Android、iOS、Web 和桌面设备上运行。
- 硬件加速:
- GPU:由 ML Drift 提供支持,同时支持机器学习模型和生成式 AI 模型。
- NPU:在搭载 Qualcomm 和 MediaTek 芯片组的设备上加速推理(抢先体验版)。
- 多模态:支持视觉和音频输入。
- 工具使用:支持在代理工作流中使用函数调用。
- 广泛的模型支持:运行 Gemma、Llama、Phi-4、Qwen 等模型。
支持的后端和平台
| 平台 | CPU 支持 | GPU 支持 | NPU 支持 |
|---|---|---|---|
| Android | ✅ | ✅ | ✅ |
| iOS | ✅ | ✅ | - |
| macOS | ✅ | ✅ | - |
| Windows | ✅ | ✅ | - |
| Linux | ✅ | ✅ | - |
| 嵌入式 | ✅ | - | - |
快速入门
想先试用一下吗?在继续进行完整设置之前,您可以先使用桌面设备的预构建二进制文件或移动设备的 Google AI Edge Gallery 应用立即运行 LiteRT-LM。
移动应用
Google AI Edge Gallery 是一款演示应用,可让您直接体验先进的生成式 AI 模型,由 LiteRT-LM 提供支持。
桌面 CLI
下载 lit 二进制文件后,只需运行 lit 即可查看选项。
选择平台
| 语言 | 状态 | 最适合... | 文档 |
|---|---|---|---|
| Kotlin | ✅ 稳定版 |
原生 Android 应用和基于 JVM 的桌面工具。针对协程进行了优化。 | Kotlin API 参考文档 |
| C++ | ✅ 稳定版 |
高性能、跨平台的核心逻辑和嵌入式系统。 | C++ API 参考文档 |
| Swift | 🚀 开发中 |
与 iOS 和 macOS 原生集成,并提供专门的 Metal 支持。 | 即将推出 |
| Python | 🚀 开发中 |
快速原型设计、开发和桌面端脚本编写。 | 即将推出 |
支持的模型
下表列出了一些完全支持 LiteRT-LM 并经过相关测试的模型。
注意:“Chat Ready”表示已针对聊天进行调优的模型(指令调优)。除非用于特定补全,否则“基础”模型通常需要进行微调才能获得最佳聊天性能。
| 型号 | 类型 | 量化 | 上下文长度 | 大小 (MB) | 下载 |
|---|---|---|---|---|---|
| Gemma | |||||
| Gemma3-1B | Chat Ready | 每个通道 4 位 | 4096 | 557 | 下载 |
| Gemma-3n-E2B | Chat Ready | 每个通道 4 位 | 4096 | 2965 | 下载 |
| Gemma-3n-E4B | Chat Ready | 每个通道 4 位 | 4096 | 4235 | 下载 |
| FunctionGemma-270M | 基础(需要微调) | 每通道 8 位 | 1024 | 288 | 微调指南 |
| ↪ TinyGarden-270M | 演示 | 每通道 8 位 | 1024 | 288 | 下载 / 试用应用 |
| Llama | |||||
| Llama-3.2-1B-Instruct | Chat Ready | 每通道 8 位 | 8192 | 1162 | 下载 |
| Llama-3.2-3B-Instruct | Chat Ready | 每通道 8 位 | 8192 | 2893 | 下载 |
| Phi | |||||
| phi-4-mini | Chat Ready | 每通道 8 位 | 4096 | 3728 | 下载 |
| Qwen | |||||
| qwen2.5-1.5b | Chat Ready | 每通道 8 位 | 4096 | 1524 | 下载 |
性能
以下是在各种设备上运行每个模型的性能数据。请注意,基准测试是在 1024 个令牌预填充和 256 个令牌解码的情况下测得的(在 Android 设备上启用性能锁定)。
| 型号 | 设备 | 后端 | 预填充(token 数/秒) | 解码(token 数/秒) | 上下文长度 |
|---|---|---|---|---|---|
| Gemma3-1B | MacBook Pro (2023 年 M3) |
CPU | 423 | 67 | 4096 |
| Gemma3-1B | Samsung S24 (Ultra) |
CPU | 243 | 44 | 4096 |
| Gemma3-1B | Samsung S24 (Ultra) |
GPU | 1877 | 45 | 4096 |
| Gemma3-1B | Samsung S25 (Ultra) |
NPU | 5837 | 85 | 1280 |
| Gemma-3n-E2B | MacBook Pro (2023 年 M3) |
CPU | 233 | 28 | 4096 |
| Gemma-3n-E2B | Samsung S24 (Ultra) |
CPU | 111 | 16 | 4096 |
| Gemma-3n-E2B | Samsung S24 (Ultra) |
GPU | 816 | 16 | 4096 |
| Gemma-3n-E4B | MacBook Pro (2023 年 M3) |
CPU | 170 | 20 | 4096 |
| Gemma-3n-E4B | Samsung S24 (Ultra) |
CPU | 74 | 9 | 4096 |
| Gemma-3n-E4B | Samsung S24 (Ultra) |
GPU | 548 | 9 | 4096 |
| FunctionGemma | Samsung S25 (Ultra) |
CPU | 1718 | 126 | 1024 |
注意:首次在给定设备上加载给定模型时,由于需要优化权重,因此加载时间会更长。由于缓存,后续加载速度会更快。
模型托管和部署
当模型超出“通过无线下载”的限制(通常约为 1.5 GB)时,需要采用远程提取策略。
- Firebase:建议用于在 Android 和 iOS 上下载大型文件。
- HuggingFace API:使用 HuggingFace API 直接提取模型。
报告问题
如果您遇到 bug 或有功能请求,请使用 LiteRT-LM GitHub 问题页面。