本教程将引导您完成在 Android 示例应用中部署自定义 Gemma 模型的端到端流程。
在本教程中,我们将:
- 从微调模型开始
- 使用 AI Edge Torch 库转换微调后的模型
- 这会将 HuggingFace 检查点转换为 .litertlm 文件
- 评估微调模型的质量
- 运行 adb 命令以将自定义模型推送到测试设备
- 这会将 .litertlm 格式的模型推送到 Android 设备以进行本地测试
- 运行 Pirate Gemma 示例应用
- 此步骤将使用 LiteRT-LM Kotlin 库在示例 Android 应用中对微调后的模型运行推理
第 1 步:从微调后的模型开始
在本教程中,我们将从一个经过微调的模型开始。为了清楚展示基础模型与微调模型之间的区别,我们以基础 Gemma 270m 模型为基础,对其进行微调,使其能够像海盗一样说话。
您可以在 https://huggingface.co/erintwalsh/pirate-gemma 找到预微调的 Pirate Gemma 模型
如需详细了解如何对模型进行微调,请参阅 Gemma Cookbook 和 Unsloth 指南。
第 2 步:在命令行中转换并运行自定义模型
现在,您已在 HuggingFace 上发布自定义模型,接下来可以使用 AI Edge Torch 库下载该模型并将其转换为 .litertlm 格式。
前提条件
请务必在设备上安装 uv 工具和 Python 3.11 或更高版本。
转换模型
uv tool install litert-torch-nightly
litert-torch export_hf \
--model=[YOUR-HF-USERNAME]/pirate-gemma \
--output_dir=/tmp/pirate-gemma \
--externalize_embedder
在本地运行模型
uv tool install litert-lm
litert-lm run \
/tmp/pirate-gemma/model.litertlm \
--prompt="Where is the nearest buried treasure?"
第 3 步:评估模型质量
评估微调质量
在本地运行模型后,您可以使用 AI Edge 评估 CLI 工具来分析微调的 LiteRT-LM 模型质量。此工具提供内置的转换后质量对等性验证功能,可使用公开数据集验证原始 HF 模型与转换后的 LiteRT-LM 模型之间的质量对等性。除了公开数据集之外,您还可以使用自己的数据和特定指标创建自定义评估任务。如需查看使用 LLM-as-a-Judge 评估此微调模型的自定义任务示例,请点击此处。
uv tool install ai-edge-eval
GEMINI_API_KEY="your_actual_api_key_here"
ai_edge_eval \
--framework custom \
--runner litert-lm \
--model-path /path/to/your/model.litertlm \
--custom-tasks-file pirate_gemma_custom_task.py \
--tasks pirate_gemma_eval \
--output-dir /tmp/results
第 4 步:将本地模型推送到测试设备
使用这些 adb 指令将您刚刚运行的模型推送到实体 Android 设备。
adb shell rm -r /data/local/tmp/llm/ # Remove any previously loaded models
adb shell mkdir -p /data/local/tmp/llm/
adb push /tmp/pirate-gemma/model.litertlm /data/local/tmp/llm/pirate-gemma.litertlm
第 5 步:使用 Captain Gemma 示例应用对自定义模型运行推理
Captain Gemma 是一款演示如何在设备上与模型交互的应用。在 GitHub 上找到它,然后克隆代码库以在 Android Studio 中运行它。
打开 Captain Gemma 示例应用,并在设备上运行该应用。此应用使用 Android Compose 元素来演示如何在 Android 设备上对微调后的模型运行推理。该应用会接收用户的文本输入,并返回经过微调的 Gemma 模型的“海盗智慧”。
在您刚刚将 .litertlm 文件推送到的测试设备上运行应用。输入查询内容,然后在白色对话框中查看模型的输出。

示例代码
如需查看如何使用 LiteRT-LM API 设置模型和运行推理的示例,请参阅 Captain Gemma 示例代码。
第 6 步:模型部署
在完成自定义模型的本地测试并准备好进行部署后,您可以选择多种模型托管方案,例如:
- 您可以将
.litertlm文件推送到您之前创建的 HuggingFace 模型代码库,并使用 HuggingFace API 在应用中下载该文件 - 您可以使用 Firebase 等托管服务,这些服务会提供 API,供您的应用提取模型网址并下载模型,以用于 Android 或 iOS。