Needle: 도구 호출을 2600만 파라미터 모델로 증류하기
대형 언어 모델(LLM)의 주요 흐름은 규모를 키우는 경쟁이었습니다. 하지만 특정 에이전시 작업—특히 도구 호출—에서는 거대한 모델이 과잉일 때가 많습니다. 도구 호출은 본질적으로 검색 및 조합 작업입니다: 사용자 질의를 도구 이름에 매핑하고, 필요한 인자를 추출하며, 구조화된 JSON 응답을 생성하는 것이죠. 이는 복잡한 추론 작업이 아닙니다.
이를 인식한 Cactus 팀은 Needle이라는 실험적 2600만 파라미터 모델을 공개했습니다. 이 모델은 휴대폰, 스마트워치, 안경 등 소비자 기기에서 단일 호출 함수 호출을 위해 설계되었습니다. Needle은 매우 특화된 초소형 모델이 좁고 구조화된 작업에서 훨씬 큰 모델보다 뛰어날 수 있음을 보여줍니다.
아키텍처: "Attention Is Actually All You Need"
Needle 설계에서 가장 눈에 띄는 점은 피드포워드 네트워크(FFN) 레이어를 완전히 제거했다는 것입니다. 표준 트랜스포머에서는 FFN이 보통 "사실 지식"을 저장하는 곳입니다. Cactus 팀은 모델에 외부 구조화된 지식(예: 프롬프트에 제공된 사용 가능한 도구 목록)이 주어지면 FFN 파라미터가 불필요해진다는 것을 관찰했습니다.
핵심 기술 사양:
- 파라미터 수: 2600만.
- 아키텍처: 단순 어텐션 네트워크(어텐션과 게이팅만; MLP 없음).
- 성능: 소비자 하드웨어에서 프리필 6,000 토큰/초, 디코드 1,200 토큰/초.
- 학습: 2000억 토큰 사전학습(16 TPU v6e에서 27시간) 후 20억 토큰의 합성 함수 호출 데이터 추가 학습(45분).
- 데이터 소스: Gemini를 활용해 15개 도구 카테고리(내비게이션, 스마트 홈, 메신저 등)에서 합성된 학습 데이터.
FFN을 없앰으로써 Needle은 가벼운 검색 엔진으로 동작합니다. 이 발견은 더 넓은 원칙을 시사합니다: 모델이 외부 구조화된 지식(RAG 또는 도구 사용 등)에 접근할 수 있다면, 해당 사실을 가중치에 기억할 필요가 없습니다.
벤치마크 및 성능
그 크기에도 불구하고 Needle은 단일 호출 함수 호출에서 다음과 같은 더 큰 모델들을 능가합니다:
- FunctionGemma-270M
- Qwen-0.6B
- Granite-350M
- LFM2.5-350M
Needle이 도구 호출이라는 특정 작업에 뛰어나지만, 이러한 대형 모델들의 대화 능력이나 일반 추론 능력은 부족하다는 점을 유념해야 합니다. Needle은 전체 시스템의 특화된 구성 요소로 설계된 것이지, 범용 챗봇은 아닙니다.
실제 적용 사례 및 사용 사례
커뮤니티는 이 크기의 모델에 대해 여러 고효율 활용 방안을 제시했습니다:
1. 온디바이스 음성 비서
저전력 하드웨어에서 로컬로 실행될 수 있기 때문에 Needle은 "Siri-like" 코어로 이상적입니다. 전사된 텍스트와 사용 가능한 도구 목록을 받아 "타이머 설정"이나 "날씨 확인" 같은 명령을 클라우드에 데이터를 보내지 않고 수행할 수 있습니다.
2. 스마트 홈 통합
사용자들은 Home Assistant와 같은 플랫폼에서 Needle이 작은 모델로서 자연어 명령("Computer! Lights!")을 장치 토글로 빠르게 연결하는 브리지 역할을 할 수 있다고 평가했습니다.
3. 자연어 CLI
명령줄 도구에 Needle을 통합하면 사용자가 자연어로 인자를 지정하고, 모델이 이를 유효한 플래그와 명령으로 파싱하게 할 수 있습니다.
4. 에이전트 오케스트레이션
일부 개발자는 복합 에이전트 시스템에서 Needle을 "첫 번째 단계"로 활용하자고 제안합니다. Needle이 초기 도구 선택과 인자 추출을 담당하고, 결과 데이터를 더 크고 능력 있는 모델에 넘겨 최종 합성이나 추론을 수행하도록 하는 방식입니다.
커뮤니티 비평 및 고려사항
출시가 큰 기대를 모았지만, 토론 중 몇 가지 기술적·법적 이슈가 제기되었습니다:
"Distillation" 논란: 일부 사용자는 Gemini를 증류(큰 모델로 작은 모델 학습 데이터를 생성)하는 것이 Google 서비스 이용 약관을 위반할 수 있다고 지적했습니다. 해당 약관은 경쟁 모델 개발에 서비스를 사용하는 것을 금지합니다.
모호성 처리: 모델이 복잡하고 다단계 체인이나 모호한 요청을 처리할 수 있는지에 대한 질문이 남아 있습니다. 한 사용자는 "1시간 뒤에 1시간 타이머 설정"과 같은 질의에 대해 모델이 지연 타이머를 만들지, 두 시간 타이머를 만들지 판단하기 어려워했다고 언급했습니다.
상태 관리: Needle은 단일 호출에 최적화돼 있어 다중 턴 대화에서 상태를 추적하는 능력이 향후 조사 대상입니다. 한 댓글에 다음과 같이 적혔습니다:
"이 모델이 여러 호출에 걸쳐 상태를 추적해야 하는 다중 턴 도구 호출에 일반화될 수 있는지, 아니면 그곳에서 붕괴되는지 궁금합니다."
결론
Needle은 AI의 "적정 규모" 전환을 의미합니다. 도구 호출이 추론이 아닌 검색 작업임을 입증함으로써 Cactus는 가장 작은 기기에서도 고효율, 프라이버시 보호, 로컬 에이전시 경험을 가능하게 했습니다. 프로젝트는 MIT 라이선스로 제공되며, 가중치는 Hugging Face에서 찾아볼 수 있어 자신만의 도구 세트에 맞게 모델을 파인튜닝할 수 있습니다.