---
title: "제미나이 도구 호출 능력을 2,600만 파라미터 모델로 증류한 니들 공개"
published: 2026-05-12T18:03:11.000Z
canonical: https://jeff.news/article/2613
---
# 제미나이 도구 호출 능력을 2,600만 파라미터 모델로 증류한 니들 공개

Cactus Compute가 Gemini 3.1의 도구 호출 능력을 2,600만 파라미터짜리 초소형 모델 Needle로 증류해 공개했다. 맥이나 PC에서 로컬 파인튜닝까지 가능하고, 프로덕션 환경에서는 프리필 6,000 토큰/초, 디코드 1,200 토큰/초를 낸다고 주장한다. 개인용 AI 기기에서 함수 호출만 빠르게 처리하는 작은 모델 실험으로 보면 꽤 흥미로운 공개다.

- Cactus Compute가 Gemini 3.1의 도구 호출 능력을 2,600만 파라미터짜리 Needle 모델로 증류했다고 공개함
  - 여기서 핵심은 ‘대화 잘하는 작은 챗봇’이 아니라, 함수 호출 하나를 작고 빠르게 잘하는 모델이라는 점임
  - 예를 들어 사용자가 “샌프란시스코 날씨 알려줘”라고 묻고 `get_weather(location: string)` 도구가 있으면, 답변 문장이 아니라 `get_weather`와 `San Francisco` 인자를 뽑아내는 식임

- 모델 크기는 꽤 과감하게 작음. 2,600만 파라미터면 요즘 LLM 기준으로는 거의 마이크로 모델에 가까움
  - 구조는 `d=512`, 어텐션 헤드 8개, 키-값 헤드 4개, BPE 토크나이저 크기 8,192로 소개됨
  - 인코더 12층과 디코더 8층을 쓰고, 인코더에는 GQA+RoPE 기반 셀프 어텐션이 들어감
  - 디코더는 마스크드 셀프 어텐션과 인코더 쪽 크로스 어텐션을 사용하고, 출력 쪽 리니어 레이어는 임베딩과 공유되는 구조임

> [!IMPORTANT]
> Needle의 주장 중 제일 눈에 띄는 숫자는 프로덕션에서 프리필 6,000 토큰/초, 디코드 1,200 토큰/초라는 부분임. 폰, 워치, 안경 같은 소비자 기기에서 도구 호출 전용 모델을 돌리려는 목표와 딱 맞닿아 있음.

- 학습 스케일도 작지 않음. 작은 모델이라고 대충 만든 장난감은 아닌 느낌임
  - 사전학습은 16개 TPU v6e에서 2,000억 토큰으로 27시간 진행했다고 밝힘
  - 이후 단일 샷 함수 호출 데이터 20억 토큰으로 후학습을 45분 더 돌림
  - 데이터 생성 방식도 공개했고, Gemini로 학습 데이터를 합성하는 명령도 프로젝트에 포함돼 있음

- 성능 주장은 꽤 공격적이지만, 범위는 분명히 좁혀서 봐야 함
  - Needle은 개인 AI용 단일 샷 함수 호출에서 FunctionGemma-270m, Qwen-0.6B, Granite-350m, LFM2.5-350m보다 낫다고 주장함
  - 다만 작성자도 다른 모델들이 더 넓은 범위와 용량을 갖고 있고, 대화형 사용에서는 더 잘할 수 있다고 선을 그음
  - 즉 “이 작은 모델이 Qwen보다 전반적으로 낫다”가 아니라 “이 좁은 함수 호출 작업에서는 꽤 잘 나온다”에 가까움

- 개발자가 바로 만져볼 수 있게 공개 범위가 넓은 편임
  - 가중치는 `Cactus-Compute/needle`에 공개돼 있고, 데이터 생성 쪽도 같이 열려 있음
  - `git clone`, `setup`, `needle playground`를 실행하면 로컬 웹 UI가 `127.0.0.1:7860`에서 뜨고, 가중치는 자동 다운로드됨
  - CLI도 `needle finetune data.jsonl`, `needle run --query ... --tools`, `needle train`, `needle eval` 같은 흐름으로 제공됨

