Back to Blog

Needle: 제미나이(Gemini) 툴 호출 기능을 26M 파라미터 마이크로 모델로 증류하다

May 13, 2026by Ichiban Team
aimachine-learningllmstool-callinggeminiedge-computing

Hero

지난 한 해 동안 에이전틱(agentic) 워크플로우를 구축해 보셨다면 근본적인 딜레마를 하나 알고 계실 겁니다. 바로 툴 호출(tool calling)에는 지능이 필요하고, 지능에는 전통적으로 거대한 모델이 필요하다는 사실입니다. 그동안 우리는 거대한 API를 통해 함수 호출(function call)을 라우팅하거나, 아니면 기가바이트 단위에 이르는 로컬 가중치 모델의 지연 시간(latency)을 감수하는 데 익숙해져 있었습니다.

하지만 오늘, 그 패러다임이 바뀌었습니다. Cactus Compute가 해커뉴스(Hacker News) "Show HN"에 올린 글이 단숨에 우리의 시선을 사로잡았습니다. Google의 Gemini 3.1 Flash Lite에서 명시적으로 증류(distillation)해 낸 초특화 2,600만(26M) 파라미터 모델, 바로 Needle입니다. 이 모델은 시를 쓰거나 파이썬 스크립트를 생성하지는 않습니다. 오직 단 한 가지 일만 수행합니다. 사용자의 의도를 분석해 툴 스키마(tool schemas)에 맞추고 완벽한 JSON을 출력하는 것. 그것도 엄청나게 빠른 속도로 말입니다.

#무슨 일이 일어났나요?

Cactus Compute는 Needle을 MIT 라이선스로 오픈소스화하고 Hugging Face에 가중치를 공개했습니다. 단 26M 파라미터라는 크기는 믿기 힘들 정도로 작습니다. 감이 잘 안 오신다면, 이전에 "매우 작다"고 여겨졌던 FunctionGemma-270M이나 Qwen-0.6B 같은 모델들과 비교해도 그 크기가 아주 일부분에 불과합니다.

크기는 작지만 Needle은 자신에게 부여된 임무를 무섭도록 잘 수행합니다. 스마트홈 제어, 메시징부터 내비게이션, 타이머에 이르기까지 15개의 다양한 카테고리에서 싱글샷(single-shot) 툴 호출을 처리해 냅니다. Gemini 3.1 Flash Lite의 잠재된 능력을 초집중형 아키텍처로 증류시킴으로써, 스키마를 파싱하고 인자(arguments)를 추출하는 데 굳이 수십억 개의 파라미터가 필요하지 않다는 것을 개발팀이 증명해 냈습니다.

#이것이 왜 중요한가: 엣지(Edge) 환경에서의 극한의 효율성

Needle의 가장 매력적인 점은 단지 크기만이 아닙니다. 그 크기가 무엇을 가능하게 하느냐가 핵심입니다. INT4로 양자화(quantization)할 경우, 모델 전체가 차지하는 메모리는 대략 14MB에 불과합니다.

이 숫자가 의미하는 바를 잠시 생각해 봅시다. 이 모델은 전용 GPU 클러스터가 필요 없습니다. 심지어 최신 CPU조차도 굳이 필요하지 않습니다. 이로 인해 이전에는 불가능했던 환경에서도 정교한 로컬 우선(local-first) 툴 호출이 가능해집니다.

  • 웨어러블(Wearables): 스마트워치나 AR 글래스가 음성 명령을 구조화된 API 호출로 로컬에서 직접 처리하여, 클라우드 지연을 완벽하게 우회할 수 있습니다.
  • IoT 디바이스: 스마트홈 허브가 서버와 통신할 필요 없이 ESP32나 저사양 ARM 칩 환경에서 의도(intent) 라우팅을 바로 처리할 수 있습니다.
  • 모바일 앱: 애플리케이션에 모델을 네이티브로 내장하여 제로 레이턴시(zero-latency) UI 인터랙션을 보장하고, 질의를 온디바이스에 유지함으로써 사용자의 개인정보를 보호할 수 있습니다.

성능 측면에서도 Needle은 그야말로 괴물입니다. 소비자용 하드웨어에서 프리필(prefill) 초당 6,000 토큰, 디코드(decode) 초당 1,200 토큰이라는 속도를 달성합니다. 사용자 인터랙션 관점에서 보면, 사람의 눈으로 로딩 상태를 인식하기도 전에 JSON 페이로드가 생성되고 실행 준비를 마친다는 뜻입니다.

#기술적 의미: "No-FFN" 아키텍처

엔지니어 입장에서는 이번 발표에서 Needle에 적용된 아키텍처적 선택이 아마도 가장 흥미로운 부분일 것입니다. Cactus Compute 팀은 그들이 명명한 SAN(Simple Attention Network)을 도입했습니다.

표준 트랜스포머 아키텍처는 일반적으로 Multi-Head Attention과 Feed-Forward Networks (FFNs 또는 MLPs) 레이어를 번갈아 쌓아 구성됩니다. 딥러닝 분야에서 널리 알려진 사실은, FFN이 세상의 지식과 팩트를 저장하는 모델의 "메모리" 역할을 하는 반면 Attention은 컨텍스트의 동적 라우팅을 처리한다는 것입니다.

Needle이 이룩한 획기적인 통찰은, 툴 호출은 추론(reasoning)이나 메모리 작업이 아니라 검색(retrieval) 및 조립(assembly) 작업이라는 사실을 깨달은 것입니다.

모델에게 사용 가능한 툴 스키마 목록과 사용자의 질문(query)을 프롬프트로 주었을 때, 이 모델은 프랑스의 수도가 어딘지 알 필요가 없습니다. 그저 사용자의 요청(예: "거실 조명 꺼줘")에 담긴 의미적 부분(semantic spans)을 제공된 JSON 스키마의 요구 슬롯에 맞춰 정렬하기만 하면 됩니다.

그렇기 때문에 Needle은 FFN 레이어를 완전히 걷어냈습니다. 오직 순수한 Attention과 게이팅(gating) 메커니즘만으로 구성된 12-레이어 인코더와 8-레이어 디코더를 사용합니다. MLP를 제거함으로써 파라미터 가중치의 대부분을 덜어냈고, 함수 호출에 필요한 특정 라우팅 능력을 희생하지 않으면서도 연산 오버헤드를 극적으로 줄였습니다.

#학습 파이프라인(Training Pipeline)

이렇게 특화된 모델을 학습시키기 위해서는 영리한 파이프라인이 필요했습니다:

  1. 사전학습(Pretraining): 2,000억 개의 토큰을 사용해 처음부터(from scratch) 학습시켰습니다. 아주 작은 모델 크기 덕분에, 16개의 TPU v6e 칩 클러스터에서 단 27시간 만에 이 단계가 끝났습니다.
  2. 사후학습(Post-Training/Distillation): Gemini 3.1 Flash Lite를 사용하여 고도로 복잡한 합성(synthetic) 함수 호출 데이터 20억 토큰을 생성했습니다. 이 단계는 단 45분 만에 완료되었으며, 이를 통해 제미나이의 강력한 명령어 수행(instruction-following) 및 스키마 파싱 능력을 SAN 아키텍처로 효과적으로 전이시켰습니다.

#다음 단계는?

Needle은 지금 바로 사용할 수 있으며, 진입 장벽은 사실상 제로에 가깝습니다. 리포지토리를 클론(clone)하고 의존성