在手机上跑大模型?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

相关推荐
2301_800256112 小时前
【人工智能引论期末复习】第4章 机器学习1-基础知识
人工智能·算法·机器学习
quintin-lee2 小时前
现代 Neovim 插件全景图:从底层基建到 AI 驱动
人工智能·vim
DEMO派2 小时前
CSS优先级规则以及如何提升优先级方案详解
前端·javascript·css·vue.js·reactjs·html5·angular.js
3***g2052 小时前
Anaconda加速AI模型训练的技术文章大纲环境配置与优化
人工智能
郝学胜-神的一滴2 小时前
机器学习特征预处理:缺失值处理全攻略
人工智能·python·程序人生·机器学习·性能优化·sklearn
小小呱呱蛙2 小时前
OpenSpec 到底干了啥
人工智能·ai编程
独处东汉2 小时前
AI辅助Stm32l031项目开发基础准备
人工智能·stm32·嵌入式硬件
hhcccchh2 小时前
学习vue第十一天 Vue3组件化开发指南:搭积木的艺术
前端·vue.js·学习
week_泽2 小时前
第9课:LangMem SDK高效实现长期记忆管理 - 学习笔记_9
人工智能·笔记·学习·ai agent