下载 Torchchat
第一步是使用 Git 克隆Torchchat 仓库:
git clone [email protected]:pytorch/torchchat.git
也可以不使用 Git,直接在 GitHub 上通过下载按钮获取:

重要提示:克隆(或下载)仓库后,我们的电脑上会出现一个名为 torchchat 的文件夹。本文中提到的所有命令都应在该文件夹内执行。
安装 Torchchat
我们假设已安装 Python 和 Anaconda。如未安装,请参阅这两篇教程:在 Windows 上安装 Anaconda 和 在 Mac OS X 上安装 Anaconda。
或者,按照Torchchat 仓库中的步骤操作,它使用虚拟环境而非 Anaconda。
我们先通过以下命令创建一个 Anaconda 环境:
conda create -yn llama python=3.10.0
这会创建一个名为 llama 的环境,并使用 3.10 版本的 Python。-yn 选项是 -y 与 -n 的组合:
-y允许命令在创建环境前无需再次确认。-n用于指定环境名称,此处为llama。创建完成后,我们激活该环境并安装依赖。
激活环境的命令如下:
conda activate llama
要安装必要依赖,我们使用 TorchChat 提供的安装脚本:
./install/install_requirements.sh
下载 Llama 3.2 1B 模型
在本教程中,我们将使用 Llama 3.2 1B(十亿参数)模型。可通过以下命令下载:
python torchchat.py download llama3.2-1b
试验其他模型的流程相同——需要将 llama3.2-1b 替换为目标模型的别名。务必仅选择标注为适合移动端的模型。
Torchchat 依托 Hugging Face 进行模型管理。因此,下载模型需要一个 Hugging Face 账户。关于如何创建账户并在终端登录的完整指南,请参阅这篇Torchchat 教程中的“下载模型”部分。
另外,也可以从Llama 官方网站下载模型。不过使用 Torchchat 更为便利,它还能帮助我们导出移动端部署所需的模型文件。
导出模型
要部署到移动设备,首先需要导出模型以生成 .pte 工件,该文件由 Executorch 使用。Executorch 是 Torchchat 在移动设备上运行 LLM 所用的引擎。
要生成 PTE 文件,须先安装 Executorch。运行以下命令:
export TORCHCHAT_ROOT=${PWD}
./torchchat/utils/scripts/install_et.sh
安装完成后,可通过以下命令生成 PTE 文件:
python torchchat.py export llama3.2-1b --quantize torchchat/quant_config/mobile.json --output-pte-path llama3_2-1b.pte
该命令还会对模型进行量化,以减小体积并提升推理速度。这里使用 Torchchat 在 torchchat/quant_config/mobile.json 中的默认配置。
流程结束后,torchchat 文件夹中会生成一个名为 llama3_2-1b.pte 的文件。
准备移动应用
Torchchat 提供了一个安卓演示应用,让我们可以在智能手机上直接运行 Llama。该演示项目位于下载的 Torchchat 文件夹中,其相对路径为 torchchat/edge/android/torchchat。注意,路径中第一个 torchchat 指的是仓库内的子文件夹,而非仓库根目录。
下载并设置 Java 库
- 下载 Torchchat 提供的
.aar文件。其中包含用于构建和运行应用的 Java 库及相应的 JNI 库。 - 进入应用目录:
torchchat/edge/android/torchchat/app/ - 创建名为
libs的目录(如尚不存在) - 将下载的文件重命名为
executorch.aar,并粘贴到libs文件夹中。
在 Android Studio 中加载安卓项目
从官网下载并安装 Android Studio。安装完成后,打开项目:

演示项目位于 torchchat/edge/android/torchchat。
打开项目时,会弹出一个窗口询问我们是否信任该代码:

此处选择“Trust Project”。
打开项目后,Android Studio 需要一些时间加载配置并完成初始设置。务必等待其完成。我们可以在窗口右下角查看状态。准备就绪后,顶部的运行按钮会变成绿色:

