Transcript
00:00:00这就是 Cactus。它是一款低延迟推理引擎,旨在将移动和边缘设备
00:00:06视为“一等公民”。通常当我们尝试在边缘设备上运行 AI 模型时,它们
00:00:12会让人觉得很笨重、耗电,而且极易被移动操作系统的
00:00:18内存管理器强制杀掉。但 Cactus 正试图解决这个问题,因为它是专门
00:00:23针对神经网络处理单元(NPU)的限制和有限的 RAM 而构建的。所以今天我们将
00:00:28来了解 Cactus,看看它是如何工作的,并在边缘设备上进行测试以看其性能如何。
00:00:34那我们这就深入探讨一下。本地 AI 的最大瓶颈其实不是算力,而是
00:00:44内存开销。在标准的移动设备上,操作系统对于
00:00:50杀掉 RAM 使用率激增的应用是非常激进的。但 Cactus 通过使用零拷贝
00:00:57内存映射解决了这个问题。Cactus 不是采用传统的方法将所有内容加载到 RAM 中,而是
00:01:02直接从存储中映射模型权重。这是一个零拷贝系统,它只在需要时
00:01:08将特定的张量拉入活跃的计算周期。这样你就能获得大模型的
00:01:13推理能力,而不用冒着被操作系统关闭应用的风险。为了实现
00:01:19这一点,他们甚至放弃了传统的 GGUF 格式,并拥有自己
00:01:24专属的 .CACT 格式,从而让这种映射在边缘设备上能够高效运行。不过
00:01:31真正的重活是在 NPU(即神经网络处理单元)中完成的。虽然大多数本地
00:01:37引擎默认使用 GPU,但 Cactus 的构建理念是 NPU 优先。如果你关注过
00:01:43来自苹果、高通或联发科的现代芯片,它们都拥有专门用于神经网络的
00:01:50专用硬件。Cactus 直接与这些单元进行通信,绕过了通常会降低
00:01:55推理速度的传统转换层。而且他们实际上已经对特定模型进行了优化,以
00:02:00充分利用这些矩阵乘法单元。如果你前往 Cactus 的仪表盘,
00:02:07就会看到一个可供下载的 NPU 优化模型列表。Cactus 拥有的另一个酷炫功能
00:02:12是混合路由器。因为现实情况是,在边缘设备上,本地模型无论
00:02:18经过怎样的优化,最终都会触及推理能力的上限。而这就是混合路由器
00:02:23派上用场的地方。Cactus 不需要让你在快速但有限的本地模型与
00:02:29智能但昂贵的云端模型,Cactus 可以两者兼顾并灵活切换。它采用
00:02:35一种基于置信度的路由系统。如果你问它一个简单的问题,它会留在
00:02:40NPU 上运行,因为它速度快、保护隐私且不花任何成本。但如果本地模型察觉到
00:02:45该任务过于复杂或需要极大的上下文窗口,它就会自动将这个
00:02:51特定请求移交给云端的前沿大模型。你的代码完全不需要修改,
00:02:57引擎只会在后台管理这种故障转移。所以这是一种可以在情况变复杂时,
00:03:03既能保持低成本又不会牺牲用户体验的生产就绪型方案。现在,虽然这一切
00:03:08听起来很酷,但我还是想亲自测试一下。所以,在他们的落地页上,
00:03:13有这样一个演示,展示了如何在边缘设备上以大约 100 毫秒的延迟
00:03:19进行实时语音转文字。于是我凭感觉顺手写(vibe code)了一个小巧的 Swift 应用,使用了他们的
00:03:25Swift Cactus 包,它支持在本地使用他们的 parakeet
00:03:30语音模型运行实时转写,并在云端运行 Gemini 模型。那我们来试试看。正如你
00:03:36所见,在本地进行实时流式传输时,我们的平均延迟大约为 260 毫秒。请注意,
00:03:44我是在一款较旧的 iPhone 机型——iPhone 12 Pro 上运行的。所以对于像这样一款
00:03:50老机型来说,我认为这种边缘端的性能已经相当不错了。如果我们切换到云端,
00:03:55Cactus 会切换到 Gemini 2.5 Flash 作为云端替代方案。由于某些原因,
00:04:01他们的云端并没有提供相同的 parakeet 模型,所以我被迫使用了 Gemini。我们可以
00:04:06在这里看到,对于一个 3 秒的批量转写,其平均时间大约为 2000 毫秒。
00:04:12我想这也是预料之中的,因为需要往返数据服务器。但
00:04:17在现实中,大部分时间你最终还是会使用边缘端的转写,
00:04:23而云端选项对于其他任务非常有用,比如繁重的图像分析或其他
00:04:27更繁重的任务。以上就是这款 Cactus 引擎的
00:04:33简要概况。我认为他们在这里做了一些非常有趣的事情。我很喜欢他们
00:04:37利用定制的 NPU 友好型架构来进行边缘端优化的思路。而且我很喜欢
00:04:43他们为各种多模态任务提供了如此多的 SDK 和模型这一事实。
00:04:50我真的很想知道他们的产品会如何演进。所以我肯定会密切关注他们的
00:04:54最新进展。但大家对 Cactus 有什么看法呢?你们尝试过吗?请在
00:04:59下方的评论区让我们知道。各位,如果你喜欢这种类型的拆解分析,请
00:05:03通过狂按视频下方的点赞按钮来让我知道。还有,别忘了订阅
00:05:08我们的频道。我是来自 Better Stack 的 Andris,我们下期
00:05:13视频再见。
Community Posts
No posts yet. Be the first to write about this video!
Write about this video