Embodied AI Lab

On-Device AI 端侧部署

大模型跑在手机/Pad 上 — 框架对比、支持机型、性能数据与实战代码

另有「端侧大模型硬件」精选文章:Jetson / Hailo / RK3588 / 高通 NPU

端侧性能速览

旗舰 Android (骁龙 8 Elite)

7B-Q4: ~35-40 tok/s

3B-Q4: ~60-80 tok/s

iPhone 15/16 Pro

7B-Q4: ~25-30 tok/s

3B-Q4: ~50-60 tok/s

iPad Pro M4 (16GB)

13B-Q4: ~30 tok/s

7B-Q4: ~55 tok/s

* 以上为 llama.cpp 参考数据,实际性能因模型、量化方式和系统负载而异

端侧专用模型(“小钢炮”们)

专为手机/Pad 设计的轻量大模型,参数小但能力强,可以直接跑在设备上

选模型建议:日常聊天/意图识别 → 1.5B-3B 就够;复杂推理/代码 → 7B-8B;看图理解 → MiniCPM-V; 中文优先选 Qwen/MiniCPM,英文/数学优先选 Phi-4-mini。

部署框架对比

llama.cpp
Repo
最流行的跨平台 LLM 推理引擎,C/C++ 实现,支持 GGUF 量化格式
支持平台:
Android
iOS
Windows
macOS
Linux
支持模型:

LLaMA 3、Qwen2.5、Phi-3、Gemma 2、Mistral、DeepSeek

参考性能:

Snapdragon 8 Gen3: ~35 tok/s (7B-Q4)

优势:生态最好、量化支持全面(Q2-Q8)、社区活跃、Vulkan/Metal GPU 加速
MLC-LLM
Repo
基于 TVM 编译器的高性能 LLM 部署引擎,自动优化各平台后端
支持平台:
Android
iOS
Web(WebGPU)
Windows
macOS
支持模型:

LLaMA 3、Qwen2、Phi-3、Mistral、RedPajama

参考性能:

Snapdragon 8 Gen3: ~30 tok/s (7B-Q4)

优势:Vulkan 性能优秀、编译器自动优化、提供预编译 APK
MediaPipe LLM Inference
Repo
Google 官方端侧 LLM API,开箱即用,适合 Android 应用集成
支持平台:
Android
iOS
Web
支持模型:

Gemma 2B/7B、Phi-2、Falcon-RW-1B、StableLM-3B

参考性能:

Pixel 8 Pro: ~20 tok/s (Gemma 2B)

优势:集成简单、Google 官方维护、支持 LoRA 微调
Qualcomm AI Hub
Repo
高通官方模型优化平台,300+ 预优化模型,针对骁龙芯片深度优化
支持平台:
Android (Snapdragon)
支持模型:

LLaMA 3.1、Whisper、Stable Diffusion、YOLO、SegFormer

参考性能:

Snapdragon 8 Gen3: 最优性能

优势:针对骁龙深度优化、预编译模型直接用、NPU 加速
ExecuTorch
Repo
Meta 的 PyTorch 端侧推理框架,从训练到部署一条龙
支持平台:
Android
iOS
嵌入式
支持模型:

LLaMA 3、Segment Anything、Wav2Letter

参考性能:

iPhone 15 Pro: ~25 tok/s (LLaMA 3 8B-Q4)

优势:PyTorch 原生支持、XNNPACK/Core ML/QNN 后端
Apple MLX / Core ML
Repo
Apple Silicon 原生推理框架,充分利用 Neural Engine
支持平台:
iOS
macOS
iPadOS
支持模型:

LLaMA、Mistral、Phi、Stable Diffusion、Whisper

参考性能:

iPhone 15 Pro: ~30 tok/s (7B-Q4)

优势:Apple 芯片最优性能、Neural Engine 加速、SwiftUI 集成方便

支持机型一览

Android 设备

Samsung Galaxy S25 Ultra

Snapdragon 8 Elite · 12GB RAM

可跑 7B-Q4 模型

Samsung Galaxy S24 Ultra

Snapdragon 8 Gen 3 · 12GB RAM

可跑 7B-Q4 模型

Xiaomi 15 Pro

Snapdragon 8 Elite · 16GB RAM

可跑 7B-Q4 模型,16GB 内存更充裕

OnePlus 13

Snapdragon 8 Elite · 12/16GB RAM

可跑 7B-Q4 模型

Samsung Galaxy S23

Snapdragon 8 Gen 2 · 8GB RAM

可跑 3B-Q4 或 7B-Q2 模型

Xiaomi 14

Snapdragon 8 Gen 3 · 12GB RAM

可跑 7B-Q4 模型

Pixel 8 Pro

Tensor G3 · 12GB RAM

MediaPipe 优化,Gemma 2B 流畅

iOS / iPadOS 设备

iPhone 16 Pro Max

A18 Pro · 8GB RAM

Core ML 加速,可跑 7B-Q4

iPhone 15 Pro

A17 Pro · 8GB RAM

Core ML 加速,可跑 7B-Q4

iPad Pro M4

M4 · 16GB RAM

接近 Mac 性能,可跑 13B 模型

iPad Air M2

M2 · 8GB RAM

可跑 7B-Q4 模型

选型建议:内存 ≥ 8GB 可跑 3B 模型(日常够用),≥ 12GB 可跑 7B-Q4(质量明显好),≥ 16GB 可尝试更大模型。 骁龙 8 Gen 2 以上 / A17 Pro 以上为推荐最低配置。

