FunctionGemma 완전 이해하기: 엣지에서 함수 호출까지, 나만의 온디바이스 에이전트 만드는 법

요즘 LLM 이야기를 하면 “대화 잘하는 모델” 이야기가 먼저 나오죠.
그런데 구글이 공개한 FunctionGemma는 약간 다릅니다.
이 모델의 목표는 단순히 말을 예쁘게 하는 게 아니라,
“사용자 말 → 함수 호출 → 실제 액션”
으로 이어지는 에이전트의 뇌가 되는 겁니다.
구글은 이미 2025년에 Gemma 계열 모델 다운로드 수가 1억에서 3억 회 이상으로 늘어났고, 특히 Gemma 3 270M 같은 소형 모델이 “한 장비에서 끝장 성능”을 보여주면서 큰 관심을 받았다고 설명합니다.(blog.google)
그러다 개발자들이 한 목소리로 요청한 기능이 바로
“작고, 빠르고, 로컬에서 돌아가는 함수 호출 전용 모델 하나만 주세요.”
그래서 등장한 것이 바로 펑션젬마입니다.
Gemma 3 270M을 기반으로, 함수 호출(function calling) 에 특화되도록 파인튜닝한 버전이죠.

FunctionGemma 한 줄 정의
FunctionGemma = Gemma 3 270M을 기반으로, 자연어를 신뢰할 수 있는 함수 호출로 바꾸도록 튜닝한 “엣지 전용 액션 브레인” 모델
- 크기는 작지만(270M),
- 함수 호출에 최적화되어 있고,
- 모바일·Jetson 같은 엣지 디바이스에서도 돌아가도록 설계되어 있습니다.
이 덕분에 펑션젬마는 두 가지 역할을 할 수 있어요.
- 온전히 로컬에서 돌아가는 개인 비서
- 일정 추가, 연락처 저장, 설정 변경 등 기기 안에서 끝나는 작업
- “트래픽 컨트롤러” 역할의 에이전트
- 쉬운 건 로컬에서 바로 처리
- 어려운 건 Gemma 3 27B 같은 큰 모델로 넘기는 구조
FunctionGemma가 특별한 이유 4가지
구글 블로그에서 정리한 포인트를 재구성해 보면, FunctionGemma는 크게 네 가지가 눈에 들어옵니다.
1. 말도 하고, 함수도 부르는 통합 액션 + 채팅
펑션젬마는 사람과 대화도 하고, 컴퓨터와도 대화합니다.
- 사용자의 요청을 이해해서
- JSON 기반 함수 호출 형식으로 변환한 다음
- 실행 결과를 다시 자연어로 정리해서 사용자에게 알려주는 구조
For example,
“내일 점심 12시에 회의 일정 추가해줘”
라고 말하면, 내부적으로는
{
"name": "create_calendar_event",
"arguments": {
"title": "회의",
"date": "2025-12-29",
"time": "12:00"
}
}이런 식의 함수 호출 형태로 바꾼 뒤,
일정이 추가되면 “회의 일정을 등록했어요”라고 자연어로 응답하는 식이죠.
2. “프롬프트 장인”이 아니라 파인튜닝을 전제로 설계
펑션젬마는 “프롬프트만 잘 짜면 되는 모델”이 아니라,
“도메인에 맞게 파인튜닝해서 쓰는 모델”에 가깝습니다.
구글이 공개한 Mobile Actions 평가에서,
- 기본 모델은 약 58% 정확도였는데
- 도메인에 맞게 파인튜닝하니 85%까지 올라갔다고 합니다.
That is,
“엣지 에이전트를 제대로 쓰려면, 전용으로 훈련된 특수 요원을 하나 둬라.”
라는 메시지에 가깝습니다.
프롬프트만으로 버티기보다,
조금만 데이터 준비해서 파인튜닝하면
신뢰도와 일관성이 훨씬 좋아진다는 뜻이죠.
3. 엣지를 위해 작고 빠르게 설계

