Needle: Model 26 Triệu Tham Số Chạy Được Trên Điện Thoại, Vẫn Gọi Tool Nhanh Hơn GPT-4
Tại Sao Bạn Nên Quan Tâm Đến Một Model 26M Tham Số?
Trong thế giới AI hiện tại, ai cũng chạy đua số tham số — GPT-4 hàng trăm tỷ, Gemini Ultra hàng nghìn tỷ. Nhưng trên Hacker News hôm nay, một project đang thu hút sự chú ý lớn bằng cách đi ngược hoàn toàn hướng đó.
Needle — model 26 triệu tham số (chỉ 26M, không phải 26B) — được Cactus Compute open-source. Model này chuyên làm một việc duy nhất: tool calling (gọi hàm/function calling). Và nó làm việc đó nhanh đến mức khó tin — 6000 token/giây phần prefill, 1200 token/giây phần decode trên thiết bị di động.
Để so sánh: GPT-4 chạy trên server GPU đắt tiền có throughput khoảng 30-50 tok/s. Needle chạy trên điện thoại nhanh hơn 100 lần.
Tool Calling Là Gì Và Tại Sao Nó Quan Trọng?
Mỗi khi bạn dùng AI agent — ví dụ Claude Code gọi terminal, Cursor chạy test, hay Siri đặt báo thức — đều có bước tool calling: model nhận diện người dùng muốn gọi hàm nào, trích xuất tham số, và tạo JSON output.
Ví dụ:
User: "Thời tiết ở Sài Gòn hôm nay?"
→ Model gọi: {"name": "get_weather", "arguments": {"location": "Ho Chi Minh City"}}
Đây là bước bắt buộc trong mọi agentic workflow. Không có tool calling, AI chỉ là chatbot biết nói — không thể thao tác với thế giới thực.
Phát Hiện Quan Trọng: Tool Calling Không Cần FFN
Đây là insight lớn nhất của team Cactus Compute, và cũng là lý do bài này được viết.
Trong transformer thông thường, khoảng 2/3 tham số nằm ở FFN (Feed-Forward Network). FFN có vai trò "ghi nhớ" kiến thức — giống như bộ nhớ của model. Nhưng tool calling không cần ghi nhớ. Nó cần:
- Align — khớp query với tên tool phù hợp
- Extract — trích xuất giá trị tham số từ input
- Assemble — tạo JSON output
Cả ba bước này đều là retrieval-and-assembly — lấy thông tin từ input và ghép lại. Đây chính xác là thứ mà cross-attention làm tốt, không cần FFN.
Team Cactus đã thiết kế architecture gọi là Simple Attention Networks — toàn bộ model chỉ có attention và gating, không có MLP nào. Encoder 12 lớp (bidirectional) xử lý tool definitions, decoder 8 lớp (causal) sinh output. Dimension 512, 8 heads, vocab 8192.
Kết quả: model chỉ 26M tham số nhưng đánh bại các model lớn hơn nhiều trên single-shot function calling:
- FunctionGemma-270M (270M tham số)
- Qwen-0.6B (600M tham số)
- Granite-350M (350M tham số)
- LFM2.5-350M (350M tham số)
Tất nhiên, các model lớn hơn vẫn giỏi hơn trong hội thoại phức tạp và reasoning. Nhưng với tool calling đơn lẻ — use case phổ biến nhất trong production — Needle đủ tốt.
Cách Needle Được Train
Quy trình training cực kỳ đơn giản:
Bước 1 — Pretrain: 200B tokens trên 16 TPU v6e, mất 27 giờ. Model học ngôn ngữ và cấu trúc cơ bản.
Bước 2 — Post-train: 2B tokens dữ liệu function calling do Gemini tổng hợp, chỉ mất 45 phút. Model học cách gọi tool.
Điều đáng chú ý: dữ liệu tool calling được tạo bằng Gemini (knowledge distillation). Họ dùng Gemini 3.1 Flash Lite làm "teacher" để sinh dữ liệu training, rồi distill vào model nhỏ. Chi phí training tổng cộng rất thấp so với các LLM lớn.
Dataset bao gồm 15 loại tool: timers, messaging, navigation, smart home, và nhiều hơn nữa. Đây là những use case thực tế cho thiết bị di động.
Tại Sao Edge AI Tool Calling Là Xu Hướng Lớn?
1. Latency — Yếu Tố Quyết Định Trải Nghiệm
Khi bạn dùng Siri hay Google Assistant, độ trễ 500ms-2s đã đủ khó chịu. Với model chạy local trên điện thoại, latency gần như bằng 0 cho phần inference. Không round-trip qua server, không queue, không rate limit.
2. Privacy — Dữ Liệu Không Rời Khỏi Thiết Bị
Mỗi lần bạn nói "gọi cho vợ" hay "đặt lịch hẹn", dữ liệu đó phải gửi lên cloud. Với model on-device, tất cả nằm trên điện thoại. Đây là lợi thế cạnh tranh lớn cho doanh nghiệp và y tế.
3. Offline — AI Không Cần Internet
Đi máy bay, vùng sâu vùng xa, hay đơn giản là mất WiFi — model on-device vẫn hoạt động. Tool calling local có thể xử lý alarm, calculator, unit conversion, file management mà không cần kết nối.
4. Chi Phí — Không Tốn API Fee
Mỗi lần gọi GPT-4 API tốn tiền. Với model chạy local, bạn gọi bao nhiêu lần cũng được. Đặc biệt quan trọng cho developer build app có hàng triệu user.
Ứng Dụng Thực Tế Cho Developer
Voice Assistant Trên Điện Thoại
Thay vì gửi audio lên cloud → transcribe → process → respond (3-4 round trips), giờ bạn có thể chạy toàn bộ pipeline local. Needle xử lý tool calling, model speech-to-text chạy local, kết quả gần như realtime.
IoT và Wearables
Đồng hồ thông minh, tai nghe, kính AR — tất cả đều có chip đủ mạnh để chạy model 26M. Thử tưởng tượng: "Hey, đặt hẹn 3 giờ chiều" → model gọi calendar API ngay trên đồng hồ, không cần phone.
App Development
Developer tích hợp Needle vào app mobile thay vì gọi API bên thứ ba. Giảm latency, giảm chi phí, tăng privacy. Với MIT license và weights trên HuggingFace, bạn có thể fine-tune cho use case cụ thể.
from needle import SimpleAttentionNetwork, load_checkpoint, generate, get_tokenizer
params, config = load_checkpoint("checkpoints/needle.pkl")
model = SimpleAttentionNetwork(config)
tokenizer = get_tokenizer()
result = generate(
model, params, tokenizer,
query="What's the weather in San Francisco?",
tools='[{"name":"get_weather","parameters":{"location":"string"}}]',
stream=False,
)
print(result)
# [{"name":"get_weather","arguments":{"location":"San Francisco"}}]
Fine-Tune Cho Use Case Riêng
Một điểm mạnh khác: bạn có thể fine-tune Needle trên Mac/PC cá nhân chỉ với vài lệnh:
git clone https://github.com/cactus-compute/needle.git
cd needle && source ./setup
needle playground
Playground mở web UI tại http://127.0.0.1:7860 — bạn định nghĩa tools, tạo data, train, evaluate, tất cả trong một giao diện. Không cần GPU cluster, không cần cloud.
Caveats — Những Điều Cần Lưu Ý
Bài này không muốn trở thành bài PR cho Cactus Compute. Có vài điểm cần thẳng thắn:
Thứ nhất, Needle chỉ giỏi single-shot function calling. Nếu bạn cần multi-turn conversation, reasoning phức tạp, hay handling edge cases — các model lớn vẫn vượt trội.
Thứ hai, "nhỏ hơn = tốt hơn" không phải lúc nào cũng đúng. Model nhỏ có thể khó chiều — nhạy cảm với input format, dễ fail với edge cases mà model lớn xử lý dễ dàng.
Thứ ba, 6000 tok/s là con số ấn tượng nhưng trên thiết bị cụ thể (chưa rõ benchmark trên phone thực tế thế nào). Real-world performance có thể khác.
Thứ tư, kiến trúc "no FFN" vẫn là experimental. Paper chi tiết chưa publish, nên chưa có peer review.
Kết Luận: Small Model, Big Implications
Needle không phải là model sẽ thay thế GPT-4 hay Claude. Nhưng nó đại diện cho một xu hướng quan trọng: AI không nhất thiết phải lớn để hữu ích.
Khi tool calling — thành phần cốt lõi của mọi AI agent — có thể chạy trên thiết bị 26M tham số, cánh cửa cho edge AI agent rộng mở hơn bao giờ hết. Điện thoại, đồng hồ, kính, tai nghe — tất cả đều có thể trở thành AI agent.
Câu hỏi cho developer: bạn đã sẵn sàng build app chạy AI local thay vì phụ thuộc vào cloud API?
Tham khảo: