FunctionGemma函数调用LLM
每个人都不断推出更大的模型。更多的参数,更多的VRAM,更多的借口说明为什么它需要一个服务器。FunctionGemma则朝着相反的方向发展,这使其很有趣。
FunctionGemma是一个轻量级的开源模型,由Google开发,专门用于函数调用。不是聊天。不是角色扮演。不是“有帮助的助手。”只是结构化的意图到函数转换,设计为可以微调成非常具体和非常可靠的模型。
在核心上,FunctionGemma基于Gemma 3(2.7亿参数)。相同的底层架构,不同的聊天格式,以及截然不同的目标。这个模型只做一件事:将文本转化为干净、确定性的函数调用。
1、FunctionGemma 是什么
FunctionGemma 不打算直接作为对话模型使用。如果你尝试与它聊天,那就错过了重点。
相反,它被设计为:
- 函数调用
- 工具调用
- 代理工作流程
- 本地或离线自动化
其理念很简单:你将其在自己的模式、自己的函数、自己的领域上进行微调。之后,它就成为一个狭窄但极其强大的执行器。
由于该模型只有2.7亿参数,你可以实际在以下设备上运行:
- 笔记本电脑
- 台式机
- 边缘设备
- 没有GPU问题的私有云基础设施
这是有意为之。它降低了部署代理系统时的门槛,而无需将用户数据发送到服务器。
2、架构和设计选择
FunctionGemma保留了Gemma 3架构,但改变了交互格式。这比听起来更重要。
该模型专门训练来:
- 解析用户意图
- 将该意图映射到预定义的功能模式
- 生成适合执行的结构化输出
它按设计是纯文本的。没有视觉、没有音频、没有多模态的干扰。这种限制是一种优势,而不是一种局限。它使模型快速、可预测,并且更容易进行微调。
开箱即用,性能不错。经过微调后,它在代理风格的任务中表现得相当强大,尤其是在单次和有限的多次交互工作流中。
3、输入和输出概览
输入
- 纯文本:提示、命令或简短的指令
- 最多 32K 个标记的上下文
输出
- 生成的文本或结构化的函数调用
- 最多 32K 个标记,减去输入大小
这个大的上下文窗口在模型大小方面值得注意。它允许复杂的模式和更长的工具定义而不立即崩溃。
4、为什么 FunctionGemma 存在
大模型可以执行函数调用,但它们通常:
- 过于复杂
- 费用高昂
- 难以在本地部署
- 在受限环境中不太可预测
FunctionGemma优化了确定性和专业化。你将其训练在你希望它调用的确切功能上,仅此而已。这使其非常适合:
嵌入式代理 以离线为主的应用程序 隐私敏感的工作流程 边缘AI用例
这就是许多生产系统的哲学,只是包装成一个开源的小型模型。
5、Google 强调的实际用例
为了证明这不仅仅是理论,Google展示了两个具体的例子。
5.1 小花园
Tiny Garden 是一个语音控制的离线游戏。该模型通过将命令如:
“在顶部行种植向日葵”
或
“浇灌第1和第2块地的花”
转换为干净的函数调用,例如:
plant_seedwater_plots
无需服务器。无需互联网。只需本地推理和确定性行为。这是一个很好的展示,说明当正确限定范围时,一个小模型如何完全驱动应用程序逻辑。
5.2 移动操作
这对开发者来说更有趣。
Google发布了:
- 一个数据集
- 一个微调配方
- 一个交互式笔记本
它们一起展示了如何将FunctionGemma变成一个私有、离线的Android代理,将文本如:
“创建午餐的日历事件”
或
“打开手电筒”
转换为Android系统函数调用。
结果是一个不需要联网且不会泄露个人数据的设备端代理。
6、微调不是可选的
FunctionGemma有意地为通用用途训练不足。这不是弱点。这是约定。
要获得真正的价值,你应:
- 定义你的函数模式
- 提供特定任务的例子
- 在与你的领域相关的单次或多次交互数据上进行微调
一旦专业化,该模型会比一个通用的LLM更加准确,因为它不需要猜测你想做什么。
这是我们看到的生产系统中的相同模式。FunctionGemma只是让它更便宜、更易访问。
7、FunctionGemma 最适合的地方
FunctionGemma 最适合以下情况:
- 你需要函数调用,而不是对话
- 你关心隐私或离线执行
- 你想要可预测的输出
- 你不想为基本自动化部署一个数十亿参数的模型
它并不是为了与大型聊天模型竞争。它是为了安静地推动实际上能做事的系统部分。
原文链接:Google FunctionGemma : Build your Function Calling LLMs
汇智网翻译整理,转载请标明出处