螺壳实验室 Luoke Labs (@luokelabs) header
螺壳实验室 Luoke Labs (@luokelabs) profile picture

做只在你自己 Mac 上运行的 AI 工具。模型、记忆和你的数据都留在本机。前身 BotDrop 🦞→🐚 Local AI that lives on your own Mac.

Tokyo
Joined October 2022
Photo by 螺壳实验室 Luoke Labs (@luokelabs)Photo by 螺壳实验室 Luoke Labs (@luokelabs)Photo by 螺壳实验室 Luoke Labs (@luokelabs)Photo by 螺壳实验室 Luoke Labs (@luokelabs)Photo by 螺壳实验室 Luoke Labs (@luokelabs)Photo by 螺壳实验室 Luoke Labs (@luokelabs)Photo by 螺壳实验室 Luoke Labs (@luokelabs)Photo by 螺壳实验室 Luoke Labs (@luokelabs)
昨天介绍了螺壳输入法,打的字都留在自己电脑上。今天想聊聊邮件。 想让 AI 帮你理邮件,又不想把信交出去?我们自己就是这样。邮箱里有工作往来、账单、验证码,还有亲友发来的消息。想让 AI 帮忙看看,就得先把这些信传到别人的服务器上,心里总有点别扭。 所以我们在螺壳底座上做了一个邮件助手。信只在你自己的设备上处理,用的是本机模型,内容不传给云端。螺壳的应用都共用同一套引擎和模型,装过输入法的,不用再下载一遍。 你不用电脑的时候,比如晚上睡觉,它在后台一封封慢慢看。第二天打开邮箱,要回的信排在最前面,每封旁边一句话说清是什么事、为什么要回,有截止日期的也标出来了。 冒充银行要验证码的信,它会先标成可疑。我们拿 45 封测试信试过,13 封钓鱼信认出 12 封,正常的 32 封没有误报。 回信它会先写好放进草稿箱,发不发由你。删信、退订也都等你点一下,当天处理过的都能撤回。 Gmail、QQ、163/126 和其他 IMAP 邮箱都能接,16GB 内存的 Mac 也能跑。 想一起测试当小白鼠的,留言告诉我们 Mac 型号和内存,一起看看本地模型能够折腾点啥。
聊天、写文档、搜东西,还有那些打了又删、最后没发出去的话,输入法是唯一全都见过的那个。 这些字,其实是一个人最重要的积累。就像写作文,写得越多,越知道自己想说什么、习惯怎么说。 可现在,这些字一条条发出去就散了。大部分输入法开着云联想的时候,还要先送到服务器上算一遍候选。字是你打的,积累却没留在你这里。 螺壳一直在探索,本地模型怎样能更好地帮我们工作和生活。输入法是我们找到的答案之一:你写下的字离你的想法最近,也最不该离开你的电脑。 所以我们做了螺壳输入法,只属于你的 AI 输入法:你写下的字,留在你自己的 Mac 上。 它稍微有点不太一样的地方: 1. 语义选词。打「大家看了方案,没有异议就这么定」,按下空格,出来的是「没有意义就这么定」。螺壳里一个 0.8B 的本机模型会读你前面写的内容,把「异议」排到第一位。断网也照样能用。 2. 小地方替你写对。GitHub 这类名字的大小写直接替你写对;打开设置后,中英文之间自动空一格。 3. 记什么,你说了算。密码框里的字一个都不记;它可以学习你的表述方式,你随时能看、能删。 4. 双拼全拼都行,还能自定义。小鹤双拼、全拼随时换;引擎是个独立的小程序,用什么语言都能写。 同一套 600 句,苹果自带输入法首选准确率 78.8%,螺壳输入法 89.8%。 整个过程不调用云端。语音输入也很快会加上。 螺壳的本地工具俱乐部现在还很早期,特别需要大家的反馈。 想参加内测的,留言告诉我们你的 Mac 型号和内存,我们拉你进螺壳社区交流群,有问题直接在群里提,一起把本地 AI 做得更好用。
1
2
362
国行 Apple 智能定档了,11 月 4 日开放测试,12 月随 iOS 27.3 正式上线,iPhone 15 Pro 和 iPhone 16 以后的机型都能用。 有个细节:这次其实是两套 AI 在干活: 📱 实时翻译、照片消除、写作工具里的改写校对和摘要,这些大部分直接在手机本机上处理,用的是苹果自己的模型。 🤳 Siri 里的部分问题、让写作工具写一段、拍张照片或者丢个 PDF 问它,这些会交给阿里的千问。 如果要用千问的话,需要先登录千问账号,或者通过 Apple 账号完成登录。 所以日常的基础活,走的还是苹果自己那套,相对复杂的任务会交给千问。也算是端云结合了。 apple.com.cn/newsroom/2026/1…
1
137
直接把一台红白机塞进了 AI 模型文件里,而且还真的能跑超级马里奥!👻 牛逼的地方在于,这是在模型里嵌入的红白机 6502 CPU,游戏代码就在模型里一条条执行,相当于在模型里装了一台小电脑玩游戏。 1 到 6 秒才出一帧,慢是慢,但脑洞太大了。
2
1
1
124
NVIDIA 新开源了一个降噪模型 NemotronLabs RE-USE,仅 960 万参数,模型文件只有几十 MB。 打电话时背景吵、有回声,开车时风噪大,会场里人声混在一起,这些都会影响语音识别的效果。RE-USE 没有识别功能,只负责把声音处理干净。官方数据是带噪音频直接识别,准确率 81.3%,先过一遍 RE-USE 再识别是 89.2%,提升还是不小的。 针对一个场景打磨的小模型越来越多了,还是得去解决实际问题。
Sound on 🔊 Listen to the difference. Our new open multilingual NemotronLabs RE-USE model from NVIDIA researchers cleans up background noise, echo and other audio distortions to make speech clearer. All with just 9.6M parameters. Try the demo and download the model on @huggingface → huggingface.co/nvidia/NVIDIA…
53
1-bit 也要 128GB 内存加 233 GB 硬盘,要本地跑门槛还是高啊
We’re releasing new DeepSeek-V4.1-Flash-1017 GGUFs, ranking highest across benchmarks. Dynamic V3.1 leads across nearly all benchmarks: GPQA Diamond, AIME25, LiveCodeBench v6, MMLU-Pro, Aider & more. Run on 64GB+ RAM. GGUF: huggingface.co/unsloth/DeepS… Blog: unsloth.ai/docs/models/deeps…
1
107
Sam Altman 说,本地 AI 浪费了稀缺的内存,这些内存放到云端能用得更高效。 单论性价比,本地部署确实比不过云端 API。但这是性价比的问题吗? 先说数据。对很多开发者和团队来说,代码、文档、客户资料不可能毫无保留地交给大模型公司,变成别人的训练数据。就算对方承诺不拿去训练,数据最后怎么处置,你也完全控制不了。 再说服务。国内用户跟 Claude 斗智斗勇不是一两天了,账号说封就封。工具随时能被拿来卡你、武器化,早就不用再证明了。 还有用量和质量。Claude Max 套餐的 5 倍、20 倍用量的文字游戏(不过最近的 Opus 5.5 挺耐用,这点要夸)。Codex 降智也成了家常便饭。 要是没有 DeepSeek 这一批开源模型的涌现和崛起,真不敢想现在的价格和服务会是什么样。 本地模型就像备用发电机。平时用不用是你的选择,真碰上停电,才知道能自给自足有多珍贵。
sam: local inference is a terrible allocation of scarce resources “a lot of people want local inference, and somehow they assume that the problem is solved now because we have open-source models, we're going to be able to run them on our computers, and so we're not going to need all the stuff in the data centre but from a global allocation perspective, actually it's quite terrible to have everybody, like, have a bunch of the world's limited supply of DRAM sitting in their own computer and being used five percent of the time you want maximum utilisation in the cloud if you're trying to deal with this very supply-constrained environment somehow many people's intuition is the opposite of that”
2
2
285
再补一个同方向的:macvoice,也是刚开源,在 Mac 上跑本地语音助手。 区别是 ai-phone 接的是真电话线,macvoice 不走电话,就是你对着电脑说话。中间的大模型可以随便换。 流程都差不多: - Silero VAD 判断你是不是在说话 - Smart Turn 判断你一句话是不是说完了,免得你停顿一下它就抢话 - Parakeet 0.6B(8-bit)把语音转成文字 - 中间的大模型自己选,默认是本地的 Qwen3-4B,也能换成 Ollama、LM Studio 或者 Claude Code - Phonon 31M 把回答念出来 除了中间的大模型,剩下的语音模型差不多 0.85 GB,语音这部分运行起来占 1.4 GB 左右。 作者在 M5 MacBook Pro 上配 Qwen3-4B 实测,从你说完到它开口大约 0.6~0.8 秒。 github.com/johnrobinsn/macvo…
有人开源了个 ai-phone,让 Mac 自己接打电话,全程跑本地模型,通话内容不出机器。 用到的三个模型都不大: 👂 听用 Parakeet 0.6B, 🧠 想用 Qwen3.5 4B(32GB 内存能换成 9B), 🗣️ 说用 Kokoro 82M。 电话线路走 SIP,绑个一美元左右月租的号就行。 作者实测,开口后大约 1~1.5 秒回话,对方插话它就停下来听。目前只能单线,英文为主。 挺好,AI 打电话,AI 接电话,就让他俩聊去吧~ nitter.cf/realfxw/status/2115702…
5
4
284
有人开源了个 ai-phone,让 Mac 自己接打电话,全程跑本地模型,通话内容不出机器。 用到的三个模型都不大: 👂 听用 Parakeet 0.6B, 🧠 想用 Qwen3.5 4B(32GB 内存能换成 9B), 🗣️ 说用 Kokoro 82M。 电话线路走 SIP,绑个一美元左右月租的号就行。 作者实测,开口后大约 1~1.5 秒回话,对方插话它就停下来听。目前只能单线,英文为主。 挺好,AI 打电话,AI 接电话,就让他俩聊去吧~ nitter.cf/realfxw/status/2115702…
终于有人把“本地大模型打真实电话”做出来了,而且完全开源! 以往体验市面上的各类 AI 电话助手,最让人顾虑的就是隐私安全:通话录音、转写文本、沟通对象全都会留在第三方云端。开发者刚刚开源的 ai-phone 则彻底打通了本地闭环——让你的 Mac 直接接管真实电话线路,所有推理均在本地完成,通话数据完全不出机器。 🛠️ 核心技术栈(基于 Apple Silicon & MLX): 语音识别(STT): Parakeet TDT 0.6B 本地运行,极速语音转文字 语言模型(LLM): 默认本地运行 Qwen3.5 4B(32GB 内存支持 9B 4-bit),同时也支持接入自己的 Claude 或 ChatGPT 端点 语音合成(TTS): Kokoro 82M / Phonon,生成自然流畅的声音 通信接入: 通过 SIP 协议直连 Telnyx 或 Twilio,直接购买或绑定真实电话号码(月租约 1 美元) ✨ 核心亮点: 低延迟与实时打断: 在 Apple Silicon 芯片上实测首字响应延迟约 1~1.5 秒;支持实时插话打断(Interruption),一旦你开口,AI 会立刻停下倾听。 支持外部 Agent 联动: 提供了 call、listen、say、hangup 等标准化 CLI 接口,可以直接让 Claude Code、Codex 等编码智能体通过命令编排通话,自动完成预约餐厅、电话咨询等任务。 本地守护进程: 提供向导式 CLI 配置,一行命令拉起本地守护进程,静默接听来电或随时发起外呼。 ⚠️ 当前要求与限制: 仅支持搭载 Apple Silicon 的 macOS 系统 目前为单路通话,优先支持英文环境 项目刚刚上线,对本地 AI 语音助手与 SIP 通信落地感兴趣的朋友值得关注:github.com/oxnw/ai-phone
1
346
输入法和邮件助手算是我们在本地模型应用上进行的初步尝试,不过要让本地模型真正好用、真能帮大家解决日常的问题,这条路还很长。 所以第一批想找 30 位小伙伴,跟我们一起把本地模型用起来:在 Mac 上跑什么模型、怎么跑得顺、能拿来干点啥,一块折腾。 来了可以先试试我们的本地 AI 输入法和邮件助手,哪里顺手、哪里别扭,随时在群里说。 感兴趣的私信 @luokelabs,报一下 Mac 型号和内存。
昨天介绍了螺壳输入法,打的字都留在自己电脑上。今天想聊聊邮件。 想让 AI 帮你理邮件,又不想把信交出去?我们自己就是这样。邮箱里有工作往来、账单、验证码,还有亲友发来的消息。想让 AI 帮忙看看,就得先把这些信传到别人的服务器上,心里总有点别扭。 所以我们在螺壳底座上做了一个邮件助手。信只在你自己的设备上处理,用的是本机模型,内容不传给云端。螺壳的应用都共用同一套引擎和模型,装过输入法的,不用再下载一遍。 你不用电脑的时候,比如晚上睡觉,它在后台一封封慢慢看。第二天打开邮箱,要回的信排在最前面,每封旁边一句话说清是什么事、为什么要回,有截止日期的也标出来了。 冒充银行要验证码的信,它会先标成可疑。我们拿 45 封测试信试过,13 封钓鱼信认出 12 封,正常的 32 封没有误报。 回信它会先写好放进草稿箱,发不发由你。删信、退订也都等你点一下,当天处理过的都能撤回。 Gmail、QQ、163/126 和其他 IMAP 邮箱都能接,16GB 内存的 Mac 也能跑。 想一起测试当小白鼠的,留言告诉我们 Mac 型号和内存,一起看看本地模型能够折腾点啥。
2
2
2
1,541
Qwen4 的时间点有了。今天阿里云在阿姆斯特丹的大会上,CTO 说的是「下周」(据现场的 @jtdavies)。 台上露出来四个型号:Qwen4-Max、Plus、Flash,还有一个 Qwen4-27B。 另外,Qwen Code 前两天已经把所有 qwen4 开头的型号默认按 100 万 token 上下文来算。这只是工具里的预设,具体规格还是等官方发布。 nitter.cf/jtdavies/status/211573…
Qwen4, coming soon… CTO quote was “next week” Xudong Guo - Research Scientist, Qwen, Token Foundry Live from Amsterdam
2
194
llama.cpp 刚提了一个 PR,专门给 Gemma 4 的两个小模型 E2B、E4B 提速。 简单说:这两个模型上面有好几层,是直接借用前面层存好的内容,自己不往里写东西。可现在 llama.cpp 读长输入时,这几层还是把每个 token 都算一遍,等于白干活。这个 PR 让它们读输入时只算最后一个 token。 作者在 M4 Pro 上用 Metal 跑 Google 官方的 Q4_0 量化: - E2B 读 512 token 的输入,从每秒 1614 个涨到 4603 个,快了差不多 2.9 倍 - E4B 从 806 涨到 1319 - 出字速度基本不变(E2B 约 110 tok/s);26B 没有变化,因为它每一层都要写。 在 Mac 上跑小模型,最磨人的往往是长输入「先读完、再开口」那几秒,这个改动正好落在这一段。PR 还没合并,作者说文字、图片、音频输入的输出都和原来一致。 github.com/ggml-org/llama.cp…
1
3
200
DeepSeek 开源了 DeepInfer,就是他们自己线上在用的那套推理框架。不过原帖有个地方说得不太对:「首字快 26 倍」靠的是缓存,可这次放出来的代码里恰恰没有缓存这部分。官方说这块跟内部系统绑得太紧,暂时开源不了,只在文档里讲了是怎么做的。26 倍这个数,也是 2024 年他们上线硬盘缓存时公布的。 模型在回答你之前,得先把你发的内容从头读一遍,读得越长,你等第一个字就越久。可聊天时每次都会把前面的记录重发一遍,agent 每次也都带着同一大段说明,有了缓存,下次碰到一模一样的开头,就可以直接拿来用了。 一般的做法是存在显卡内存里,但是显存空间有限,存不了多少。DeepSeek 直接存到硬盘上,用的是自家的分布式存储,光 SSD 就有大约 100 PiB。聊天记录留 7 天,agent 的留 3 天。DeepSeek 的模型架构本身就让要存的东西小了很多,所以才存得起。 效果立竿见影。2025 年 2 月有一天的统计,输入里有 56% 都是直接从缓存拿的。要知道现在官方 API 上,Flash 命中缓存比不命中便宜 50 倍(命中 ¥0.02 VS 不命中 ¥1),Pro 便宜 30 倍(命中 ¥0.15 VS 不命中 ¥4.5)。 代价也不小,每张 GPU 背后大约要配 14TB 的硬盘。而且命中有个前提:从第一个字开始必须完全一样。比较的是整段输入的开头,而不是你最后问的那句话。同一段说明后面跟不同的问题,说明那部分照样能命中;可要是有人在最前面加了个当前时间,问题哪怕是一样的,从那里往后也对不上。 这次开源能直接拿来跑的,主要是推理本身,门槛也不低,官方建议的最小规模是 128 张卡。想要「算一次、反复用」,还得自己照着文档补上,或者接 LMCache、Mooncake 这类现成的方案。 开源地址:github.com/deepseek-ai/DeepI…
DeepSeek did it again! They just open-sourced DeepInfer, the inference stack behind cache hits that return the first token up to 26x faster. When a request repeats a long prefix, like a system prompt or earlier chat turns, the server can reuse the KV cache it already computed instead of running prefill again. Ideally, you'd expect that cache to sit in GPU memory, since disk is supposed to be far too slow for anything on the request path. In practice, DeepSeek keeps it on SSDs. When DeepSeek launched this, a 128K-token prompt that hit the cache got its first token in 500ms instead of 13s. And in one day of production traffic last year, 56% of all input tokens were served straight from disk. So disk isn't the bottleneck here as long as what you store is small enough, and the storage is wide enough. Let's understand how this works. 1) Why reuse the KV cache at all: Before generating anything, an LLM reads the whole prompt and computes a key and a value for every token in every layer. This is prefill, and on long prompts it's the slow part. Many requests start the same way. For instance, a chat resends every earlier turn or an agent resends the same system prompt and tool definitions on every call. If those KV are saved, the next request with the same prefix loads them and only computes the new tokens. 2) Why GPU memory is predominantly used: Every token stores KV in every layer, so on a standard model a long prompt's KV cache runs into many GBs. Reading that much from disk can take longer than recomputing it on the GPU. So engines keep it in GPU memory. But GPU memory is small, so old prefixes get evicted fast and many repeats miss. 3) DeepSeek made the KV cache small: DeepSeek-V2 introduced Multi-head Latent Attention (MLA). Instead of storing separate KV for every attention head, MLA stores one small compressed vector per token per layer, and the keys and values are rebuilt from it during attention. In the V2 paper, this cut the KV cache by 93.3% compared to DeepSeek's earlier 67B model. And MLA shrank the KV cache enough to store it on low-cost disks. Fewer bytes per cached token implied fewer bytes to read on every hit, and it made loading from SSD faster than recomputing. 4) 3FS reads it from many SSDs at once: One SSD would still be too slow, so the cache lives on 3FS, DeepSeek's own distributed file system. 3FS splits files into chunks and spreads them across thousands of SSDs on many storage nodes. A read pulls chunks from many drives in parallel, so their bandwidth adds up. When a request arrives, the system matches its prefix against cached blocks, fetches those blocks from 3FS into host memory, and copies them to the GPU layer by layer while the model is already running. And since every prefill machine can reach every cached prefix, a request doesn't have to go back to the machine that served it last. Disk is also cheap, so the cache can stay for days. As per the DeepInfer docs, cached prefixes are retained for 3 days for agent traffic and 7 days for chat. Disk caching works when the KV cache is small, and the storage is wide. DeepSeek got the first from its attention design and the second from 3FS. This is also evident from the price. On deepseek-flash today, a cache hit costs 50x less than a miss. If you use the API, keep the stable parts of your prompt (system prompt, tools, documents) at the front, since only an exact match from the very first token counts as a hit. The visual below depicts what we discussed. That said, prefix caching is only one of the caches in LLM serving. I covered all four in an article recently, with code for each. Read it below.
1
147
同一个模型,写 JSON 比写散文快 3 倍多。这个我们昨天在 M4 上也撞见了,形状几乎一模一样。 @swarogan 在 Mac mini M6 上跑 Qwen3.6-35B-A3B:英文散文 69.6 tok/s,Python 135.9,JSON 抽取 234.1。他的解释是投机解码:小模型先猜后面几个字,大模型一次验收,猜中了就白赚。 我们的 Mac mini M4 24GB,Qwen3.5 9B 挂上 DFlash:写 Python 47.2 tok/s,照着样子续写一段很重复的代码最高到 89.8;写中文散文反而只有 16.3,比不开还慢一点。小模型猜代码,58% 被收下;猜中文只有 13%,猜错的都得重算。 机器差了两代,模型也不一样,规律是一样的:后面要写的东西越好猜,就越快。JSON 里一大半是括号、引号和固定的字段名,几乎是送分题。 所以分拣、抽取、打标签这类事,干脆让模型吐 JSON,程序好解析,开了投机解码还能快好几倍;陪你聊天、写中文长文,就别指望它提速了。 nitter.cf/swarogan/status/211555…
Local Qwen generates 234 tok/s in JSON format. In plain text, only 70 The same local AI model: 70 tok/s in prose and 234 tok/s when generating JSON. More than 3 times faster. Without changing hardware. In Qwen3.6-35B-A3B-Splash tests on Mac mini M6: - EN Prose: 69.6 tok/s - Python Code: 135.9 tok/s - JSON Extraction: 234.1 tok/s Why? Speculative decoding works better when subsequent tokens are easier to predict. Repetitive JSON and code structures can provide much greater speedup than ordinary conversation. nitter.cf/swarogan/status/210392…
1
1
153
Mac Studio M5 Ultra 512GB 开卖了,那到底是买 1 台 512GB,还是 2 台 256GB 用雷电连起来? - 1 台 512GB:几百 GB 的大模型能整个塞进一块内存,生成时不用跨机器传数据,开箱就能跑,稳~ - 2 台 256GB:读长文本、同时跑几个模型、服务多个请求都会更快。但模型要是大到得拆成两半放在两台机器上,每生成一个字都要走一趟雷电线,还得自己折腾集群。 如果要跑单个几百 GB 的巨型模型,选 1 台 512GB;平时跑 70B 到 120B,偶尔才合体跑一次超大的,感觉 2 台 256GB 更划算。 512GB HK$ 170,999 VS 2*256G HK$ 169,498 这价格真的劝退,我选择……再看看 😂 nitter.cf/ivanfioravanti/status/…
Apple M5 Ultra 512GB is live on Apple store! 27K EURO!!! with 4TB SSD in Italy 👀 Availability 23rd November!
1
1
2
1,350
Unsloth 刚把「本地模型自己操作浏览器」做进了桌面版:打开 Browser use,模型就能自己点链接、操作页面、截图看内容。官方演示里,Qwen3.8-27B 在没人插手的情况下下了棋、画了画。 权限设计做得挺细: - 提交表单、登录、发送、购买、删除这类操作,默认先弹窗等你点允许 - 密码和支付信息只能你自己填,模型碰不到 - 模型只在 Unsloth 自带的浏览器标签页里干活,管不到你的 Chrome 和其他标签页 - 读浏览记录可以设成每次先问,或者干脆不给
Your local LLM can now take control of a browser and complete tasks autonomously via Unsloth! Qwen3.8-27B successfully controlled the browser to complete tasks like chess, painting, with no human intervention. GitHub: github.com/unslothai/unsloth Guide: unsloth.ai/docs/basics/brows…
1
4
248
2.7 倍是真的,但很挑内容。我们在 Mac mini M4 24GB 上测了同一个 Qwen3.5 9B(Q4_K_M),Magnitude 挂上 DFlash 后:写 Python 代码从 17.4 涨到 47.2 tok/s;写一段中文散文反而从 17.8 掉到 16.3。 DFlash 的做法是让一个小模型先猜后面几个字,大模型一次核对,猜对的直接收下。写代码时套路多,小模型猜中了 58%。写散文我们给的题目是「秋天第一场雨落在旧书店的屋檐上」,每句话都有好多种写法,小模型只猜中 13%,猜错的那部分白算了,所以还慢了一点。 最夸张的是续写一段 2k token 左右、结构重复的代码,最快跑到 89.8 tok/s。不过 6 次里有 2 次小模型几乎没出手,速度和不开一样,原因我们还没查明白。 不开投机解码的时候,同一个模型文件在 Magnitude、llama.cpp、Ollama 上生成速度差不多,都在 15 到 18 tok/s。差别在第一个字出来的速度:短输入分别是 0.33、0.39、0.66 秒,输入 2k token 时是 8.9、10.8、10.7 秒。 Magnitude 官方说它主要改了三处:装模型时先在你的芯片上花一分钟左右,把几种计算拆法都试一遍,留下最快、结果又不变的那种;每个模型都配好了先猜字的小模型;KV 缓存做了压缩,多个对话可以共用相同的开头。为什么读输入也更快,官方没细讲。 我们在做本地输入法,最在意的就是第一个字多快出来,这一项 Magnitude 在 M4 上确实快一截。 测试条件:温度 0,每次生成 200 token,每组先热身一次,再跑三次取中位数。 — The 2.7x is real, but it depends a lot on what you ask for. On a Mac mini M4 24GB with the same Qwen3.5 9B (Q4_K_M), Magnitude with its DFlash drafter went from 17.4 to 47.2 tok/s writing Python, and from 17.8 down to 16.3 tok/s writing a short Chinese prose piece. DFlash has a small model guess the next few tokens and the big model checks them in one pass. Code is predictable, so 58% of the guesses were accepted. For the prose prompt ("the first autumn rain falling on the eaves of an old bookshop"), only 13% were, and the wrong guesses were wasted work. The best case was continuing ~2k tokens of repetitive code: up to 89.8 tok/s. But in 2 of 6 runs the drafter barely kicked in and speed stayed at the no-drafter level. We haven't figured out why yet. Without speculative decoding, the same model file generated at roughly the same speed on Magnitude, llama.cpp and Ollama, 15 to 18 tok/s. The gap was time to first token: 0.33 / 0.39 / 0.66 s on a short prompt, and 8.9 / 10.8 / 10.7 s on a ~2k-token prompt. Per Magnitude's docs, three things are different: when you install a model it spends about a minute on your chip trying different ways to split the math and keeps the fastest one that gives the same output; every model comes with a drafter; and the KV cache is compressed, with shared prefixes reused across conversations. The docs don't say exactly why prompt processing is faster. We're building a local input method, so time to first token is what we care about most, and on the M4 Magnitude was clearly quicker there. Setup: temperature 0, 200 output tokens, one warmup and three runs per case, medians reported.
Big win for local LLM inference! This open-source engine generates tokens 2.7x faster than Ollama on a MacBook: I tested it on a base M5 MacBook Pro with Qwen3.5 4B at 4-bit and the same 9.2k-token prompt. Ollama ran its MTP build, so both had speculative decoding. - Prefill: Ollama 464 tok/s, Magnitude 755 tok/s (1.6x) - Decode: Ollama 22.6 tok/s, Magnitude 60.0 tok/s (2.7x) - End to end, Magnitude finished in half the time The video below shows both runs side by side. The Ollama numbers don’t mean it’s badly built. Its kernels were simply tuned in advance. A kernel is the small GPU program behind every matrix multiply and attention step. Its speed depends on choices like how work is split across GPU cores and how data moves through memory. The best choices change with every chip. Apple Silicon alone spans 8 to 80 GPU cores and under 70 to over 800 GB/s of bandwidth, and every model has its own layer sizes. A prebuilt engine has to pick one set of settings for all of them, so most local setups run on a compromise. Magnitude replaces that compromise with tuning on your machine: ↳ When you download a model, it compiles that model’s kernels locally. ↳ It tries different kernel configurations and keeps whichever runs fastest on your chip. ↳ It pairs each model with the fastest speculative decoding drafter it has found, so each pass of the model produces more than one token. GitHub repo: github.com/magnitudedev/magn… (don’t forget to star it 🌟) This matters most for agents. Every file and tool output has to be processed before the model writes anything, and that prefill step is where kernel efficiency shows up. Concurrent sessions also share prefix caches, so parallel agents don’t slow each other down. Magnitude is an open-source (Apache 2.0) inference engine written in Rust. It plugs into Claude Code, Codex, OpenCode, Pi and other agents with one click. I shared the GitHub repo above.
1
2
306
千人千面,网站喊了很多年,其实一直没想清楚该怎么做。服务商并不真知道你喜欢什么,只能从你点过、买过的东西去猜;就算猜得准,给每个人单独算一份页面,算力也不划算。 前两天 Opera 在浏览器里放了个本地模型,叫 WebAI,网页可以直接调用你电脑上的模型。我们试着试着就想到,反过来做是不是就通了:网站只管给数据,要怎么处理怎么展示交给你电脑上的模型。 这个本地模型要是有你本地的数据和记忆,很多事会顺很多。 订机票时,你习惯坐哪家、要靠窗还是过道、早班起不起得来,它都记得,打开订票网站就按你的习惯选好,不用每次从头设置。 它看得到你的日历,知道你周四下午有会,就不会把中午的航班放在最前面;活动页面上,它告诉你哪几场跟你的时间对得上,也最适合你;长文里,它先挑出跟你最近在忙的事有关的几段。 这些偏好和日程都留在你的电脑上,网站不需要知道,算力也都是你自己的机器。 Opera 自己的示例里已经有类似的:告诉它你手头在做什么项目,它读文章时把相关段落标出来。 当然,目前还只是设想阶段。Opera 现在默认带的是 Google 的 Gemma 4 E2B,一个 4GB 出头的小模型。我们在 M4 上用下来,速度是够的,中文一秒能出七十来个字,就是每次重启浏览器,第一句得等一会儿。简单的事它做得挺好,稍微复杂一点就容易跑偏。 感觉要是这条路走得通,你电脑里的模型和它记住的东西,会比现在重要得多。 Opera 的官方介绍:blogs.opera.com/news/2026/10… 想自己试的话,装好 Opera、在设置里打开 WebAI,再打开这个页面:next.opera.com/web-ai
2
149
官方说 d1-2B 一题只要 18.6 毫秒,我们拿 M4 Mac mini(24GB)跑了一下,差得有点多 😂 就拿官方自己那道例题,M4 也要 68 毫秒,慢了将近 4 倍。换成我们自己的题,选项说明写得长一点,就要 0.2 秒左右;一次让它看 7 段资料(1400 tokens 左右),要 1.8 秒。 官方用的是 M5 Pro,按它公布的数字算,算力差不多是 M4 的 7 倍。芯片差一截,想跑出官方那种速度确实挺吃力的。 nitter.cf/liquidai/status/211512…
Replying to @liquidai
𝚍𝟷-𝟸𝙱 and 𝚍𝟷-𝙾𝚖𝚗𝚒-𝟸𝙱 are decision models that turn documents, images and audio into structured answers your applications can act on. 𝚍𝟷-𝟸𝙱 accepts text and images. 𝚍𝟷-𝙾𝚖𝚗𝚒-𝟸𝙱 adds audio. Both answer multiple questions about the same input in a single forward pass, with calibrated probabilities. New typed outputs extend their capabilities beyond yes/no answers, choices and scores: > Locate objects with bounding boxes, or find and count every match. > Extract text, numbers, and dates with their source spans, returning “not found” when a field is absent. > Estimate numerical values with a likely range. > Select every applicable option, each with its own probability. Route support requests, extract invoice fields or inspect camera frames locally, without a round trip to the cloud. On our index covering 117 public and private benchmarks, d1-2B scores 63.2 versus 58.8 for d1-3B, with a third fewer parameters. > 𝚍𝟷-𝟸𝙱 model card: huggingface.co/LiquidAI/d1-2… > 𝚍𝟷-𝙾𝚖𝚗𝚒-𝟸𝙱 model card: huggingface.co/LiquidAI/d1-O… 8/
93