实战代码

llama.cpp — Android 部署(最通用)

bash
# === llama.cpp Android 部署 ===

# 1. 下载预编译的 Android 二进制文件或自行编译
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
# NDK 交叉编译
mkdir build-android && cd build-android
cmake .. -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake \
  -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-28 \
  -DGGML_OPENCL=ON  # 启用 GPU 加速
make -j$(nproc)

# 2. 下载量化模型(推荐 Q4_K_M,平衡质量和速度)
# Qwen2.5-3B: https://huggingface.co/Qwen/Qwen2.5-3B-Instruct-GGUF
# LLaMA-3.1-8B: https://huggingface.co/bartowski/Meta-Llama-3.1-8B-Instruct-GGUF

# 3. Push 到手机运行
adb push llama-cli /data/local/tmp/
adb push qwen2.5-3b-instruct-q4_k_m.gguf /data/local/tmp/
adb shell "cd /data/local/tmp && ./llama-cli \
  -m qwen2.5-3b-instruct-q4_k_m.gguf \
  -p '请解释PID控制器的工作原理' \
  -n 256 --temp 0.7"

MLC-LLM — 编译器优化部署

python
# === MLC-LLM 快速开始 ===

# 1. 安装 MLC-LLM
pip install mlc-llm mlc-ai-nightly

# 2. 下载预编译的 Android APK(最快方式)
# https://llm.mlc.ai/docs/deploy/android.html
# 支持 Vulkan GPU 加速

# 3. 或者用 Python 本地推理测试
from mlc_llm import MLCEngine

engine = MLCEngine("HF://mlc-ai/Qwen2.5-3B-Instruct-q4f16_1-MLC")
response = engine.chat.completions.create(
    messages=[{"role": "user", "content": "解释逆运动学的基本概念"}],
    stream=True
)
for chunk in response:
    print(chunk.choices[0].delta.content, end="")

# 4. 编译自定义模型到 Android
mlc_llm compile ./dist/Qwen2.5-3B-Instruct-q4f16_1-MLC \
  --device android --output ./dist/libs/

MediaPipe — Android 应用集成(最简单)

kotlin
// === MediaPipe LLM Inference (Android Kotlin) ===

// build.gradle 添加依赖
// implementation("com.google.mediapipe:tasks-genai:latest.release")

import com.google.mediapipe.tasks.genai.llminference.LlmInference

// 初始化 LLM
val options = LlmInference.LlmInferenceOptions.builder()
    .setModelPath("/data/local/tmp/gemma-2b-it-gpu-int4.bin")
    .setMaxTokens(1024)
    .setTemperature(0.7f)
    .setTopK(40)
    .setResultListener { partialResult, done ->
        // 流式输出
        runOnUiThread { textView.append(partialResult) }
    }
    .build()

val llmInference = LlmInference.createFromOptions(context, options)

// 生成回复
llmInference.generateResponseAsync("请解释SLAM算法的工作原理")

Qualcomm AI Hub — 骁龙专属优化

python
# === Qualcomm AI Hub ===
# 安装
pip install qai-hub

# 1. 浏览可用模型
import qai_hub as hub

# 列出支持的设备
devices = hub.get_devices()
for d in devices:
    print(f"{d.name}: {d.os}, {d.chipset}")
# Samsung Galaxy S24 (Snapdragon 8 Gen 3)
# Samsung Galaxy S25 (Snapdragon 8 Elite)
# Xiaomi 15 (Snapdragon 8 Elite)

# 2. 提交模型到真机上跑 Profile
import torch
from qai_hub_models.models.yolov8_det import Model as YoloV8

model = YoloV8.from_pretrained()
input_shape = (1, 3, 640, 640)
sample_input = torch.randn(input_shape)

# 在真机上 Profile 性能
job = hub.submit_profile_job(
    model=model,
    device=hub.Device("Samsung Galaxy S24"),
    input_shapes=dict(image=input_shape),
)
print(job.get_target_model_perf())

# 3. 下载编译好的模型到设备运行
compiled = hub.submit_compile_job(model, device=hub.Device("Samsung Galaxy S24"))
compiled.download("./yolov8_s24.tflite")

ExecuTorch — PyTorch 端侧部署

bash
# === ExecuTorch (Meta) - LLaMA on Android ===

# 1. 安装
pip install executorch

# 2. 导出 LLaMA 模型为 ExecuTorch 格式
python -m executorch.examples.models.llama.export_llama \
  --checkpoint path/to/llama3-8b \
  --params path/to/params.json \
  -qmode 8da4w \  # 4-bit 量化
  --output llama3_8b_q4.pte

# 3. Android Demo App
# https://github.com/pytorch/executorch/tree/main/examples/demo-apps/android/LlamaDemo
# 支持 XNNPACK (CPU)、Qualcomm QNN (NPU)、MediaTek (NPU)

# 4. iOS 部署
# 使用 Core ML 后端
python -m executorch.examples.models.llama.export_llama \
  --checkpoint path/to/llama3-8b \
  --coreml  # 启用 Core ML 后端
快速试用指南(用你的手机)

最快上手路径:

  1. Android 用户:下载 MLC Chat APK → 选择 Qwen2.5-3B 或 Gemma-2B → 直接在手机上聊天
  2. iOS 用户:App Store 搜索 “LLM Farm” 或 “PocketPal AI” → 下载 GGUF 模型 → 本地运行
  3. 进阶玩法:Termux + llama.cpp → 命令行跑任意 GGUF 模型 → 接 API 做应用