LiteRT-LM 完整指南:把大语言模型推理搬到手机、电脑和边缘设备
【免费下载链接】LiteRT-LMLiteRT-LM is Google's production-ready, high-performance, open-source inference framework for deploying Large Language Models on edge devices.项目地址: https://gitcode.com/GitHub_Trending/li/LiteRT-LM
LiteRT-LM 是 Google 开源的端侧大语言模型推理框架,基于 C++ 构建,让你不用依赖云端,就能在 Android、iOS、Web 和桌面设备上跑 Gemma、Qwen 等模型。本文帮你快速判断它能不能用在你的项目里。
它解决什么问题
想让 App 里跑本地大模型,过去要自己处理一大堆脏活:模型文件怎么加载、不同操作系统怎么适配、CPU 和 GPU 怎么调度、聊天历史怎么拼成模型认识的格式、函数调用怎么解析……每换一个平台几乎重来一遍。LiteRT-LM 把这些统一收口:底层基于 LiteRT 推理引擎,上层提供对话管理、硬件加速、工具调用等现成能力,你只需要一个.litertlm模型文件和几行代码,就能在多种设备上得到行为一致的推理结果。它还内置了基于约束解码的结构化输出机制,工具调用的 JSON 解析、格式约束这类容易翻车的细节由框架兜底。
核心能力速览
一套 C++ 内核,多语言 API 全平台覆盖
整个引擎用可移植的 C++ 写成,上层再包出不同语言的接口:Python 和 Kotlin 已经稳定,C++ 面向高性能原生集成,Swift 和 JavaScript(含浏览器环境)处于早期预览,社区还有 Flutter 方案。模型侧支持 Gemma、Llama、Phi-4、Qwen 等家族,预编译产物覆盖 Android、iOS、Linux、macOS、Windows 甚至树莓派,各平台的预编译库都在 prebuilt/ 目录里,集成时不用自己交叉编译。
GPU/NPU 加速与多模态开箱即用
推理时可以选择 GPU 或 NPU 加速器,仓库自带各平台的加速委托预编译库(GPU、OpenCL、Metal、WebGPU 等),新加的 YNNPACK 委托还在 Linux arm64 上做了实验性支持。模型也不只是"聊天":它支持视觉和音频输入,仓库里 omni/ 目录就是配套的 ASR 语音识别和 TTS 语音合成引擎,能搭出带耳朵和嘴巴的完整端侧对话管道。
内置函数调用,给模型接上真实工具
做 Agent 类应用最头疼的是让模型可靠地"调工具"。LiteRT-LM 把这件事做成了标准流程:你用 JSON Schema 声明工具,框架负责把声明喂给模型、检测模型输出的调用字符串、解析成结构化 JSON 交回给你的应用执行,再把结果拼回去继续生成。
对应的概念文档在 docs/api/cpp/tool-use.md,如果想深入限制模型输出格式(比如强制输出合法 JSON 或 SQL),runtime/components/constrained_decoding/ 下的约束解码实现值得读一读。
数据怎么看
官方给出的参考数据(tokens/sec,数值越高越快):
| 模型 | 设备 | 后端 | 预填充速度 | 解码速度 |
|---|---|---|---|---|
| Gemma3-1B | MacBook Pro (M3) | CPU | 603.8 | 83.0 |
| Gemma3-1B | Samsung S24 Ultra | CPU | 379.7 | 55.9 |
| Gemma3-1B | Samsung S24 Ultra | GPU | 2369.0 | 52.5 |
| Gemma3n-E2B | MacBook Pro (M3) | CPU | 232.5 | 27.6 |
| Gemma3n-E2B | Samsung S24 Ultra | GPU | 816.4 | 15.6 |
| Gemma3n-E4B | Samsung S24 Ultra | GPU | 548.0 | 9.4 |
用大白话讲:1B 小模型在手机上解码约 55 token/秒,也就是每秒能"吐"出几十个字,日常问答的流畅度已经接近"即时响应"。开 GPU 后长提示的预填充能快 6 倍左右,意味着塞给模型一段长文档再提问时,等待首字的时间大幅缩短。代价是模型越大越吃硬件——E4B 在手机上解码掉到个位数,适合对质量要求高、能接受慢一点的场景。选型经验:手机端优先 1B~2B 档,桌面端可以摸到更大模型。
适合谁、不适合谁
适合:做 Android/iOS/桌面/浏览器端 AI 功能的开发者,想本地跑模型又懒得自己搭推理栈的团队,以及树莓派等 IoT 场景的尝鲜者。Python 和 Kotlin API 都是稳定状态,上手风险最低。
不适合:需要超大参数模型实时交互的场景——端侧硬件摆在那儿,E4B 级别的模型在手机上解码都不快,更大的模型请留在云端;对 API 稳定性要求极苛刻的生产项目也要留意,Swift、JavaScript 接口还在早期预览,版本间可能有变动;此外它主要面向 LLM 推理编排,不是训练/微调框架,模型转换和构建工具链(python/litert_lm_builder/)有一定学习成本。
上手路径
最快的体验方式是命令行:装一个uv,执行uv tool install litert-lm,然后一条litert-lm run命令加一个 Hugging Face 模型地址,终端里就能直接对话,全程不写代码。要进应用的话,按你熟悉的语言走:Kotlin 用户在 docs/api/kotlin/getting_started.md 对应的 Kotlin 指南里通过 Gradle 加依赖即可,C++ 集成参考 docs/api/cpp/ 下的对话 API 文档,各模型的提示词模板和元数据配置都放在 models/ 目录里可以直接看。想自己编译的话,docs/getting-started/cmake.md 讲了 CMake 构建路径,官方推荐还是用 Bazel。
端侧大模型推理正在从"能不能跑"走向"跑得多快、接得多少外设",LiteRT-LM 是目前开源方案里工程完成度相当高的一个。如果你手上正好有个需要离线 AI 能力的产品,不妨先用 CLI 跑个 Gemma 3n E2B 试试手感,再决定要不要正式接入。
【免费下载链接】LiteRT-LMLiteRT-LM is Google's production-ready, high-performance, open-source inference framework for deploying Large Language Models on edge devices.项目地址: https://gitcode.com/GitHub_Trending/li/LiteRT-LM
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考