FunctionGemma의 또 다른 특징은 “끝까지 로컬 우선”입니다.
- NVIDIA Jetson Nano 같은 소형 보드,
- 심지어 모바일 폰에서도 돌아갈 수 있도록 설계되어 있고,
- Gemma의 256k 토크나이저using the
- JSON,
- 멀티링구얼 입력(다국어)
을 효율적으로 토크나이즈합니다.
결국 이 말은,
“짧은 시퀀스로도 많은 정보를 먹일 수 있다 →
→ 레이턴시는 줄이고, 프라이버시는 지키면서, 배터리도 아낀다”
는 이야기가 됩니다.
4. 툴 생태계가 이미 준비돼 있다

펑션젬마를 단순한 “연구용 모델”이 아니라
바로 실전에 투입 가능한 모델로 만들어 주는 게 바로 생태계입니다.
파인튜닝·학습 도구
- Hugging Face Transformers
- Unsloth
- Keras
- NVIDIA NeMo
서빙·배포 도구
이미 개발자가 익숙한 도구들 위에 FunctionGemma를 얹을 수 있으니,
“새로운 모델인데, 기존 워크플로를 다 갈아엎을 필요는 없다”는 점도 장점입니다.

FunctionGemma, 언제 선택하는 게 좋을까?
구글은 FunctionGemma를 이런 상황에서 쓰라고 권장합니다.
- 함수(액션) 목록이 뚜렷하게 정의된 서비스
- 예: 스마트 홈, 미디어 플레이어, 내비게이션, 기기 설정 등
- “할 수 있는 동작”이 명확하게 나뉘어 있는 경우
- 파인튜닝을 감수하더라도, 결과를 더 믿고 싶을 때
- “프롬프트 잘 짜면 되겠지…”에서 한 단계 더 나가서
- 데이터 기반으로 일관된 행동을 요구하는 경우
- 로컬 우선, 프라이버시·레오턴시가 최우선인 앱
- 네트워크가 끊겨도 돌아야 하는 앱
- 개인정보·기기 데이터가 절대 서버 밖으로 나가면 안 되는 상황
- 작은 모델 + 큰 모델을 섞어서 쓰는 하이브리드 시스템
- FunctionGemma: 엣지에서 자주 쓰는 명령 빠르게 처리
- Gemma 3 27B 등 대형 모델: 복잡한 추론·질문에만 호출
FunctionGemma 실제 데모들 – 어떤 느낌인지 감 잡기


