はじめに
Googleが2025年12月18日、Gemma 3 270Mをベースにした関数呼び出し特化モデル「FunctionGemma」を公開しました。エッジデバイス上で動作し、自然言語を実行可能なAPI呼び出しに変換できる軽量モデルです。本稿では、FunctionGemmaの特徴や適用場面、実装方法について解説します。
参考記事
- タイトル: FunctionGemma: Bringing bespoke function calling to the edge
- 著者: Kat Black、Ravin Kumar
- 発行元: Google Blog
- 発行日: 2025年12月18日
- URL: https://blog.google/technology/developers/functiongemma/

要点
- FunctionGemmaは、Gemma 3 270Mモデルを関数呼び出し用にファインチューニングした専用モデルである
- エッジデバイス上で動作し、自然言語をAPI呼び出しに変換することができる
- Mobile Actions評価において、ファインチューニングにより精度が58%から85%に向上した
- 完全にオフラインで動作し、データプライバシーを保護する設計になっている
- Hugging Face、Unsloth、NeMoなど多様な開発ツールでサポートされている
詳細解説
FunctionGemmaの開発背景
Googleによれば、Gemmaファミリーは2025年に1億ダウンロードから3億ダウンロード以上へと成長しました。Gemma 3 270Mモデルの公開後、開発者から最も多く寄せられた要望がネイティブな関数呼び出し機能でした。
業界が単なる対話型インターフェースから行動を伴うエージェントへと移行する中で、モデルには「話す」だけでなく「行動する」能力が求められています。特にエッジデバイスでは、リマインダーの設定からシステム設定の切り替えまで、複雑な複数ステップのワークフローを自動化できることが重要です。関数呼び出しは、AIモデルがアプリケーションの機能やAPIを呼び出すための技術的な仕組みで、これによりAIが実際のシステムやツールと連携して具体的な作業を実行できるようになります。
FunctionGemmaは、自然言語を実行可能なAPI操作に変換するカスタマイズ可能な基盤モデルとして設計されています。完全に独立したエージェントとしてプライベートなオフラインタスクを処理することも、より大規模なシステムのトラフィックコントローラーとして機能することも可能です。後者の役割では、一般的なコマンドをエッジで即座に処理し、より複雑なタスクはGemma 3 27Bのような大型モデルにルーティングします。

FunctionGemmaの主な特徴
Googleの発表では、FunctionGemmaには4つの主要な特徴があるとされています。
第一に、統一されたアクションとチャット機能です。FunctionGemmaは、コンピュータと人間の両方とコミュニケーションを取る方法を理解しています。構造化された関数呼び出しを生成してツールを実行した後、その結果を自然言語でユーザーに要約するようにコンテキストを切り替えることができます。この双方向の対応により、技術的な処理と人間とのやり取りを同じモデルで扱えます。
第二に、カスタマイズを前提とした設計です。FunctionGemmaは、プロンプトを与えるだけでなく、調整して形作ることを想定して設計されています。GoogleによるMobile Actions評価では、ファインチューニングによってモデルの信頼性が大幅に向上し、精度が58%のベースラインから85%に向上しました。この結果から、エッジエージェントにおいては、専用にトレーニングされた特化モデルが本番環境レベルのパフォーマンスへの効率的な道筋であることが確認されています。
第三に、エッジデバイス向けの設計です。NVIDIA Jetson Nanoやモバイルフォンなどのエッジデバイス上で動作できる小型サイズで、256kの語彙を使用してJSONや多言語入力を効率的にトークン化します。これにより、特定のドメインでファインチューニングする際の強力な基盤となり、シーケンス長を削減して最小限のレイテンシーと完全なユーザープライバシーを確保できます。エッジデバイスとは、データ処理をクラウドではなくデバイス上で行う端末のことで、スマートフォンやIoTデバイスなどが該当します。
第四に、広範なエコシステムサポートです。Hugging Face Transformers、Unsloth、Keras、NVIDIA NeMoでファインチューニングでき、LiteRT-LM、vLLM、MLX、Llama.cpp、Ollama、Vertex AI、LM Studioでデプロイできます。このように、開発から展開まで一貫したワークフロー全体で主要なツールがサポートされています。

