cactus-compute/needle

14MB foundation model for tiny devices; phones, wearables, smart home, and robots.

해결하는 문제

Needle 2는 도구 호출, 장치 제어, 구조화된 데이터 추출을 위한 매우 컴팩트한 45M 파라미터 모델입니다. 일반적으로 훨씬 더 큰 모델이 필요로 하는 복잡한 도구 사용 작업을 수행할 수 있으면서도, 약 28MB의 RAM만 사용하는 로컬에서 실행 가능한 AI 에이전트의 필요성을 충족시킵니다.

작동 방식

이 프로젝트는 하다마르 MLP, GQA 어텐션, 엔그램 키-밸류 메모리가 특징인 '간단한 어텐션 네트워크' 아키텍처를 사용합니다. 극도로 작게 만들기 위해 모델은 2비트 양자화(CQ2-bit)로 압축되어 단일 14MB 바이너리 엔진에 내장됩니다. 디코딩을 제약하기 위해 바이트 수준의 문법을 사용하여, 제공된 스키마에 기반해 유효한 JSON으로 도구 호출을 반환합니다. 또한 각 턴마다 상위 5개의 도구만 선택할 수 있도록 내장된 검색 헤드를 포함하고 있습니다.

대상 사용자

메모리와 전력이 제한된 환경에서 AI 에이전트를 개발하는 개발자들을 위한 것입니다. 웨어러블, 스마트 홈 기기, 기타 임베디드 시스템에 적합합니다.

주요 특징

  • 극도의 효율성: 14MB 바이너리가 약 28MB RAM에서 실행되며, 5배에서 70배 더 큰 모델과 경쟁 가능합니다.
  • 신뢰도 게이팅: 모든 응답에 보정된 신뢰도 점수가 포함되어 임계값 기반의 승급이 가능합니다.
  • 구조화된 출력: 컴파일된 바이트 수준의 문법을 사용해 도구 스키마에 기반한 JSON 출력을 보장합니다.
  • 통합 파이프라인: 합성 데이터 생성, JAX를 통한 LoRA 파인튜닝, 컴팩트한 .cact 형식으로 내보내기 기능이 포함되어 있습니다.
  • 사전 구축된 환경: 스마트 홈, 미디어 플레이어, 웨어러블 등 다양한 분야용 사전 준비된 도구 표면을 제공합니다.

관련