Cactus Needle: 26M 파라미터 함수 호출 모델

Cactus Needle: 26M 파라미터 함수 호출 모델

개요

Cactus Needle은 단 2,600만 개의 파라미터를 가진 오픈 소스 함수 호출 모델로, 싱글샷(single-shot) 도구 호출에서 훨씬 더 큰 모델들을 능가하도록 설계되었습니다. 이 모델은 엣지 배포에 최적화되어 소비자용 하드웨어에서 초당 6,000 토큰의 prefill 속도와 초당 1,200 토큰의 생성 속도를 달성할 수 있습니다.

아키텍처: 단순 어텐션 네트워크

Needle은 모든 Multi-Layer Perceptrons (MLPs)와 밀집 레이어(dense layers)를 제거함으로써 표준 Transformer 아키텍처와 근본적으로 다른 "단순 어텐션 네트워크"를 활용합니다.

지식 저장소의 제거

일반적인 Transformer에서 피드포워드 네트워크(FFN) 레이어는 사실과 세상에 대한 지식을 보유하는 모델의 지식 저장소 역할을 하는 것으로 여겨집니다. Cactus Needle은 이러한 레이어를 완전히 제거하고 어텐션과 게이팅(gating)만으로 작동합니다. 이러한 설계 방식은 도구 호출이 심층적인 추론이나 광범위한 내부 지식을 필요로 하는 작업이 아니라, 쿼리를 도구 이름과 매칭하고 인자를 추출하는 검색 및 조립의 작업이라는 전제에 기반합니다.

기술 사양

  • 구조: Group Query Attention (GQA)를 활용한 self-attention을 사용하는 12-encoder 스택.
  • 디자인: decoder-only GPT 스타일이 아닌 encoder-decoder 아키텍처.
  • 학습: 16개의 TPU를 사용하여 27시간 동안 2,000억 개의 토큰으로 사전 학습되었으며, 이후 15개 도구 카테고리에 걸친 20억 개의 토큰의 합성 함수 호출 데이터로 사후 학습되었습니다.
  • 최적화: 팀은 모델이 엣지 디바이스를 위해 압축될 때 성능을 유지할 수 있도록 양자화 인식 학습(quantization-aware training)을 채택했습니다.

성능 및 벤치마크

Cactus Needle은 싱글샷 함수 호출을 위해 설계되었습니다. 이 특정 도메인에서, 이 모델은 Function Gemma, IBM Granite, LFM, Qwen 600M을 포함하여 10배에서 20배 더 큰 모델들을 능가하는 것으로 보고되었습니다.

하지만, 이 모델은 복잡한 작업을 위한 대규모 언어 모델(LLM)을 대체하기 위한 용도가 아닙니다. 다음과 같은 작업에는 어려움을 겪을 수 있습니다:

  • 병렬 함수 호출.
  • 여러 도구를 사용하는 복잡한 추론이 필요한 작업.
  • 점진적 공개(progressive disclosure)를 포함하는 "기술".

실무 적용 및 배포

매우 작은 크기 덕분에 Needle은 모바일 디바이스, Raspberry Pi, 또는 임베디드 시스템(예: 스마트 가전)과 같은 저전력 하드웨어에 배포할 수 있습니다.

제로샷 및 미세 조정 능력

Needle은 도구의 JSON 정의가 제공될 때 강력한한 제로샷 능력을 보여줍니다. Claude가 생성한 스마트 홈 제어와 같이 명시적으로 학습하지 않은 함수에 대해서도, 모델은 사용자의 의도를 정확하게 올바른 함수에 매핑하고 인자를 추출할 수 있습니다.

특수 목적의 사용 사례를를 위해, 모델은 GPU 없이 CPU에서 미세 조정(fine-tuning)할 수 있습니다. 제공된 GitHub repository는 이 과정을 용이하게 하기 위해 JAX 코드(Flax와 Optax 사용)를 포함하고 있습니다.

캐스케이드 아키텍처 전략

Cactus는 작은, 전문화된 모델들이 특정 도구 세트를 처리하는 "캐스케이드 아키텍처"를 옹호합니다. 이 시스템에서, 작은 모델은 라우터(router) 역할을 하여 쿼리가 어떤 도구 세트에 속하는지 결정하고, 그 후 작업을 다른 전문화된 소형 모델에게 위임하거나 복잡한 추론을 위해 더 큰 클라우드 기반 모델로 넘기는 역할을 수행합니다.

Sources