开发者生态
morning
Show HN:Needle:我们将 Gemini 工具调用提炼成 26M 模型
2026-05-12
1 阅读
HenryNdubuaku
Needle 我们将 Gemini 3.1 提炼成 26m 参数“简单注意力网络”,您甚至可以在 Mac/PC 上进行本地微调。在生产中,Needle 在 Cactus 上以 6000 toks/sec 预填充和 1200 解码速度运行。权重以及数据集生成在 Cactus-Compute/needle 上完全开放。 d=512, 8H/4KV, BPE=8192 ┌──────────┐ │ 工具调用 │ └──────┬────────┘ ┌┴──────────┐ │ Softmax │ └─────┬─────┘ ┌─────┴─────┐ │ 线性(T)│ ← 并列 └──────┬──────┘ ┌──────┴──────┐ │ ZCRMSNorm │ └──────┬──────┘ ┌────────┴────────┐ │ 解码器 x 8 │ │┌────────────┐│ │ │ ZCRMSNorm ├────────────┤│ ┌──────────────┐ │ ZCRMSNorm │ │ 编码器 x 12 │────────────────────▶交叉Attn │ │ │ │ │ 门控残差││ │ ┌──────────┐ │ │└──────────────┘│ │ │ZCRMSNorm │ │ └────────┬──────┘ │ │自我注意 │ │ ┌──────┴─────┐ │ │ GQA+RoPE │ │ │ 嵌入│ ← 共享 │ │门控资源 │ │ └──────┬──────┘ │ │ │ │ ┌──────┴────────-┐ │ │ (无 FFN) │ │ │[EOS]│ │ └──────────┘ │ │ + 答案 │ │ │ └────────────────-┘ └──────┬────────┘ │ ┌────┴──────┐ │ 嵌入 │ └────┬──────┘ │ ┌────┴──────┐ │ 文本 │ │ 查询 │ └──────────┘ 预训练16 TPU v6e 用于 200B 令牌(27 小时)。对单次函数调用数据集的 2B 标记进行后训练(45 分钟)。 Needle 是 Simple Attention Networks 的一项实验,旨在为消费设备(手机、手表、眼镜……)重新定义微型人工智能。因此,虽然它在个人 AI 的单次函数调用方面击败了 FunctionGemma-270m、Qwen-0.6B、Graninte-350m、LFM2.5-350m,但这些模型具有更大的范围/容量,并且在对话设置中表现出色。此外,小模型可能会很挑剔。请使用下一节中的 UI 来测试您自己的工具,并通过单击按钮进行相应的微调。快速入门 gitclone https://github.com/cactus-compute/needle.git cdneedle&&source./setupneedleplayground 在 http://127.0.0.1:7860 打开一个 Web UI,您可以在其中测试和微调您自己的工具。权重是自动下载的。用法 (Python) 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 = "旧金山的天气怎么样?" , tools = '[{"name":"get_weather","parameters":{"location":"string"}}]' , stream = False , ) print ( result ) # [{"name":"get_weather","arguments":{"location":"San Francisco"}}] Finetuning # Playground (通过 Gemini 生成数据、训练、评估、捆绑结果) Needle Playground # CLI (自动下载权重)如果不是本地) 针细调 data.jsonl CLI 针游乐场 通过 Web UI 进行测试和细调docs/tpu.md) @misc{ndubuaku2026needle, title={Needle}, 作者={Henry Ndubuaku, Jakub Mroz, Karen Mosoyan, Roman Shemet, Parkirat Sandhu, Satyajit Kumar, Noah Cylich, Justin H. Lee},year={2026}, url={https://github.com/cactus-compute/needle} }