@yoheinakajima: glance-vlm speedlab 现已开源!阅读:https://glance.yohei.me/speed/ 尝试:https://github.com/yoheinakajima/glan…
摘要
本文介绍了一项开源研究,通过基准测试和原生批处理、MLX量化等技术优化本地视觉语言模型的延迟,在Apple硬件上实现显著加速的同时保持决策准确性。
查看缓存全文
缓存时间: 2026/09/24 12:26
Glance Speedlab 现已开源!
阅读:https://glance.yohei.me/speed/ 尝试:https://github.com/yoheinakajima/glance-speedlab…
可将任何网络摄像头转换为多种实时 AI 检测器(情绪、计数、物体),本地运行
⚡ 在 Apple M5 上实测录制,单问题循环性能: PyTorch/MPS FP16:约 210 ms p50 MLX 8-bit:约 160 ms p50
🧪 九题受控测试,全新帧基准测试: 358.5 → 259.6 ms p50 延迟降低 27.6% 84/84 决策完全匹配
21 组实验、可复现基准测试、论文及失败分析
Glance Speedlab —— 本地 VLM 延迟研究
来源:https://glance.yohei.me/speed/
摘要
实时摄像头视觉语言模型系统通常以模型吞吐量描述性能,但其实用延迟是图像采集、传输、视觉编码、重复文本处理、解码与调度的综合结果。我们围绕 Glance 构建了本地优先实验室,通过 21 组预先登记的实验分解各项成本。
原生多问题批处理实现 2.405 倍加速。更小的 2B 模型比 4B 参考模型快 2.994 倍,但未通过质量约束。最终采用的 8-bit MLX 直接评分器将全新帧 p50 从 358.5 降至 259.6 毫秒(1.381 倍),84/84 固定测试套件决策完全匹配,最大概率漂移仅 0.039。
核心结论具有方法论意义:应优化实际执行的模型计算量,而非配置标签或代理指标。多项看似有吸引力的改动虽降低了标称 token 数或精度,却未能带来端到端的性能提升。
1. 系统与方法
Glance 通过直接读取约束答案 token 的概率来回答关于图像帧的类型化问题,不生成自然语言文本。实时系统将此评分器与摄像头采集、调度器及同源本地网关集成。
摄像头 → 裁剪/缩放 → 本地网关 → 视觉编码器
→ 共享前缀问题批处理 → 答案 token 概率
→ 调度器/时序策略 → 浏览器遥测数据
每项实验在实施前均明确假设、核心指标、质量约束、硬件配置、版本及终止规则。被采纳的加速方案需通过配对测量验证,并在声明容差范围内保持决策一致性。固定测试套件包含 9 项陈述,基于可复用测试图像;公开成果中不包含原始帧和模型权重。
**测试环境。**Apple M5,32GB 统一内存。参考基准:通过 Glance 运行的 Qwen3-VL-2B-Instruct(PyTorch MPS FP16)。候选方案:通过 MLX 运行的 Qwen3-VL-2B-Instruct(8-bit)。
2. 实验结果
| 干预措施 | 测量结果 | 决策 |
|---|---|---|
| 原生多问题请求 | 加速 2.405 倍;配对测试决策完全匹配 | 采纳 |
| 8-bit MLX 直接评分 | 358.5 → 259.6 ms p50;84/84 决策匹配;最大漂移 0.039 | 实验性采用 |
| 2B 替代 4B 模型 | 加速 2.994 倍;83.3% 一致性 | 仅限快速场景 |
| 4-bit MLX 直接评分 | 速度保持;最大概率漂移达 0.361 | 否决 |
| 固定形状后缀编译 | p50 仅提升 0.6% | 低于显著性阈值 |
| 均匀视觉 token 缩减 | 最高加速 15.6%;一项决策改变,漂移达 0.411 | 否决 |
| 未训练早期解码器退出 | 加速 6–22%;未有测试深度同时通过两项约束 | 否决 |
| 浏览器负载处理 | Base64 与 JSON 开销在 320px 分辨率下最多 0.1ms p95 | 降低优先级 |
MLX 方案并非仅因延迟而被采纳。在配对运行中保留了所有固定测试套件决策,重复性测试加速比达 1.334 倍,最终通过显式后端标志集成至 Glance。PyTorch 仍作为兼容性默认方案。
原生批处理是最显著的架构改进:共享视觉前缀与多问题请求避免了重复初始化。相比之下,浏览器序列化虽可测量,但不足以解释用户可感知的延迟。
3. 失败案例分析
- 质量不达标:4-bit 量化——保持速度但概率偏移过大,无法作为可靠评分器
- 无显著收益:编译优化——固定形状后缀编译仅使 p50 提升 0.6%
- 质量不达标:均匀 token 缩减——降低视觉分辨率会同时移除有用证据与计算负载
- 质量不达标:原始早期退出——浅层解码器状态更快,但未经训练校准为决策头
- 错误瓶颈:传输微优化——在测试帧尺寸下,模型计算主导了浏览器到本地回环路径
保留这些结果至关重要。它们缩小了搜索空间,并揭示了反复出现的失败模式:更廉价的表示形式未必带来更低成本或等效计算。
4. 结果解读
成功方案减少了硬件实际执行的工作量:共享前缀批处理消除了重复模型传递,而 MLX 方案将原生 Apple 运行时与经验证的 8-bit 权重及直接答案 token 评分相结合。被否决方案大多优化了代理指标——声明精度、token 数或计算图形式——而未能同时确保实际延迟与决策稳定性。
证据指向条件计算而非单一全局化小型模型:
廉价时序门控
↓ 变化显著时
快速 2B/MLX 评分器
↓ 不确定或细粒度内容
完整参考路径
该级联机制仍属假设。合成时序门控将触发次数降低 95.1%,但需真实摄像头标注序列才能支撑公开能效声明。
5. 局限性
- 主要测量数据来自单台配备 32GB 统一内存的 Apple M5 设备
- 固定测试套件刻意保持精简,仅测量决策保持率而非广泛语义能力
- 未表征热状态、其他 Apple 芯片及低内存设备表现
- 时序结果基于合成数据;未完成真实摄像头质量与时效性研究
- 本为工作技术报告及开源成果,非同行评审研究
6. 后续假设
- 训练中间决策头可在保持完整深度裕度的同时,回收原始截断暴露的 11–22% 计算量
- 通过学习型或任务条件视觉 token 选择,可在不均匀缩放质量损失的情况下回收测量到的前缀优化空间
- 模型定制融合 8-bit Metal 内核可超越通用即时执行,优化已验证的 MLX 路径
- 校准的 2B→4B 级联方案可在保留大部分 2B 速度优势的同时,对不确定或细粒度帧进行升级处理
- 任务感知时序复用可在真实摄像头流上降低有效计算量,同时控制时效性衰减
7. 可复现性与可用性
稳定的类型化问题协议、直接概率读取、共享前缀批处理及可选 MLX 后端均已集成至 Glance。Speedlab 包含实时 A/B 测试界面、客户端遥测、基准测试脚本、失败变体及完整研究记录。
Yohei (@yoheinakajima): 三项检测同时运行延迟低于 0.5 秒!
表情识别
物体检测
手指计数
通过 glance 切换至 qwen 8B 模型,直接在 MLX 上运行
相似文章
@yoheinakajima:在4B开放VLM上进行Jev式logit读取,实测:http://glance.yohei.me 与同一模型写入JSON相比:时间减少约1/3 …
Yohei Nakajima 提出一种方法,通过使用logits从冻结的开放视觉语言模型中读取类型化的视觉判断,达到与托管模型相似的准确性,同时减少时间和GPU成本。
@eisokant: 激动地宣布今天与@eigenlabs共同推出http://MLX.fast。这是一个开放的自动研究竞赛,旨在使Laguna XS 2.1在…
Eigen Labs 发起了一项名为 MLX.fast 的开放自动研究竞赛,旨在优化 Laguna XS 2.1 模型在消费级 Mac 上的推理速度,通过社区贡献使其尽可能快。
@LinQ444: jev 与 laya 的对比 https://github.com/mizorewww/laya-mlx…
Laya-MLX是一个开源工具,用于在Apple Silicon上本地运行类型化决策AI模型,具有低延迟,提供无需云API的原生推理。它包括基准测试,显示在M3 Max等设备上的快速性能。
@jun_song: MLX 的新引擎正处于开发的最后阶段。刚刚在一台 MacBook(116GB)上运行 GLM-5.2,达到 41.8…
Jun Song 宣布 MLX 新引擎进入最终开发阶段,在 MacBook 上以 256k 上下文窗口达到 41.8 tok/s,仅有约 4% 质量损失,代表着显著的性能提升。
@modal: 我们与 @lmsysorg 和 http://z-lab.ai 合作,将 DFlash 规范集成到 @sgl_project,并通过重叠加速……
Modal 与 LMSys 和 Z Lab 合作,将 DFlash 推测解码集成到 SGLang,在大型语言模型上实现了相比基准最高 4.3 倍的吞吐量提升,比原生多 token 预测提升 1.5 倍。