⑦:LiteRT-LM——端侧部署的未来展望
本篇目标:了解 Google 推出的端侧 LLM 推理框架 LiteRT-LM,看懂它在移动端/边缘设备上的颠覆性性能
先问一个问题:大模型能跑在手机上吗?
如果你的回答是「跑不动」或者「太慢了」,那你需要更新一下认知了。
先看一组数据:
| 指标 | 传统认知 | LiteRT-LM 实测(骁龙 8 Elite Gen 5) |
|---|---|---|
| 首次响应(TTFT) | 几秒甚至十几秒 | 0.12 秒 |
| 解码速度 | 几个 token/s | >100 tokens/s |
| 内存占用 | 几 GB | <1.5 GB(2B 模型) |
这意味着什么?大模型可以在手机上流畅运行,响应速度接近甚至超越云端 API。
LiteRT-LM 是什么?
一句话:Google 推出的端侧 LLM 推理框架,专门跑在手机、手表、IoT 设备上。
它不是 Ollama 的替代品,也不是 vLLM 的竞品——它占据的是完全不同的「势力范围」:
| 框架 | 部署位置 | 硬件架构 | 典型场景 |
|---|---|---|---|
| vLLM | 云端/服务器 | x86 + NVIDIA GPU | 高并发 API 服务 |
| Ollama | PC/工作站 | x86 + NVIDIA/AMD GPU | 开发调试、日常使用 |
| LM Studio | PC/笔记本 | x86/Mac | 尝鲜、非技术用户 |
| LiteRT-LM | 手机/手表/IoT | ARM + NPU | 端侧离线应用 |
为什么 LiteRT-LM 这么快?
核心技术:NPU 加速
LiteRT-LM 最大的杀手锏是 NPU(神经网络处理单元)加速。
| 后端 | 相对性能 | 功耗 | 适用场景 |
|---|---|---|---|
| CPU | 基准(1x) | 高 | 兜底方案 |
| GPU | ~7x | 中等 | 长序列生成 |
| NPU | ~100x | 低 | 首选方案 |
💡 NPU 是什么? 专门为神经网络计算设计的芯片,苹果的 Neural Engine、高通的 Hexagon、联发科的 APU 都属于这类。它的特点是:并行计算能力强、功耗低。
实测对比:NPU vs GPU vs CPU
在高通骁龙 8 Elite Gen 5 上运行 Gemma 3 1B:
| 指标 | CPU | GPU | NPU |
|---|---|---|---|
| TTFT(1024 token 输入) | ~12s | ~1.5s | ~0.12s |
| 解码速度 | ~5 tok/s | ~40 tok/s | >100 tok/s |
| GPU Prefill 速度 | - | llama.cpp 的 19 倍 | - |
| GPU Decode 速度 | - | llama.cpp 的 7 倍 | - |
LiteRT-LM 的核心特性
1. 跨平台支持
| 平台 | 硬件加速 | 备注 |
|---|---|---|
| Android | CPU / GPU / NPU | 支持 OpenCL、Vulkan |
| iOS | CPU / GPU / ANE | 支持 Metal、Apple Neural Engine |
| Chrome 浏览器 | CPU / WebGPU | Chrome 内置 AI 助手已采用 |
| 桌面端 | CPU / GPU | Linux/macOS/Windows |
| IoT 设备 | CPU / GPU | 树莓派等 ARM 开发板 |
2. 模型格式:.litertlm
LiteRT-LM 使用专有的 .litertlm 格式,需要从 Hugging Face 的 litert-community 页面下载预转换模型。
目前支持的模型:
- Gemma 系列(Gemma 3 1B、Gemma 4 E2B)
- Llama 系列
- Phi 系列
- Qwen 系列
- FunctionGemma(支持工具调用)
3. 量化支持
| 量化精度 | 内存占用 | 推荐场景 |
|---|---|---|
| INT4 | 最低 | 大多数场景首选 |
| INT8 | 较低 | 对精度要求更高 |
| 混合量化 | 中等 | 特定任务优化 |
💡 Gemma 4 E2B INT4:参数量 2.3B,INT4 量化后模型文件仅 557MB,运行时内存占用 <1.5GB,可在大多数现代手机上流畅运行。
4. 多模态支持
LiteRT-LM 原生支持:
- 图像输入:视觉语言模型(VLM)
- 音频输入:语音对话
- 工具调用:Function Calling,可构建端侧 Agent
和 vLLM/Ollama 的本质区别
场景定位
┌─────────────────────────────────────────────────────┐
│ LLM 部署光谱 │
├─────────────────────────────────────────────────────┤
│ │
│ 云端服务器 ←─────────────────────────→ 端侧设备 │
│ │
│ vLLM Ollama LiteRT-LM │
│ 高并发 API 开发调试 手机/手表 │
│ A100/H100 RTX 4060/5090 骁龙/Apple │
│ 必须联网 本地运行 完全离线 │
│ 数据上云 数据本地 数据在设备 │
│ │
└─────────────────────────────────────────────────────┘
技术架构对比
| 维度 | vLLM | Ollama | LiteRT-LM |
|---|---|---|---|
| 核心创新 | PagedAttention | 按需加载 | NPU 混合加速 |
| 显存管理 | 常驻显存 | 用完释放 | 内存映射 + 量化 |
| 批处理 | Continuous Batching | 有限支持 | Pipeline 拆分 |
| 硬件依赖 | NVIDIA GPU | NVIDIA/AMD GPU | 移动端 NPU/GPU |
| 离线能力 | 不需要 | 完全离线 | 完全离线 |
性能对比(同一模型)
| 场景 | vLLM(A100) | Ollama(RTX 5090) | LiteRT-LM(骁龙 8 Elite) |
|---|---|---|---|
| TTFT | ~50ms | ~300ms | ~120ms |
| 解码速度 | ~150 tok/s | ~80 tok/s | >100 tok/s |
| 并发能力 | 100+ | ~10 | 单用户 |
💡 惊人的发现:LiteRT-LM 在端侧设备上的 TTFT 居然接近云端服务器!这意味着移动端 AI 应用的体验可以和云端 API 媲美。
LiteRT-LM 典型应用场景
1. 离线文档问答(端侧 RAG)
场景:手机上的离线知识库问答,数据完全留在设备端。
架构:
本地文档 → 句子向量模型(移动版)→ 本地向量数据库
↓
LiteRT-LM 生成答案
优势:
- 完全离线,数据隐私 100%
- 无 API 调用成本
- 响应速度媲美云端
2. 智能手表即时回复
场景:Pixel Watch 上的智能回复,输入几个字,模型生成完整回复建议。
要求:
- TTFT < 200ms(用户感知不到延迟)
- 功耗低(手表电池有限)
- 模型小(手表内存有限)
LiteRT-LM 方案:Gemma 3 1B INT4,TTFT ~120ms,内存 <1GB。
3. 浏览器内置 AI 助手
场景:Chrome 浏览器内置的 AI 功能,如文本摘要、翻译辅助、写作建议。
现状:Chrome 已在生产环境使用 LiteRT-LM。
优势:
- 不需要网络请求,响应即时
- 数据不离开浏览器,隐私有保障
- 利用 WebGPU 加速
4. 端侧 Agent(工具调用)
场景:手机上的智能助手,可以调用本地 App 的功能(如打开日历、发送消息)。
技术:FunctionGemma-270M + LiteRT-LM 的 Function Calling 框架。
部署 LiteRT-LM:Android 快速上手
Step 1:获取模型
从 Hugging Face 的 litert-community 下载预转换的 .litertlm 模型:
https://huggingface.co/litert-community/Gemma3-1B-IT
Step 2:添加依赖
在 Android 项目的 build.gradle 中添加:
// settings.gradle 或项目根 build.gradle 添加仓库(如尚未配置)
dependencyResolutionManagement {
repositories {
maven { url = uri("https://jitpack.io") }
google()
mavenCentral()
}
}
// app/build.gradle 添加依赖
dependencies {
implementation "com.google.ai.edge.litertlm:litertlm-android:0.10.0"
}
⚠️ 版本号说明:LiteRT-LM 仍在快速迭代中,
0.10.0为撰写本文时的版本,请以 GitHub 官方仓库 最新 release 为准。此外,该库依赖 NDK(JNI 绑定),Android Studio 需安装 NDK 组件(File → Settings → SDK Manager → SDK Tools → NDK)。
Step 3:初始化引擎
val config = EngineConfig(
modelPath = modelFile.absolutePath, // .litertlm 文件路径
backend = Backend.GPU(), // 优先使用 GPU
maxNumTokens = 1024, // 控制总 Token 数
cacheDir = cacheDir.absolutePath
)
val engine = Engine(config)
engine.initialize() // 首次初始化可能需要 30-60 秒
Step 4:执行推理
val session = engine.createSession()
// 同步推理
val response = session.generateResponse(
Content.Text("请用三句话介绍量子计算")
)
// 流式推理
val stream = session.generateResponseAsync(
Content.Text("讲一个关于 AI 的故事")
)
Step 5:获取性能数据
val benchmarkInfo = conversation.getBenchmarkInfo()
val decodeSpeed = benchmarkInfo.tokensPerSecond // 解码速度
val totalTime = benchmarkInfo.totalTimeSeconds // 总耗时
部署注意事项
1. 模型分发策略
❌ 禁止:将大模型文件(通常 >100MB)打包进 APK/IPA
- 会导致安装包过大
- 用户下载困难
- 更新成本高
✅ 推荐:应用首次启动时从服务器下载模型到设备私有目录
- 安装包小
- 模型可独立更新
- 支持完整性校验
2. 硬件加速配置
// 必须显式指定后端
val config = EngineConfig(
modelPath = modelPath,
backend = Backend.GPU(), // 或 Backend.NPU() 如果支持
visionBackend = Backend.CPU() // 多模态模型必须指定
)
3. 内存管理
在低端设备(<4GB RAM)上:
- 使用 ≤2B 参数的 INT4 量化模型
- 在 AndroidManifest.xml 中启用
android:largeHeap="true" - 实现上下文长度限制
4. 多模态模型配置
// 多模态模型必须显式指定视觉后端
val config = EngineConfig(
modelPath = modelPath,
backend = Backend.GPU(),
visionBackend = Backend.CPU(), // 关键!
maxNumTokens = 1024
)
LiteRT-LM vs 云端 API:什么时候选哪个?
选 LiteRT-LM 的场景
| 场景 | 理由 |
|---|---|
| 隐私合规 | 数据完全留在设备端,零上传风险 |
| 离线使用 | 无网络环境下必须可用 |
| 低延迟 | 端侧响应比网络请求更快 |
| 零成本 | 无 API 调用费用,用户设备算力 |
| 移动端应用 | 手机/手表/平板上的 AI 功能 |
选云端 API 的场景
| 场景 | 理由 |
|---|---|
| 需要超大模型 | GPT-4o、Claude Opus 等无法在端侧运行 |
| 高并发服务 | 需要同时服务大量用户 |
| 企业级 SLA | 需要服务商保障稳定性 |
| 复杂推理 | 需要模型深度推理能力 |
混合方案
用户请求
↓
┌────────┴────────┐
↓ ↓
端侧处理 云端处理
(LiteRT-LM) (vLLM API)
│ │
• 简单问答 • 复杂推理
• 隐私敏感 • 大模型能力
• 即时响应 • 知识密集型
• 离线可用 • 长上下文
│ │
└────────┬────────┘
↓
智能路由
LiteRT-LM 的未来展望
短期(1-2 年)
- 更多模型支持:Qwen、Mistral、DeepSeek 等主流系列
- 更小的模型:0.5B 甚至更小的高质量模型
- 更广泛的硬件支持:更多芯片厂商的 NPU SDK 集成
中期(2-3 年)
- 端侧多模态成熟:视觉、语音、视频全面支持
- 端侧 Agent 普及:手机上的智能助手成为标配
- 端云协同标准化:统一的端云切换框架
长期(3-5 年)
- 端侧模型能力提升:端侧可运行 7B 甚至更大模型
- NPU 成为手机标配:就像今天的 GPU 一样
- 离线 AI 成为默认:大多数 AI 功能不需要网络
本篇小结
| 你学到了 | 说明 |
|---|---|
| ✅ LiteRT-LM 的定位 | 端侧/移动端 LLM 推理框架,和 vLLM/Ollama 形成互补 |
| ✅ 为什么这么快 | NPU 加速,性能较 CPU 提升 100 倍 |
| ✅ 核心性能数据 | TTFT ~0.12s,解码 >100 tok/s,内存 <1.5GB |
| ✅ 典型应用场景 | 离线问答、手表回复、浏览器 AI、端侧 Agent |
| ✅ 部署要点 | 模型分发策略、硬件加速配置、内存管理 |
| ✅ 选型决策 | 隐私/离线/低延迟 → LiteRT-LM,大模型/高并发 → 云端 |
系列完整总结
到此,本地大模型部署工具实战手册 7 篇全部完成。
| # | 标题 | 核心收获 |
|---|---|---|
| ① | 你真的需要本地部署吗? | 场景决策树,隐私 + 成本动机 |
| ② | Ollama实战:RTX 4060从安装到跑起来 | 能跑起来,Modelfile 自定义 |
| ③ | vLLM实战:单卡/多卡部署 | 生产级高并发,显存常驻逻辑 |
| ④ | LM Studio:5分钟尝鲜 | 零门槛,常见坑避雷 |
| ⑤ | 三个工具到底怎么选? | 决策矩阵,真实案例参考 |
| ⑥ | 公开benchmark数据解读 | 看懂数据,结合硬件做决策 |
| ⑦ | LiteRT-LM:端侧部署的未来展望 | 移动端 NPU 加速,离线 AI 新时代 |
从云端到端侧,完整的 LLM 部署能力图谱:
云端(vLLM)→ PC 端(Ollama/LM Studio)→ 移动端(LiteRT-LM)
大模型不再只属于数据中心。你的手机、手表、甚至冰箱,都可以成为 AI 的载体。这是离线 AI 的未来,也是 LiteRT-LM 的使命。
更多推荐



所有评论(0)