今天介绍一个可以在手机本地运行的大模型项目。基于它,开发者成功在iPhone 16 Pro Max上部署了Llama 3.2 3B模型,实现了端到端的本地工具调用。

这个项目最大的亮点是所有AI处理都在设备本地完成。LLM推理、工具调用决策、响应解析全部在iPhone上进行,只有在需要外部数据时才调用Foursquare API获取餐厅信息。

技术栈采用React Native和RunAnywhere SDK,后者是专门为移动设备提供本地AI运行能力的开源工具包。
RunAnywhere是一个生产就绪的工具包,支持以下AI功能:
import RunAnywhere
import LlamaCPPRuntime
// 1. 初始化SDK
LlamaCPP.register()
try RunAnywhere.initialize()
// 2. 下载并加载模型
try await RunAnywhere.downloadModel("smollm2-360m")
try await RunAnywhere.loadModel("smollm2-360m")
// 3. 进行对话
let response = try await RunAnywhere.chat("What is the capital of France?")
print(response) // "Paris is the capital of France."模型系列 | 典型大小 | 内存需求 | 适用场景 |
|---|---|---|---|
SmolLM2 360M | ~400MB | 500MB | 轻量级对话,资源受限设备 |
Qwen 2.5 0.5B | ~500MB | 600MB | 多语言支持,快速响应 |
Llama 3.2 1B | ~1GB | 1.2GB | 平衡性能与质量 |
Mistral 7B Q4 | ~4GB | 5GB | 高质量推理,充足存储设备 |
开发者测试了多个模型,包括Liquid LFM2 350M Q8和Llama 3.2 3B,发现3B模型的表现相当不错。有开发者表示打算尝试LFM 2.5 1.2B模型作为代理,认为1.2B的模型大小对边缘设备很有吸引力。
关于电池消耗,虽然开发者没有给出具体数据,但从演示来看运行相对流畅。
这种完全本地的部署方式有几个明显好处:
平台 | 最低版本 | 推荐版本 |
|---|---|---|
iOS | 17.0+ | 17.0+ |
macOS | 14.0+ | 14.0+ |
Android | API 24 (7.0) | API 28+ |
React Native | 0.74+ | 0.76+ |
Flutter | 3.10+ | 3.24+ |
内存要求:最低2GB,推荐4GB+用于运行大模型
RunAnywhere提供了从轻量级的SmolLM2 360M到高质量的Mistral 7B Q4等多种模型选择,可以根据设备性能和存储需求灵活配置。GitHub仓库已获得4.2k星标,项目活跃度很高。
随着移动设备算力不断提升,完全本地的AI应用正变得越来越现实。去中心,本地优先、隐私优先的云端协同AI应用将会是未来的主流。