- 코드 예시도 단순함. 도구 스키마를 문자열로 넣고 `generate`를 호출하면 함수 호출 결과가 나오는 방식임
  - 예시에서는 `get_weather`라는 도구와 `location` 인자를 정의함
  - 모델은 최종적으로 `[{"name":"get_weather","arguments":{"location":"San Francisco"}}]` 같은 구조화된 결과를 출력함
  - 에이전트 런타임 입장에서는 이 결과를 받아 실제 API 호출만 이어 붙이면 됨

- 이 프로젝트가 흥미로운 이유는 ‘작은 모델의 역할’을 꽤 현실적으로 잡았기 때문임
  - 온디바이스 개인 AI에서 모든 걸 거대한 모델 하나가 처리하면 비용, 지연시간, 배터리, 프라이버시 문제가 계속 걸림
  - 반대로 도구 선택, 인자 추출, 간단한 라우팅만 초소형 모델이 맡으면 훨씬 가볍게 제품을 구성할 수 있음
  - 특히 스마트폰, 워치, 글래스처럼 리소스가 빡빡한 환경에서는 이런 전용 모델이 실제 UX 차이를 만들 수 있음

- 그래도 바로 프로덕션에 꽂기 전에 확인할 점은 있음
  - 작성자도 작은 모델은 예민할 수 있으니 직접 도구로 테스트하고 필요하면 파인튜닝하라고 말함
  - 도구 스키마가 복잡하거나, 인자 검증이 빡세거나, 애매한 자연어 요청이 많은 서비스라면 자체 데이터로 평가가 필수임
  - 함수 호출은 틀렸을 때 단순 오답이 아니라 잘못된 API 실행으로 이어질 수 있어서, 후단 검증 로직까지 같이 봐야 함

---

## 기술 맥락

- Needle이 고른 선택은 범용 챗봇을 줄이는 게 아니라, 도구 호출 전용 초소형 모델을 따로 두는 방식이에요. 왜냐하면 개인 AI 제품에서는 “말을 잘하는가”보다 “지금 어떤 앱 기능을 호출해야 하는가”가 더 자주 병목이 될 수 있거든요.

- Gemini 3.1을 직접 기기에 올리는 대신 증류를 택한 이유도 명확해요. 큰 모델의 함수 호출 패턴을 작은 모델에 옮기면, 지연시간과 실행 비용을 줄이면서도 특정 작업에서는 쓸 만한 정확도를 기대할 수 있어요.

- 구조적으로는 인코더-디코더 형태에 어텐션 중심 설계를 쓰고, 피드포워드 네트워크를 빼는 식으로 크기를 줄인 것으로 보입니다. 2,600만 파라미터 안에 GQA, RoPE, 크로스 어텐션을 넣은 건 텍스트 쿼리와 도구 스키마 사이의 매칭을 가볍게 처리하려는 선택으로 읽혀요.

- 이 접근이 실무에서 의미 있으려면 각 서비스의 도구 스키마로 파인튜닝하는 과정이 중요해요. 같은 “날씨 조회”라도 실제 서비스마다 함수 이름, 필수 인자, 지역명 처리 방식이 다르기 때문에 공개 가중치만으로 끝나는 문제가 아니거든요.

## 핵심 포인트

- Needle은 Gemini 3.1의 단일 샷 함수 호출 능력을 2,600만 파라미터 Simple Attention Network로 증류한 모델이다.
- 학습은 16개 TPU v6e에서 2,000억 토큰 사전학습 27시간, 이후 20억 토큰 함수 호출 데이터 후학습 45분으로 진행됐다.
- FunctionGemma-270m, Qwen-0.6B, Granite-350m, LFM2.5-350m보다 개인 AI용 단일 샷 함수 호출 벤치마크에서 낫다고 주장한다.
- 가중치와 데이터 생성 방식이 공개됐고, 웹 UI와 CLI로 직접 도구 스키마를 넣어 테스트하거나 파인튜닝할 수 있다.

## 인사이트

범용 대화 모델을 더 작게 만드는 얘기가 아니라, ‘도구 호출’이라는 좁은 작업을 극단적으로 작고 빠르게 만드는 접근이라 실무적으로 눈길이 간다. 온디바이스 에이전트가 진짜 제품화되려면 이런 작은 라우터 모델이 꽤 중요한 부품이 될 수 있다.