FunctionGemmaの適用場面
Googleによれば、FunctionGemmaは自然言語とソフトウェア実行の橋渡しとなるツールで、以下のような場合に適しているとのことです。
まず、定義されたAPIサーフェスを持つ場合です。スマートホーム、メディア、ナビゲーションなど、定義された一連のアクションをアプリケーションが持っている場合に適しています。
次に、ファインチューニングの準備ができている場合です。ゼロショットプロンプティングの変動性ではなく、特定のデータでファインチューニングすることで得られる一貫性のある決定論的な動作が必要な場合に向いています。ゼロショットとは、特定のタスクのための訓練データなしでモデルを使用することを指し、一般的には精度が安定しにくい傾向があります。
また、ローカル優先の展開を優先する場合です。ほぼ瞬時のレイテンシーと完全なデータプライバシーが必要で、エッジデバイスの計算能力とバッテリー制限内で効率的に動作するアプリケーションに適しています。
さらに、複合システムを構築している場合です。軽量なエッジモデルでローカルアクションを処理し、一般的なコマンドをデバイス上で処理して、より複雑なタスクのみ大型モデル(Gemma 3 27Bなど)にクエリを送信するシステムが必要な場合に有効です。
実装例とデモ
Googleは、Google AI Edge Galleryアプリを通じて、インタラクティブなゲームと開発者向けチャレンジという2つの体験でFunctionGemmaの機能を提供しています。
Mobile Actionsファインチューニングデモでは、アシスタントとのやり取りを完全にオフラインの機能として再構想しています。「明日のランチのカレンダーイベントを作成」「Johnを連絡先に追加」「懐中電灯をオンにする」といったコマンドに対し、モデルが自然言語を解析して適切なOSツールを実行します。開発者は、提供されているファインチューニングクックブックを使用してモデルを構築し、モバイルデバイスに読み込むことができます。
TinyGardenゲームデモは、プレイヤーが音声コマンドを使用して仮想の土地を管理するインタラクティブなミニゲームです。「上の列にひまわりを植えて水をやる」と言うと、モデルがこれを特定のグリッド座標を対象とするplantCropやwaterCropなどの具体的なアプリ関数に分解します。これにより、270Mモデルが複数ターンのロジックを処理してカスタムゲームメカニクスを駆動でき、しかもサーバーに一度も接続することなくモバイルフォン上で動作することが実証されています。
さらに、FunctionGemma Physics Playgroundでは、FunctionGemmaとTransformers.jsを使用した、ブラウザ上で100%ローカルに動作する物理シミュレーションパズルゲームが提供されています。
利用開始方法
FunctionGemmaは、Hugging FaceまたはKaggleからダウンロードできます。関数呼び出しテンプレート、関数レスポンスとのモデルのシーケンス方法、ファインチューニングに関するガイドがai.google.devで提供されています。
また、更新されたGoogle AI Edge Galleryをダウンロードしてデモを試すことができます。開発者向けには、Mobile Actionsガイド、Colabノートブック、データセットが用意されており、独自の特化エージェントをトレーニングできます。
デプロイについては、LiteRT-LMを使用してモバイルデバイスに独自のモデルを簡単に公開できるほか、Vertex AIやNVIDIA RTX PRO、DGX Sparkなどのデバイスで大型モデルと併用することも可能です。
・Hugging Face:https://huggingface.co/google/functiongemma-270m-it
まとめ
FunctionGemmaは、自然言語を実行可能なAPI呼び出しに変換するエッジデバイス向けの特化モデルです。ファインチューニングにより高精度を実現し、完全にオフラインで動作するため、プライバシーを重視するアプリケーションに適していると考えられます。今後、エッジAIエージェントの実用化が進む中で、このような軽量かつ特化したモデルの役割は重要になっていくのではないでしょうか。
