FunctionGemma 소개
FunctionGemma 는 Google이 새롭게 공개한 Gemma 3 270M 기반의 함수 호출(Function Calling) 특화 모델입니다. 최근 AI 업계의 흐름이 단순한 대화형 인터페이스에서 실질적인 작업을 수행하는 '액티브 에이전트(Active Agents)'로 전환됨에 따라, 모델이 단순히 말하는 것을 넘어 행동(Act)할 수 있는 능력이 중요해졌습니다. FunctionGemma는 이러한 요구에 맞춰 자연어 명령을 구조화된 API 호출이나 도구 사용(Tool Use) 명령으로 변환하는 데 최적화되어 있습니다.
특히 FunctionGemma 모델은 2억 7천만(270M) 개라는 매우 적은 파라미터 수를 가지고 있어, 스마트폰이나 NVIDIA Jetson Nano와 같은 에지 디바이스에서도 단독으로 구동 가능한 것이 가장 큰 특징입니다. 이를 통해 데이터가 외부 서버로 전송되지 않는 완벽한 로컬 환경에서, 캘린더 일정 등록이나 시스템 설정 변경과 같은 복잡한 워크플로우를 지연 없이 처리할 수 있습니다. FunctionGemma는 독립적인 에이전트로 작동하거나, 더 큰 모델(예: Gemma 3 27B) 앞단에서 간단한 명령을 즉시 처리하고 복잡한 요청만 라우팅하는 지능형 컨트롤러 역할을 수행할 수 있습니다.
FunctionGemma 모델을 기존의 LLM 및 다른 방법론과 비교하면 다음과 같습니다:
-
vs. 일반 대화형 모델: 일반적인 Gemma 모델이 사용자와의 자연스러운 대화에 초점을 맞췄다면, FunctionGemma 는 '대화'보다는 '행동'에 목적을 둡니다. 직접적인 챗봇 용도보다는 사용자의 의도를 파악하여 정확한 JSON 형태의 함수 호출 코드를 생성하고, 도구의 실행 결과를 다시 자연어로 요약하여 전달하는 데 특화되어 있습니다.
-
vs. 제로샷(Zero-shot) 프롬프팅: 범용 모델을 제로샷으로 사용하여 도구를 호출할 때보다, 특정 도구와 API에 맞춰 파인튜닝(Fine-tuning)했을 때 훨씬 더 강력하고 결정론적인(Deterministic) 성능을 발휘합니다. Google의 'Mobile Actions' 평가에 따르면, 파인튜닝을 통해 모델의 정확도가 58%에서 85%로 급격히 향상되었습니다.
FunctionGemma 주요 기능
초경량 아키텍처와 에지(Edge) 최적화
FunctionGemma는 Gemma 3 270M 아키텍처를 기반으로 합니다. 270M 파라미터는 최신 LLM 중에서도 매우 작은 크기로, NVIDIA Jetson Nano와 같은 임베디드 시스템 및 모바일 기기 등의 제한된 컴퓨팅 파워와 배터리 환경에서도 효율적으로 동작합니다.
FunctionGemma는 Gemma의 256k 어휘 집합을 사용하여 JSON 및 다국어 입력을 효율적으로 토큰화합니다. 또한, 최대 32K 토큰 길이의 입력 및 출력을 지원하여, 복잡한 함수 정의나 긴 작업 내역을 처리할 수 있습니다.
통합된 액션 및 채팅 워크플로우 (Function Calling Cycle)
FunctionGemma는 사용자와 컴퓨터 사이의 통역사 역할을 수행합니다. 전체적인 동작 과정은 다음과 같습니다:
- 사용자 입력: 사용자가 자연어로 명령을 내립니다 (예: "내일 점심 약속 캘린더에 추가해줘").
- 함수 호출 생성 (Model's Turn): 모델은 미리 정의된 도구(Tools) 목록을 확인하고, 실행해야 할 함수와 인자(Arguments)를 포함한 구조화된 객체를 생성합니다.
- 도구 실행 (Developer's Turn): 개발자의 애플리케이션이 이 객체를 받아 실제 API나 코드를 실행합니다.
- 결과 요약 (Final Response): 실행 결과가 다시 모델로 전달되면, 모델은 이를 바탕으로 사용자에게 자연어 응답을 생성합니다.
파인튜닝(Fine-tuning)을 통한 성능 극대화
Google은 FunctionGemma를 "그대로 사용하는 모델"이라기보다 "커스터마이징을 위한 강력한 베이스 모델"로 정의합니다. 즉, 특정 도메인(스마트홈, 내비게이션 등)의 API 정의에 맞춰 모델을 추가 학습시키면, 일반적인 모델보다 월등히 높은 신뢰성을 확보할 수 있습니다.
모바일 환경에서의 액션 수행 능력을 평가한 결과, 파인튜닝 후 신뢰도가 대폭 상승(Baseline 58% -> 85%)하여 상용 수준의 성능을 입증했습니다. FunctionGemma 모델의 파인튜닝에 대해서는 예시 노트북을 참고해주세요.
광범위한 생태계 지원
FunctionGemma는 다양한 최신 프레임워크와 호환됩니다. FunctionGemma의 파인튜닝을 위해서는 Hugging Face Transformers, Unsloth, Keras, NVIDIA NeMo 등을 사용할 수 있습니다. 또한, LiteRT-LM, vLLM, MLX, Llama.cpp, Ollama, Vertex AI, LM Studio 등 다양한 런타임 환경을 지원하여 개발자가 원하는 환경에 손쉽게 배포할 수 있습니다.
필수 시스템 프롬프트
FunctionGemma가 도구 호출 기능을 올바르게 수행하기 위해서는 다음과 같은 Developer Role의 시스템 프롬프트가 필수적으로 포함되어야 합니다:
message = [
{
"role": "developer",
"content": "You are a model that can do function calling with the following functions"
},
# ... 이후 사용자 메시지 및 도구 정의
]
FunctionGemma 활용 사례
다음은 FunctionGemma을 사용하여 실제 사용자 경험을 변화시키는 사례들입니다. 더 자세한 내용은 Google AI Edge Gallery 앱에서 확인해보실 수 있습니다.
Mobile Actions (오프라인 모바일 비서)
FunctionGemma를 사용하여, 서버 연결 없이 100% 오프라인 상태에서 작동하는 스마트폰 에이전트의 가능성을 보여주는 사용 사례입니다. 사용자가 "내일 점심 약속을 캘린더에 추가해줘", "John을 연락처에 추가해", "손전등 켜줘" 와 같이 자연어로 명령하면, 모델이 이를 해석하여 적절한 OS 도구(Tool)를 찾아 실행합니다.
개발자는 Google이 제공하는 파인튜닝 쿡북을 참고하여 FunctionGemma 모델의 파인튜닝 방법을 익혀, 자신만의 모바일 액션 모델을 빌드하고 기기에 탑재할 수 있습니다.
TinyGarden (음성 제어 게임)
대화형 미니 게임에 FunctionGemma을 접목한 사례입니다. 예를 들어, 플레이어가 "윗줄에 해바라기를 심고 물을 줘" 라고 말하면, 모델은 이 명령을 plantCrop(작물 심기), waterCrop(물 주기)과 같은 구체적인 게임 함수로 분해하고 정확한 좌표(Grid coordinates)를 지정하여 실행합니다.
이 사례를 통해 270M 크기의 작은 모델이 서버 통신 없이도 모바일 기기 내에서 멀티 턴(Multi-turn) 로직을 처리하고 복잡한 게임 메커니즘을 제어할 수 있음을 보여줍니다.
FunctionGemma Physics Playground (웹 기반 물리 시뮬레이션)
X의 @xenovacom이 공개한 이 데모는 100% 로컬 웹 브라우저 환경에서 실행되는 게임으로, 로컬 AI가 강력하게 작동함을 보여주는 사례입니다. 자연어를 사용하여 물리 퍼즐을 해결하는 게임으로, Transformers.js와 FunctionGemma를 기반으로 구동됩니다.
Gemma 공식 홈페이지
Google Developers Blog에 소개된 FunctionGemma 출시 블로그
FunctionGemma 모델 다운로드
FunctionGemma 파인튜닝 예시 노트북
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()


