针对移动操作微调 FunctionGemma 270M

概览

Mobile Actions 是一款演示应用,用户可以通过语音或文本输入在设备上触发操作。它将助理互动重新构想为完全离线的功能。无论是“Create a calendar event for lunch tomorrow”(创建明天午餐的日历活动)、“Add John to my contacts”(将 John 添加到我的联系人)还是“Turn on the flashlight”(打开手电筒),该模型都能解析自然语言并确定要执行命令的正确操作系统工具。

本指南将介绍如何执行以下操作:

  1. 使用 Mobile Actions 数据集对 FunctionGemma 270M 模型进行微调
  2. 将自定义模型部署到 Google AI Edge Gallery

您将能够从微调模型到将其部署在设备上,全面了解整个流程。

第 1 步:使用 Mobile Actions 数据集对 FunctionGemma 进行微调

FunctionGemma 是一款基于 Gemma 3 架构的 2.7 亿参数模型。它经过专门的函数调用训练,能够将自然语言请求转换为函数调用。

此模型足够小巧高效,可在手机上运行,但与同等大小的模型一样,它需要进行微调,才能专门用于执行特定任务。

为了微调 FunctionGemma,我们使用了 Mobile Actions 数据集,该数据集可在 Hugging Face 上公开获取。此数据集中的每个条目都提供以下信息:

  • 模型可使用的一组工具(函数):
    1. 开启手电筒
    2. 关闭手电筒
    3. 在手机的联系人列表中创建联系人
    4. 发送电子邮件
    5. 在地图上显示位置
    6. 打开 Wi-Fi 设置
    7. 创建新的日历活动
  • 提供上下文(例如当前日期和时间)的系统提示
  • 用户提示,例如 turn on the flashlight
  • 预期的模型回答,包括相应的函数调用。

显示地图功能的代码如下所示:

{
  "function": {
    "name": "show_map",
    "description": "Shows a location on the map.",
    "parameters": {
      "type": "OBJECT",
      "properties": {
        "query": {
          "type": "STRING",
          "description": "The location to search for. May be the name of a place, a business, or an address."
        }
      },
      "required": [
        "query"
      ]
    }
  }
}

Colab 笔记本涵盖了所有必要步骤,包括:

  • 设置环境
  • 加载和预处理 Mobile Actions 数据集
  • 使用 Hugging Face TRL 微调模型
  • 将模型转换为 .litertlm 格式以进行部署

前提条件:您需要使用在第 1 步中用于保存 .litertlm 文件的同一 Google 账号,并在 Android 手机上登录该账号。

微调后,我们将模型权重转换为 .litertlm 格式并进行量化。

您可以选择 Load Model 并从 Google 云端硬盘(或通过其他分发方法)中选择模型,将其部署到 Google AI Edge Gallery - Mobile Actions 选项。Google AI Edge Gallery 可在 Google Play 商店中下载。

Google AI Edge Gallery 中的移动操作微调挑战赛 Google AI Edge Gallery 中的移动操作任务

现在,您可以尝试在应用中发出语音指令或输入内容,看看新微调的模型在调用可用的函数方面的表现如何。

后续步骤

恭喜!现在,您已了解如何使用 Hugging Face 微调模型,以及如何使用 LiteRT-LM 在设备上部署模型。