Giới thiệu
Cactus giới thiệu Needle 2 như một model nhỏ cho tool calling, device use và structured extraction. Model có 45M tham số, được đóng gói thành một binary 14 MB, chạy với session RAM khoảng 28 MB và dùng Cactus Quants ở CQ2-bit.
Bài viết nhắm vào phần edge thật sự nhỏ: điện thoại dưới 200 USD, Raspberry Pi, wearables, smart home, robots nhỏ và một số microcontroller có RAM ngoài. Cactus lập luận rằng nhiều action trên thiết bị không cần model chat lớn; chúng cần map câu nói của người dùng vào function và argument đúng.
Tính năng chính
Needle 2 tập trung vào ba việc:
- Tool calling và device use: chọn đúng function, đúng thứ tự call và đúng argument cho hành động trên thiết bị.
- Structured extraction: đọc input theo schema và trả object, array, enum hoặc field có kiểu rõ ràng.
- Edge-cloud collaboration: trả confidence score để sản phẩm quyết định hành động local, hỏi lại người dùng hoặc escalate lên cloud.
Engine được viết bằng C++ dependency-free, tự chọn kernel theo CPU, và có grammar compiler để hạn chế malformed JSON hoặc cấu trúc sai schema. Attention dùng sliding window 256 token để giữ RAM có trần cố định. System prompt và tool declarations được pin để model không quên tool khi session dài hơn.
Hiệu năng và benchmark
Cactus báo cáo Needle 2 đạt hơn 500 tokens/giây decode trên Raspberry Pi 5, 400-1.500 tokens/giây trên VR devices như Meta Quest 3S và Apple Vision Pro, và 300-700 tokens/giây trên điện thoại dưới 200 USD. Với peak RAM khoảng 28 MB, họ nói model có thể chạy trên một số board MCU-class có external RAM.
Trên benchmark function-calling, Needle 2 có vài kết quả tốt so với model nhỏ lớn hơn nhiều lần, nhưng không thắng toàn diện. Trong BFCL v4 single-turn, overall của Needle 2 là 42,6, thấp hơn Apple FM, LFM2.5 230M và FunctionGemma 270M ở nhiều hàng. Điểm mạnh hơn nằm ở bài toán hẹp: tool calling cho consumer device actions và extraction có schema.
Cách dùng hợp lý
Needle 2 hợp với sản phẩm có action space nhỏ, schema rõ và yêu cầu privacy hoặc offline cao. Ví dụ: wearable không màn hình, smart home command, app action trên điện thoại, robot nhỏ, hoặc local extraction trước khi gửi phần khó lên cloud.
Dev không nên dùng nó như chatbot tổng quát. Checklist production nên gồm:
- Giới hạn tool schema càng hẹp càng tốt.
- Đặt confidence threshold và log các case dưới ngưỡng.
- Confirm trước action có rủi ro như khóa cửa, mua hàng, xóa dữ liệu hoặc thay đổi cấu hình.
- Có fallback cloud hoặc hỏi lại người dùng khi input mơ hồ.
- Test bằng câu nói đời thật, không chỉ benchmark sạch.
Điểm đáng học từ Needle 2 là co-design giữa model, quantization, grammar và engine. Khi bài toán đủ hẹp, một model nhỏ có thể là sản phẩm tốt hơn một model lớn: nhanh hơn, riêng tư hơn, rẻ hơn và dễ nhúng hơn. Nhưng chính vì nhỏ, nó càng cần ranh giới hành động rõ ràng.