在手机上跑大模型?Google AI Edge Gallery 开源项目深度解析

在人工智能迈向"人人可用"的时代,端侧(on-device)AI 正成为关键突破口。2026 年初,Google 开源了其最新实验性项目 AI Edge Gallery ------ 一款可在 Android(iOS 即将支持)设备上完全离线运行生成式 AI 模型的应用。

它不仅是一个面向用户的 App,更是一套完整的 端侧大模型部署参考架构 ,其核心正是 Google 自研的轻量级推理引擎:LiteRT。

本文将带你:

go 复制代码
深入解析项目源码与 LiteRT 集成机制揭示 2026 年端侧 AI 部署的高频坑点与避坑策略探索 如何基于 Gallery 扩展企业级业务场景

什么是 AI Edge Gallery?

简单来说,AI Edge Gallery 是一个移动端的"生成式 AI 实验室"。你可以在自己的手机上:

go 复制代码
上传图片并提问(如"图中是什么动物?")与大模型进行多轮对话尝试不同开源模型(来自 Hugging Face)编写提示词生成文本、代码或摘要查看模型推理性能指标(如首 token 延迟 TTFT)甚至加载自己训练并转换好的 LiteRT 模型

最关键的是:全程无需联网。所有计算都在你的设备上完成,兼顾隐私与效率。

而这一切的背后功臣,就是 LiteRT。

LiteRT:端侧大模型的"发动机"

什么是 LiteRT?

LiteRT(原 TensorFlow Lite Runtime)是 Google 为移动端和嵌入式设备打造的高性能、低延迟推理引擎 。相比传统 TFLite,LiteRT 更轻量、更专注------它仅包含推理所需的核心运行时,不依赖完整 TensorFlow 库,启动更快、内存占用更低。

在 AI Edge Gallery 中,所有 LLM 的加载、token 化、解码、输出生成,均由 LiteRT 驱动。

为什么用 LiteRT 而不是直接跑 PyTorch 或 ONNX?

  • ✅ 专为移动端优化:支持 NNAPI、GPU、Hexagon DSP 等硬件加速
  • ✅ 极小体积:运行时仅几 MB,适合 App 集成
  • ✅ 安全沙箱:模型在隔离环境中运行,提升安全性
  • ✅ 统一格式 :支持 .task 文件(Google AI Edge 推出的新模型封装格式)

源码目录结构 + LiteRT 集成详解

我们以 GitHub 仓库(https://github.com/google-ai-edge/gallery) 的主分支为基础,聚焦 模型加载与 LiteRT 交互 的关键路径:

swift 复制代码
gallery/├── app/│   └── src/main/java/com/google/ai/edge/gallery/│       ├── model/│       │   ├── LocalLlm.kt          ← 核心:LiteRT 模型封装类│       │   ├── LlmInferenceTask.kt  ← 调用 LiteRT API 执行推理│       │   └── ModelLoader.kt       ← 负责从 assets 或外部路径加载 .task 模型│       ├── ui/│       │   └── chat/                ← Chat 界面调用 LocalLlm 进行对话│       └── MainActivity.kt├── model/│   ├── assets/                      ← 内置模型元数据(非模型本体)│   └── scripts/│       └── convert_hf_to_task.py    ← 将 Hugging Face 模型转为 LiteRT .task 格式└── ...

关键流程:从 Hugging Face 到手机推理

  1. 模型转换

    使用 convert_hf_to_task.py 脚本,将 Hugging Face 上的开源 LLM(如 Gemma-2B、Phi-3-mini)量化并转换为 .task 格式。该过程利用

    AI Edge Converter(https://github.com/tensorflow/tflite-micro/tree/main/tensorflow/lite/micro/tools?spm=5176.28103460.0.0.460b7551ULiMuz) 工具链,自动完成 tokenizer 集成、KV Cache 优化、INT4/INT8 量化等。

  2. LiteRT 加载与推理

    在 LocalLlm.kt 中初始化模型:

java 复制代码
val task = LlmInferenceTask.createFromFile(modelPath)val llm = LocalLlm(task, tokenizer)
  1. 推理时调用 llm.generate(prompt),底层由 LiteRT 流式输出 tokens。

  2. 性能监控

    App 实时显示 TTFT(Time to First Token) 和 tokens/秒,帮助评估设备兼容性。

2026 端侧 AI 部署高频坑点:避坑指南

随着端侧 LLM 应用爆发,许多团队在落地过程中踩了"意料之外"的坑。结合 Gallery 项目经验,我们总结出以下 五大高频问题与应对策略:

坑点 1:模型"能跑"但"跑不动"

  • 现象:模型加载成功,但生成速度 < 1 token/s,用户体验卡顿。
  • 原因:未启用硬件加速(如 NNAPI)、量化不足、上下文过长。
  • 对策:
    • 使用 adb shell dumpsys gpu 检查 GPU 是否被调用;
    • 优先选择 INT4 量化模型(如 Gemma-2B-INT4);
    • 限制最大上下文长度(Gallery 默认设为 512 tokens)。

坑点 2:Tokenizer 不一致导致乱码

  • 现象:输入正常,输出全是""或奇怪符号。
  • 原因:模型转换时未正确嵌入 tokenizer,或使用了不匹配的 vocab。
  • 对策:
    • 确保 convert_hf_to_task.py 中指定正确的 tokenizer 类型(如 SentencePiece);
    • 验证 .task 文件是否包含 tokenizer.json 元数据。

坑点 3:内存溢出(OOM)崩溃

  • 现象:App 在生成长文本时突然闪退。
  • 原因:KV Cache 占用过高,尤其在低端机(<4GB RAM)上。
  • 对策:
    • 启用 KV Cache 分页或滑动窗口(需模型支持);
    • 在 AndroidManifest.xml 中设置 android:largeHeap="true"(临时方案);
    • 优先部署 <2B 参数的小模型。

坑点 4:模型分发体积过大

  • 现象:APK 超过 100MB,用户不愿下载。
  • 对策:
    • 不要打包模型进 APK!采用"按需下载"策略(Gallery 默认做法);
    • 使用 Android App Bundle + Play Asset Delivery 动态分发模型;
    • 对模型做差分压缩(如 Brotli)。

坑点 5:跨设备兼容性差

  • 现象:在 Pixel 上流畅,在三星或小米上崩溃。
  • 原因:不同厂商对 NNAPI / GPU 驱动实现不一致。
  • 对策:
    • 在 LlmInferenceTask 中设置 fallback 机制(CPU → GPU → NNAPI);
    • 建立真机测试矩阵(覆盖高通、联发科、Exynos 芯片);
    • 使用 LiteRT 的 getSupportedOps() API 动态检测能力。

💡 建议 :将 Gallery 的 benchmark/ 模块集成到你的 CI 流程中,自动化性能回归测试。

AI Edge Gallery 不只是 Demo,更是可复用的企业级基座。以下是几个高价值扩展方向:

场景 1:医疗问诊助手(离线合规)

  • 需求:医院 App 需在无网络环境下提供初步症状分析。
  • 改造:
    • 替换默认模型为医疗微调版(如 Med-PaLM-Lite);
    • 添加 HIPAA 合规日志脱敏模块;
    • 集成本地电子病历(EMR)向量数据库,实现 RAG。
  • 优势:患者数据永不离开设备,满足 GDPR/HIPAA 要求。

场景 2:工业设备智能巡检

  • 需求:工程师通过手机拍摄设备照片,AI 自动识别故障。
  • 改造:
    • 扩展 "Ask Image" 模块,接入视觉-语言模型(如 PaliGemma);
    • 添加离线知识库(设备手册 PDF 向量化);
    • 输出结构化维修建议(JSON 格式)。
  • 优势:工厂无 Wi-Fi 环境下仍可使用,响应速度 <1 秒。

场景 3:教育个性化辅导

  • 需求:学生用平板练习数学题,AI 实时讲解错题。
  • 改造:
    • 集成学科专用小模型(如 Math-Shepherd-1.5B);
    • 添加手写识别 + LaTeX 渲染;
    • 支持家长控制(限制生成内容范围)。
  • 优势:无广告、无联网,专注学习场景。

技术扩展建议:

  • 1、将 LocalLlm.kt 抽象为 SDK,供其他 App 调用;
  • 2、增加模型热更新机制(通过私有 CDN 下发新 .task 文件);
  • 3、结合 Android 的 WorkManager 实现后台低功耗推理。

如何开始?

1、下载 APK :

  1. Releases 页面
    apache 复制代码
    https://github.com/google-ai-edge/gallery/releases?spm=5176.28103460.0.0.460b7551ULiMuz

2、阅读 Wiki :

模型转换指南

apache 复制代码
https://github.com/google-ai-edge/gallery/wiki/Converting-Models-to-.task-Format?spm=5176.28103460.0.0.460b7551ULiMuz&file=Converting-Models-to-.task-Format

3、Fork 项目 :基于 main 分支开发你的业务版本

4、加入社区:GitHub Discussions 中已有大量开发者分享经验

结语:端侧 AI 的黄金时代已来

AI Edge Gallery + LiteRT 的组合,标志着 生成式 AI 正从"云中心"走向"人身边" 。它不仅是技术展示,更是一套可落地、可扩展、可合规的解决方案。

无论你是:

  • 1、想体验离线大模型的普通用户
  • 2、正在踩坑的移动端开发者
  • 3、寻找 AI 落地方案的产品经理

这个项目都值得你深入研究。

🌟 项目地址 :https://github.com/google-ai-edge/gallery

📘 LiteRT 官方文档:https://www.tensorflow.org/lite/guide/litert

现在就动手,把大模型装进你的业务里吧!


欢迎转发给正在做端侧 AI 的同事!

关注我们,获取更多「开源项目深度拆解 + 工程实战指南」👇

关注我获取更多知识或者投稿

商务合作联系QQ:2637405696

相关推荐
子兮曰6 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
文青的青7 小时前
不写一行代码,用 WorkBuddy 搭建并上线个人静态博客
人工智能
待君7 小时前
一个月 7 个版本:三版都在补同一件事 —— 卡片背面原来是空的
开源·deepseek
IT_陈寒7 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
Dawson Zhu7 小时前
从空间 Scaling 到时间 Scaling
人工智能·语言模型·架构·aigc·agi
强尼银手7 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript
石小石Orz7 小时前
AI 正在蚕食我们的编码能力
前端·后端·算法
阿里云大数据AI技术7 小时前
本体如何落地?阿里云 Milvus 把企业文档变成知识图谱和 Wiki
人工智能
陈随易7 小时前
专注飞机 FocusFlight,两个人把番茄钟做成了一趟航班
前端·后端·程序员
QXWZ_IA8 小时前
公安视频专网如何与定位数据融合?架构与实施要点
人工智能