【FunctionGemma】スマホなどのローカルデバイスで動作する?関数呼び出しLLMを徹底解説

- Gemma 3 270Mモデルをベースに、関数呼び出し機能に最適化したエッジ向けエージェントモデル
- スマートフォンや組み込み機器などローカルデバイス上で動作可能
- スマートフォンやIoTデバイスにおける自然言語インタフェースが一層普及することが期待される
2025年12月18日、GoogleはGemmaファミリーの新たなモデル「FunctionGemma」を公開しました!
これは、Gemma 3 270Mモデルをベースに、関数呼び出し機能に最適化したエッジ向けエージェントモデルです。
FunctionGemmaは小型モデルでありながら、自然言語を解析して、API呼び出し形式で出力を生成できるため、スマートフォンや組み込み機器などローカルデバイス上で動作させ、プライベートかつ高速に動作するインテリジェントエージェントの基盤として活用可能です。
たとえば、オフライン環境でのカレンダー操作やスマート家電の制御を、FunctionGemmaを組み込むことで実現できるようになるとのこと。
本記事では、そんなFunctionGemmaの概要や性能、使い方まで徹底的に解説します。
ぜひ最後までご覧ください!
\生成AIを活用して業務プロセスを自動化/
FunctionGemmaの概要

FunctionGemmaは、Gemma 3 270Mモデルをベースに、関数呼び出し(function calling)能力を強化した軽量モデルです。
Googleによると、ユーザーからの要望で最も多かった機能の一つが「言語入力からプログラム的な関数を呼び出す」機能だったため、それに特化したモデルとして開発されたようです。
FunctionGemmaは、会話とツール操作を統合したエージェントとして設計されており、入力に対し、適切なAPI呼び出し(関数呼び出し)を生成し、その結果を自然言語で応答することもできます。
加えて、エッジデバイス向けに設計された点が大きな特徴です。
Jetson Nanoなどの小型デバイスや、スマートフォン上で動作可能なサイズに調整されていて、Gemmaモデル共通の256Kの語彙を用いて、JSONのトークナイズを効率化することで、入力系列長を減らし、低遅延・高効率な処理を実現しています。
なお、Gemma 3 270Mについて詳しく知りたい方は、以下の記事も参考にしてみてください。

FunctionGemmaの性能
FunctionGemmaは、比較的軽量なモデルですが、細かくチューニングすることで、より優れたパフォーマンスを発揮します。
Google公式の評価では、未調整のベースモデルでも、BFCL(Bootstrapped Function Calling Language)ベンチマークの0-shot課題で、同等サイズの他モデルを上回るスコア(例:Parallelタスクで約63.5%)を記録しました。

また、「Mobile Actions」と呼ばれるスマホ操作タスクのデータセットでファインチューニングを施したところ、正答率が58%→85%へと大幅に向上した例が報告されています。

これは、FunctionGemmaが、特定の用途に特化させることで実用レベルの精度を得られることを意味しています。
FunctionGemmaのライセンス
FunctionGemmaは、Google DeepMindが提供するオープンモデルであり、その公開ウェイトは特別な商用利用制限のないライセンスで公開されています。
Gemma系モデル固有の「Gemmaライセンス」に基づき、以下のような使用が許可されています。
| 利用用途 | 可否 | 備考 |
|---|---|---|
| 商用利用 | ⭕️ | |
| 改変 | ⭕️ | |
| 配布 | ⭕️ | |
| 特許使用 | ❌️ | |
| 私的使用 | ⭕️ |
FunctionGemmaの料金
FunctionGemmaそのものはオープンソースモデルであり、ダウンロードやローカル実行にあたって、モデル使用料は不要です。
ただし、実際にFunctionGemmaを運用する際に必要となるインフラコストには注意が必要です。
例えば、Google CloudのVertex AI上でFunctionGemmaを動かしたり、大規模なファインチューニングを行う場合はVertex AIの通常料金(従量課金制)が別途課金されます。
| 利用形態 | 料金 |
|---|---|
| モデルダウンロード | 無料 |
| ローカル実行 | 無料(ハードウェアコストのみ) |
| Vertex AIでの推論・デプロイ | Vertex AI 従量課金 |
| ファインチューニング | クラウドGPU 使用料 |
FunctionGemmaの使い方
FunctionGemmaは主に、 ①Physics Playgroundデモサイト、②Hugging Faceからダウンロード、の2通りの使い方があります。
①Physics Playgroundデモサイト
まずは、Google公式が紹介している「FunctionGemma Physics Playground」を開きます。これはブラウザ内で100%ローカルに動く物理パズルで、FunctionGemmaとTransformers.jsで動作します。
画面を開いたら、最初にモデル(重み)や必要なファイルの読み込みが走るので、右上にREADYと表示されるまで待ちます(初回は少し時間がかかるかもしれません)。

準備ができたら、左側の「SELECT LEVEL」で問題を選び、中央の入力欄(COMMAND)に自然言語で指示を書きます。たとえば「ボールが右下のGOALに届くように、斜面を作って」など、狙いをそのまま文章にします。

次に「EXECUTE」を押すと、プロンプトがシーンに追加するオブジェクト(円や線など)として解釈され、右側のキャンバスに反映されます。

