14MB 초경량 에이전트 LLM "Needle 2", 200달러 이하 기기용 tool calling 모델로 등장
- Cactus Needle 2는 45M 파라미터 모델을 CQ2-bit 양자화로 압축해 14MB 파일 크기와 28MB 세션 RAM만으로 동작하는 온디바이스 에이전트 LLM임
- Raspberry Pi 5 기준 프리필 800+ tok/s, 디코드 500+ tok/s 속도를 내며 GPU나 NPU 없이 CPU만으로 작동함
- 전 세계 IoT 기기 210억대와 PC 15억대를 비교해, 엣지 기기 5대 중 4대가 $200 미만 저가 하드웨어라는 점을 근거로 저가 기기를 타겟팅함
- 스키마에서 컴파일한 바이트 단위 그래머로 매 응답을 함수 호출 형태로 강제하고, 응답마다 confidence 점수를 매겨 애매한 요청은 빈 호출로 거부하거나 클라우드로 에스컬레이션함
- 스크린이 없는 웨어러블 제조사 Pebble이 Index 01 링 앱에 Needle을 탑재해 네트워크 연결 없이 음성 명령을 동작으로 바꾸는 데 씀
Hacker News opinions
작은 모델에 지식이 얼마나 들어갈 수 있는지 궁금함, edge AI가 좋아져야 physical AI가 뜬다고 봄
이정도 파라미터면 월드 지식은 거의 없고 tool calling 구조 잡는데만 집중하는 거 같음. 로보틱스에서 실시간 엣지 tool call이 진짜 유용할 것 같음
데모에 그냥 "HN"이라고만 쳤는데 lock_door 호출함. confidence 0인데도 걸러지지 않는게 이상함
그거 바로 confidence 기능 때문에 보이는 거임. placeholder로 "함수콜만 지원함" 문구 숨길 수도 있는데 다 보여주는 게 나은지 궁금함
"do not lock the door"라고 해도 똑같이 문 잠그려 함ㅋㅋ
functiongemma-270m-it을 1~2비트로 압축해서 브라우저에서 돌리려던 참인데 여기 파인튜닝 기능이 훨씬 편해보임
STT랑 웨이크워드는 어떻게 붙이는지 궁금함. 스크린 없는 기기에서 전체 파이프라인이 안 그려짐
Whisper로 STT 붙이고 키워드 감지되면 나머지 텍스트를 Needle2에 넘기면 됨. Pi5에서도 충분히 빠르게 돌아감, Home Assistant 참고하면 도움됨
random sentence generator랑 뭐가 다른지 모르겠음
문 잠가보라고 해봐, tool call 제대로 나오고 confidence score도 확인 가능함
Engrams로 연산량 줄인거 흥미로운데 ablation 해봤는지, attention residual 대신 mHC 쓴 이유가 뭔지 궁금함
Engrams 제대로 ablation 해봤고 연산 비용 추가 없이 FFN처럼 월드 지식을 담아내는 결과가 나왔음
micro LLM 영역이 저평가됐다고 생각하는데 데모 자체는 별로 인상적이지 않음. 왜 14MB까지 극단적으로 줄였는지, 더 큰 모델이면 뭘 얻는지 궁금함
이건 범용 언어모델이 아니라 200달러 이하 기기 전용 tool calling 모델이라 크기가 그렇게 정해진 거임
독일어로 테스트해봤는데 3개 툴 정확히 구분해서 인상적이었음. STT/TTS랑 같이 여러 마이크로모델 조합하면 14MB가 합리적인 크기같음
confidence gate가 14MB 액션모델의 핵심 포인트인데, 로컬 처리와 클라우드 에스컬레이션 기준을 어떻게 캘리브레이션 하는지 궁금함
실험상 confidence 60% 정도 threshold가 괜찮았는데 결국 각자 워크로드에 맞춰 테스트해야 해서 threshold를 그냥 노출시켜놨음
다들 "intelligence"의 최전선만 보는데 이건 "form"의 최전선이라 흥미로움. 언젠가 로컬에서 Opus급 성능 나오려면 이런 것도 중요함
esp32에서 29M 파라미터 모델 돌리던 데모 생각남. esp32 여러개 묶으면 처리량이 어떨지 궁금함
그 데모는 Needle 1이었고 지금 ESP32 가이드를 만들고 있음. ESP32-S3나 32MB PSRAM 달린 ESP32-P4에서도 돌아간다고 함