在安卓设备上开启开发者模式
要通过 Android Studio 在手机上运行应用,我们需要在设备上启用开发者模式。步骤如下:
- 进入“设置”
- 选择“关于设备”或“关于手机”
- 打开“软件信息”
- 找到“版本号(Build number)”,连续点击七次
就这样!现在我们可以通过 Android Studio 在设备上运行应用。运行后,应用会保留在手机上,即使不连接电脑也能再次打开。
安装 adb
应用需要将模型文件放在手机上的特定文件夹中。为把这些文件传到手机,我们使用 adb(Android Debug Bridge)。可通过 Android Studio 按以下步骤安装:
- 打开设置,在搜索栏输入“Android SDK”
- 找到名为“Android SDK”的菜单并点击
- 勾选“Android SDK command line tools (latest)”选项
- 点击“Apply”进行安装

注意,窗口顶部会显示 Android SDK 的位置:

复制该路径,并执行以下命令(将下面的 <android_skd_location> 替换为刚复制的路径):
export PATH=$PATH:<android_skd_location>/platform-tools/
通过命令 adb --version 可确认 adb 是否安装成功,它会显示 adb 的版本。
在手机上配置应用
用数据线将手机连接到电脑。设备名称会出现在运行按钮旁的设备列表中:

在手机上运行应用之前,我们先用 adb 将所需的模型文件复制到设备。
- 使用
adb devices查找设备 id。输出可能包含多行,找到形如<device_code>device 的那一行,并复制其中的设备代码。 - 使用
adb -s <device_code> shell mkdir -p /data/local/tmp/llama创建存放模型文件的目录。 - 用
adb -s <device_code> push llama3_2-1b.pte /data/local/tmp/llama将位于 torchchat 文件夹中的.pte文件复制到设备。 - 用
python torchchat.py where llama3.2-1b定位模型的 tokenizer 文件。该命令会输出多行,我们只需关注最后一行显示的路径。
![]()
- 使用
adb -s <device_code> push <model_path>/tokenizer.model /data/local/tmp/llama将 tokenizer 文件复制到设备,其中<model_path>替换为上一步获取的路径。
完成以上步骤后,模型文件应已位于我们的手机中并可使用。可通过列出刚创建的设备目录中的所有文件来检查:
adb -s <device_code> shell ls
输出应包含我们刚复制的两个文件:
llama3_2-1b.pte
tokenizer.model
运行应用
现在一切就绪,可以在手机上运行演示应用了。点击绿色箭头即可运行。

这会在我们的设备上打开应用。应用会提示我们选择模型和 tokenizer 文件。

使用 Llama 3.2 1B 应用
现在我们可以在手机上与 Llama3.2 1B 开始对话了!应用界面相当简洁。我们可以在“Prompt”文本框中输入提示词,并使用“Generate”按钮发送给模型。
由于模型离线运行,我甚至可以在飞往下一个目的地的飞机上使用它,例如请它推荐一些菜品:

通过这次交互,我们可以观察到演示应用的一些局限性:
- 回答会重复我们的提示。
- 回答的格式以“I’ve been to Taiwan…”开头,说明该应用并未将模型直接作为助手使用进行设计。
- 回复会被突然截断,可能是因为达到 token 上限。
我们可以在终端运行同一模型进行对比,命令如下:
python torchchat.py chat llama3.2-1b
我们给出相同的提示,看看行为是否不同。实际确实如此,此时的回答更自然、更有用,尽管同样被截断:

我联系了 Torchchat 团队,他们表示 Llama 3.2 发布较新,演示应用需要稍作更新以支持它。
不过,搭建流程将保持不变,这里学到的知识也同样适用于更新版本。很可能当您读到本文时,应用已经更新并能正常工作。
结语
在本指南中,我们学习了如何使用 Torchchat 在安卓设备上直接设置 Llama 3.2 1B。我们按步骤完成了必要组件的下载与安装,包括模型文件和安卓演示应用。
尽管当前的演示应用在响应格式和长度上存在一些限制,但这类实现的潜力十分可观。
如果您想进一步了解 Llama 3.2,推荐阅读以下博客:

我最近写了一篇文章,介绍了如何用 Python 和 Torchchat 运行大语言模型(LLM)。Torchchat 是一个灵活的框架,旨在在多种硬件平台上高效执行 LLM。将 LLM 本地运行有多项好处,包括:
在 Facebook 最近发布Llama 3.2之后,我决定在上一篇文章基础上扩展,讲解如何将其部署到我们的手机上,重点面向安卓平台。
以下是我们需要完成的高层步骤概览:
Torchchat 可覆盖上述所有步骤。它提供命令来下载模型并生成所需的运行文件。更棒的是,它还附带一个安卓聊天演示应用,因此我们无需自行构建。