また、FunctionGemmaをスマホ(iPhone)アプリの中に組み込むという使い方もできます。
考え方はシンプルで、FunctionGemmaをアプリ内で推論し、出力された関数呼び出しを、アプリの処理(Swiftの関数)にマッピングして実行するようなイメージです。
GoogleのLiteRTはiOSを含むオンデバイス推論をサポートしており、iOS向けのビルド/導入ガイドも用意されています。
この場合、OSそのものを勝手に操作するのではなく、基本は、アプリが許可を持つ範囲の機能を確実に呼び出す設計にすることがポイントになってくると思います。
たとえば、カレンダー追加やライトの操作のようなOS機能は、iOSの権限設計に従って許可を取ったうえで、API(関数)としてFunctionGemmaに渡す、という流れになります。
②Hugging Faceからダウンロード
FunctionGemmaは一般的なTransformerモデルと同様に扱うことができます。
まず、PyTorchとTransformersをインストールします。次に、Hugging FaceライブラリからFunctionGemmaのプロセッサとモデル本体をロードします(AutoProcessorとAutoModelForCausalLMを使用)。例えば次のように記述します。
pip install torch transformers
from transformers import AutoProcessor, AutoModelForCausalLM
processor = AutoProcessor.from_pretrained("google/functiongemma-270m-it", device_map="auto")
model = AutoModelForCausalLM.from_pretrained("google/functiongemma-270m-it", dtype="auto", device_map="auto")次に、呼び出したい関数をJSONスキーマ形式で定義し、システムプロンプトとして「開発者役」(developer)を設定してモデルに渡します。以下は例です。
# 関数定義例
weather_schema = {
"type": "function",
"function": {
"name": "get_current_temperature",
"description": "Gets the current temperature for a given location.",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "City name"}
},
"required": ["location"]
}
}
}
# システムプロンプトとユーザー入力
message = [
{"role": "developer", "content": "You are a model that can do function calling with the following functions"},
{"role": "user", "content": "What's the temperature in London?"}
]
inputs = processor.apply_chat_template(
message,
tools=[weather_schema],
add_generation_prompt=True,
return_dict=True,
return_tensors="pt"
)最後に、モデルのgenerateメソッドで出力を生成し、デコードします。生成された出力には関数呼び出しの形式が含まれます。
out = model.generate(**inputs.to(model.device), pad_token_id=processor.eos_token_id, max_new_tokens=128)
output = processor.decode(out[0][len(inputs["input_ids"][0]):], skip_special_tokens=True)
print(output)上記の例では、出力に<start_function_call>call:get_current_temperature{location: London}<end_function_call>のような形式が得られます。これを解析すれば、実際に温度取得APIなどを呼び出すことができるかと思います。
FunctionGemmaの活用可能性
最後に、FunctionGemmaの活用可能性をご紹介します。
オンデバイスツール実行
FunctionGemmaは関数呼び出しに強い小型LLMなので、「ユーザーの自然文→アプリ内API実行」のハブとして最適です。
端末で推論できれば、応答が速く、ネット接続にも依存せず使うことができます。
ユーザー側が指定する権限の範囲で、カレンダー登録や設定変更などを安全に自動化できると思います。
ブラウザ完結のインタラクティブ体験
Physics Playgroundのように、ブラウザ上でローカル推論から実行ができると、さまざまな試行錯誤体験がスムーズになります。
生成結果をUIに直結する設計にすると、学習用途やデモにも強く、ユーザー体験の強いプロダクトにすることができると思います。
ルーティン業務を自然文の指示に置き換え
社内ツールに組み込むことで、「このCSVを整形して」「この条件で集計して」といったルーティン業務を、決められた関数群に落として実行することができるようになると思います。
LLMに自由な出力をさせず、関数出力にできれば再現性がアップして、運用面でのエラーを減らしやすくなると思います。
まとめ
FunctionGemmaは、自然言語をそのまま実行アクションに変換できるエージェント用に特化した軽量モデルです。
Gemmaファミリーの技術を継承しつつ、関数呼び出しタスクで高い精度と効率を両立していて、モバイルや組み込みデバイス上でのエッジAIに適しています。
今後、さらにコミュニティによるファインチューニングや応用が進むことで、スマートフォンやIoTデバイスにおける自然言語インタフェースが一層普及することが期待されますね。
気になる方は、ぜひ一度試してみてください!
最後に
いかがだったでしょうか?
弊社では、AI導入を検討中の企業向けに、業務効率化や新しい価値創出を支援する情報提供・導入支援を行っています。最新のAIを活用し、効率的な業務改善や高度な分析が可能です。
株式会社WEELは、自社・業務特化の効果が出るAIプロダクト開発が強みです!
開発実績として、
・新規事業室での「リサーチ」「分析」「事業計画検討」を70%自動化するAIエージェント
・社内お問い合わせの1次回答を自動化するRAG型のチャットボット
・過去事例や最新情報を加味して、10秒で記事のたたき台を作成できるAIプロダクト
・お客様からのメール対応の工数を80%削減したAIメール
・サーバーやAI PCを活用したオンプレでの生成AI活用
・生徒の感情や学習状況を踏まえ、勉強をアシストするAIアシスタント
などの開発実績がございます。
生成AIを活用したプロダクト開発の支援内容は、以下のページでも詳しくご覧いただけます。
➡︎株式会社WEELのサービスを詳しく見る。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、大規模言語モデル(LLM)を対象に、言語理解能力、生成能力、応答速度の各側面について比較・検証した資料も配布しております。この機会にぜひご活用ください。
