用一个快速决策模型代替 Gemma?现在还不行
一个小型、非生成式的决策模型,能不能代替语言模型,把大白话指令转换成设置,而且速度快得多?
我们在一台搭载 Apple Silicon 的 Mac 上运行了 Laya-multilingual(MLX 版本),用的是发布版模型必须通过的同一套 Ask FireAI 指令测试集,涵盖英语、法语、德语、西班牙语、阿拉伯语、中文和俄语。我们尝试了两种不同的提问方式。我们还在它自己公开发布的示例上做了验证,以排除设置上的失误。
- 当前模型(Gemma 4,设备端)
- 37 条指令中答对 32–37 条
- Laya-multilingual,最佳提示格式
- 37 条中答对 6 条(37 条中有 10 条选对了动作类型)
- Laya-multilingual,第二种提示格式
- 37 条中答对 2 条
- Laya 单条指令的处理速度
- 中位数 24 ms,最慢 80 ms
- Laya 在自己公开示例上的表现
- 正确,置信度很高
速度快了大约一百倍,但在零样本情况下无法用于防火墙指令:它把游戏和一键断网开关搞混了,也把“关闭”和“打开”搞混了。速度是真实的,所以两个大脑的想法仍留在雷达上;下一批候选模型应该是针对某一个具体决策(这个网址是否有风险?)训练的模型,而不是通用问答模型。
在 Swift Mac 应用内部运行语言模型
一款 Mac 安全软件能不能在不向云端发送任何数据、也不拖累 Mac 的前提下,提供一个实用的语言模型?
Ask FireAI 从第一个版本开始,就通过 MLX Swift 运行一个 4-bit 的 Gemma 4 模型。我们用一套固定的指令测试集衡量了质量,并在日常使用中观察了内存和电池表现。
- 运行位置
- 在应用内部,运行于 Mac 本地;没有辅助进程,也没有开放端口
- 支持理解的语言
- 16 种,和应用本身一致
- 首次使用
- 只下载一次,且仅在用户同意后进行
- 空闲时的内存占用
- 10 分钟没有提问后即被释放
采纳。小型设备端模型在理解指令和解释决策方面已经足够好。按需加载模型、空闲时释放,和选择哪个模型同样重要:防火墙软件绝不应该是那个吃光你内存的应用。
为每个应用私密地屏蔽某一个 YouTube 频道
FireAI 能不能在 Mac 上的所有地方屏蔽某一个页面,比如某一个 YouTube 频道,而不只是在某一个浏览器里,同时又不了解这家人具体浏览了什么?
我们基于 macOS 26 带隐私信息检索的网址过滤器构建了 Blocked pages(测试版),为页面内点击添加了一个 Safari 扩展,并测试了 Safari、使用 Apple 网络的应用、Firefox、Chrome 和 Brave。
- Safari 及使用 Apple 网络的应用
- 已屏蔽,无论是直接访问还是页面内点击(扩展开启时)
- Firefox、Chrome、Brave
- 未覆盖:它们使用自己的网络代码
- 查询服务器能获知的信息
- 完全不知道被检查的是哪个网址
- 一个意外发现
- 页面网址的匹配是区分大小写的
试验性功能。在使用 Apple 网络的场景下有效,这已经覆盖了默认浏览器和大多数应用。对于其他浏览器,今天诚实的答案仍然是“仅限 Safari”这个开关,所以应用现在把两者放在一起提供,并清楚标注为测试版。
从空闲时百分之30的 CPU 占用降到个位数
FireAI 在什么都不做的时候,为什么会占用约百分之30的 CPU?一个整天运行的防火墙软件,到底真正需要重绘些什么?
我们分别在窗口置于前台和退到后台时测量了空闲 CPU 占用,然后逐一排除原因:3D 吉祥物、循环播放的动画、菜单栏的仪表指示,以及实时流量数字更新到界面的频率。
- 之前
- 空闲时约占用百分之30 CPU
- 之后,窗口在前台
- 约百分之17
- 之后,在后台
- 百分之7–11
- 3D 吉祥物本身
- 并不是原因
采纳“只播放一次动画,然后静止”的原则,并对任何永远循环的东西保持谨慎。最大的开销都来自没人会注意到的地方:一个从不停止的脉冲效果、一个被做成动画的模糊效果,以及刷新速度比任何人能读完还快的数字。还有更多可以优化的空间,性能分析仍在继续。