구글은 FunctionGemma를 체험해 볼 수 있도록 여러 데모도 함께 공개했습니다.
1. Mobile Actions – 완전히 오프라인인 모바일 비서
- “내일 점심에 점심 약속 일정 넣어줘”
- “존이라는 이름으로 연락처 추가해줘”
- “손전등 켜줘”
와 같은 명령을 모바일 기기 안에서만 처리하는 데모입니다.
Google AI Edge Gallery 앱에서 확인할 수 있고,
제공되는 파인튜닝 cookbook & 데이터셋을 이용하면
직접 자신의 기기에 올릴 수 있습니다.
2. TinyGarden – 음성으로 농장 게임 하기
작은 농장 게임에서 사용자가
“윗줄에 해바라기 심고 물 줘”
라고 말하면, FunctionGemma가 이를plantCrop, waterCrop 같은 함수 호출로 잘게 나눠 처리합니다.
특히 재미있는 점은
- 270M짜리 모델 하나로
- 멀티턴 논리, 좌표 계산, 게임 상태 업데이트까지
- 모바일 폰 안에서만 처리한다는 것.
3. Physics Playground – 브라우저 안에서 100% 로컬 물리 퍼즐
Hugging Face에 올라온 Physics Playground 데모에서는
브라우저에서 돌아가는 물리 시뮬레이션 퍼즐을
사용자 자연어 명령으로 해결합니다.
여기서도 FunctionGemma가 Transformers.js와 함께 100% 로컬로 동작합니다.
FunctionGemma, 어디서 어떻게 시작할까?
구글은 FunctionGemma를 “지금 바로” 써볼 수 있도록 진입 경로를 꽤 친절하게 열어놨습니다.
1. 모델 다운로드
에서 FunctionGemma 모델을 받을 수 있습니다.
2. 개념·가이드 학습
- function calling 템플릿
- 함수 응답을 어떻게 시퀀싱할지
- 파인튜닝 방법
등이 AI 개발자 문서에 정리돼 있습니다.
3. 실습 – Mobile Actions 튜토리얼
- Colab 노트북
- 공개 데이터셋
- 자세한 가이드가 함께 제공되므로
“내 모바일 에이전트를 직접 훈련”할 수 있습니다.
4. 배포 – 엣지와 클라우드 모두 지원
- 모바일·엣지: LiteRT-LM으로 폰에 올리기
- 서버/클라우드: Vertex AI, NVIDIA RTX PRO, DGX Spark 등으로 연동
FunctionGemma 활용 아이디어
당신이 만약 이런 걸 만들고 싶다면, FunctionGemma가 꽤 잘 맞습니다.
- 온디바이스 개인 비서
- “오늘 일정 요약해줘”, “회의 끝나면 자동으로 타이머 꺼줘” 같은
기기 내부 설정·앱 연동 중심 에이전트
- “오늘 일정 요약해줘”, “회의 끝나면 자동으로 타이머 꺼줘” 같은
- 사내 전용 업무 에이전트
- 회사 모바일 앱 안에서만 돌아가는
“연차 신청 도와주는 봇”, “설비 점검 체크리스트 자동 실행 봇” 등
- 회사 모바일 앱 안에서만 돌아가는
- 게임 & 교육용 에이전트
- TinyGarden처럼,
음성·텍스트 명령을 게임 액션으로 바꿔 주는 로컬 AI
- TinyGarden처럼,
- 하이브리드 워크플로 오케스트레이터
- FunctionGemma
- 사용자의 말 → 함수 호출로 분해
- 작은 액션(알림, DB 업데이트)은 로컬 처리
- 대형 모델
- 복잡한 분석·요약·권고 생성
- FunctionGemma
초보자를 위한 용어 정리
FunctionGemma
Gemma 3 270M 모델을 기반으로, 함수 호출(function calling) 에 특화되게 파인튜닝한 구글의 경량 LLM. 주로 엣지 디바이스에서 자연어 → API 호출로 바꾸는 역할을 수행.
Function Calling (함수 호출)
LLM이 단순 텍스트 응답 대신,{"name": "...", "arguments": {...}} 같은 구조화된 형식으로 툴 실행 명령을 만들어 내는 기능. 이 결과를 애플리케이션이 받아 실제 코드를 실행한다.
엣지(Edge) / 온디바이스(On-device)
데이터를 클라우드로 보내지 않고,
스마트폰·IoT 보드·PC처럼 사용자 디바이스 바로 위에서 모델을 실행하는 방식.
Gemma 3 270M
Gemma 3 패밀리 중 소형(270M 파라미터) 모델. 한 개 가속기·소형 기기에서 구동 가능한 오픈 모델. FunctionGemma의 베이스 모델.
Mobile Actions
모바일 OS 상의 액션(일정 생성, 연락처 추가, 설정 변경 등)을 함수로 정의한 벤치마크·데이터셋. FunctionGemma의 파인튜닝·성능 평가에 사용되었고, 파인튜닝 후 정확도가 크게 향상되었다.
LiteRT-LM
모바일·엣지 환경에 LLM을 쉽게 배포할 수 있는 런타임/툴체인. FunctionGemma를 스마트폰에 싣는 데 활용 가능.
Ollama / Llama.cpp / MLX
로컬 LLM 실행을 돕는 런타임·프레임워크들.
- Ollama: Mac/로컬에서 모델을 쉽게 내려받고 실행하는 툴
- Llama.cpp: CPU 중심의 경량 LLM 실행 엔진
- MLX: 애플 실리콘(M 시리즈)를 위한 머신러닝 프레임워크
Hugging Face / Kaggle
오픈 모델·데이터셋·코드를 공유하는 플랫폼.
FunctionGemma 모델, Mobile Actions 데이터셋, 예제 코드 등을 제공.




