Cactus-Compute/needle2
45M 파라미터 Needle 2가 CQ2-bit와 byte-level grammar로 초소형 기기에서 구조화된 tool call을 생성합니다.
학습 방식 · Simple Attention Network 기반 구조에 Hadamard MLP, GQA attention, engram key-value memory, multi-lane hyper-connections를 적용하고 Cactus Quants로 CQ2-bit 양자화한 뒤 자체 엔진에 통합했습니다.
TL;DR
Needle 2는 별도의 base LLM을 덧붙인 fine-tune이나 LoRA가 아니라, 45M 파라미터 Simple Attention Network를 CQ2-bit로 압축해 자체 엔진에 구운 초소형 tool-calling 모델입니다. 14MB 단일 바이너리와 약 28MB의 세션 RAM만으로 동작하며, ARM64·ARMv7·RISC-V·x86-64와 WebAssembly를 지원해 Raspberry Pi, 모바일, VR 기기, microcontroller까지 배포 범위를 넓힙니다. 도구 설명이나 추출 schema를 입력하면 built-in retrieval head가 필요한 도구를 고르고, byte-level grammar가 JSON Schema의 타입·범위·패턴에 맞는 토큰만 허용해 구조화된 호출을 반환합니다. confidence는 보정된 head와 호출 토큰의 decoding probability 중 낮은 값으로 계산되므로 제품이 임계값을 정해 실행과 escalation을 나눌 수 있습니다. 다만 선언된 도구가 없으면 자유 텍스트 답변을 하지 않고 [], 대규모 도구 목록에서는 검색된 상위 5개 밖의 도구를 호출하지 않습니다.
핵심 포인트
- Needle 2는 45M 파라미터와 14MB 단일 바이너리로 tool calling을 처리해 초소형 기기에 배포할 수 있습니다.
- 선언한 JSON Schema를 byte-level grammar로 컴파일해 모델 출력의 모든 토큰을 허용된 구조 안에 묶습니다.
- confidence를 두 신호의 최솟값으로 계산해 임계값 미달 호출을 실행하지 않고 재질의나 상위 모델로 넘길 수 있습니다.
- 256토큰 sliding window와 고정된 tool KV sink로 대화가 길어져도 세션 메모리를 약 28MB로 유지합니다.
제한사항
- 모델은 모든 요청을 function call로 처리하므로 선언된 도구가 없는 주제에는 자유 형식 텍스트 대신 빈 호출 []을 반환합니다.
- 5개를 초과하는 도구 카탈로그에서는 검색 상위 5개만 문맥과 grammar에 들어가며 선택되지 않은 도구는 호출할 수 없습니다.
- reasoning 필드는 grammar 제약을 받지 않지만 실제 function call만 byte-level grammar의 제약을 받아 두 출력의 형식 보장 수준이 다릅니다.
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| Mob1-le-Action | accuracy | 약 66% | README 그래프 기준 Needle 2는 약 45M 파라미터와 Q2-bit 설정으로 LFM2.5 230M, FunctionGemma 270M, Apple FM과 비교됩니다. 그래프의 정확한 수치는 표기되지 않았습니다. |
| 디코드 속도 | tokens/sec | Raspberry Pi 5에서 500 | README 공개 수치이며, VR 기기에서는 400–1,500 tokens/sec, 200달러 미만 Samsung A-Series에서는 300–700 tokens/sec입니다. |
| 세션 메모리 | peak RAM | 약 28MB | README 공개 수치이며, ESP32-S3에서는 약 11MB로 실행했다는 보고가 함께 제시됐습니다. |
이미지 분석


71
Likes
0
Downloads
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.