这东西单手就能握住。我想知道它能否运行严肃的AI模型,而不是玩具级别的。好吧,一个270亿参数的模型。现在的这类模型真的做得很好了,你知道的,那种通常需要搭配大型GPU才能运行的模型。我们会做到这一点,但首先我们只用这个设备试试。猜猜怎么着?它能跑起来。但这并不是令人惊讶的部分。我今年在CES上第一次见到它。

这是Kadas Mind Pro,它是目前我见过的最小的Core Ultra X7 358H机器。英特尔的Panther Lake架构。这个小家伙拥有64GB内存,当然还集成了ARC B390显卡(即iGPU或集成显卡)。这很酷,因为它可以搭配一个专用底座使用。这个底座完美契合设备上的一个小接口。这是一个专有连接器,而且这不仅仅是一个扩展坞,它的内部实际上还包含一块独立显卡。通过这种超高速连接,它们之间的通信速度相当快。

你还可以买到一个较小的底座,它也能通过磁吸完美固定在那里,并提供其他连接接口。所有这些设备都能运行你的模型——当然底座本身不能跑模型,但这台主机可以。我打算用它来测试Quen 3.8的27B版本,这是一个非常流行且强大的模型。在Q4KM量化下,它的权重约为18GB。这是一种4位模型,由每个数字16位的原始精度降低而来。“K”代表它采用了较新的量化方案,将模型敏感部分保持较高精度;“M”则指代中等保护级别。

但我的问题不是它能不能跑,当然能。只要你足够耐心,什么都能跑起来。关键在于我能让它有多快。因为一个在代码方面表现良好的模型,如果打字速度只有每秒4个token(词元),你很快就会放弃它并回到云端API。所以在给这台设备加装任何硬件之前,我想先看看仅凭这个小小的盒子它能做到什么程度。英特尔提供了三种与同一集成显卡交互的方式:Vulkan、Sycl和Open VINO,当然还有传统的CPU。

我测量了这四种情况。我们将关注两个数字:一个是预填充阶段(Prefill phase),即阅读;另一个是解码阶段(Decode phase),也就是写作,即token生成阶段。在CPU上处理提示词的速度约为每秒17个token,而使用Open VINO时跃升至每秒446个token。差距高达27倍。而在生成方面,CPU的速度略低于每秒5个token(具体为4.9),Vulkan是5.0,Sycl是5.7,Open VINO则是2.6。这就是全部范围了。别担心,我们稍后会从这台“柠檬”设备中榨出更多性能。

这里的瓶颈在于内存。容量就像油箱的大小,而带宽则是管道的宽度,决定了数据被读取出来的速度。对于它生成的每一个token,都需要将18GB的权重全部流经芯片一次,也就是每个字都要读取一遍。在集成显卡上,GPU和CPU共享同一池系统内存。因此,GPU只是坐在那里等待内存数据。顺便提一下,我是这样知道带宽的:模型大小(17.66)乘以token速率(5.42),结果约为每秒100GB。这不是官方宣传的数据,而是这台机器实际测量的真实带宽。

没有任何后端能自动神奇地解决这个问题。唯一的出路是停止每次生成一个词的做法,这被称为推测解码(Speculative Decoding)。我之前做过关于这个的视频。基本上,这需要一个小而快的模型——我们称之为草稿模型(Draft Model)。它实际上就是这么叫的。它会提前猜测多个token,然后大模型在一次传递中检查所有这些猜测。无论是一次检查一个token还是五个token,单次传递的成本是一样的。因此,每一个被接受的猜测基本上都是免费的。

例如在Hugging Face上你能找到的某些Quen量化版本,通常会随模型附带这个草稿模型。它只多出大约1.5GB的权重,这基本上可以忽略不计。如果你还没这样做,你应该开始使用它了。在集成显卡(iGPU)上,速度从每秒约5个token提升到了11个。这翻了一倍多而且是免费的。但如果你注意到,这张图表的形状很有趣。我调整了草稿深度(Draft Depth),也就是说允许它提前猜测多少个token。

这里有个小剧透,为了未来做准备,我也在内部搭载的RTX 5060 Ti上进行了测试。这两款设备的峰值都出现在Nmax为3的时候。这意味着即使其中一个设备比另一个快五倍,它们都在提前猜测三个token时达到性能顶峰。我想你知道哪个是哪个,我们稍后会回到这一点。因为超过某个点后,你就要为那些最终被丢弃的猜测付出代价了。推得更远会让情况变得相当糟糕。

我做过一次早期测试,将Nmax设为8。结果每秒只有3.5个token左右。是的,比不使用推测解码还要慢。所以要注意这个参数设置。顺便说一句,Llama CPP的默认值已经是Nmax 3了。所以如果你启用了草稿模型,就不要调整深度参数。别自作聪明,我自以为很聪明,结果并不好。现在你有了两个技巧,但仍然受限于共享内存带宽的限制。我们需要一块拥有自己显存的GPU。

我不指望一个AI提示词就能帮我构建整个项目。实际上,我根据任务在不同模型之间不断切换:GPT用于研究,Claude用于编码,Gemini用于处理海量上下文,Nano Banana、Midjourney和Flux用于图像生成,还有Seed Dance和 Kling(可灵)用于视频制作。这就是为什么Abacus AI的ChatLM很有意义。它在第一时间集成了对最新GPT、Claude(注:原文Claw应为笔误,指代Anthropic的模型)、Gemini、Grok、DeepSeek等模型的Day One支持。

你可以从界面中选择任何模型,或者让Route LLM自动为每个提示词选择最佳模型。它可以创建包含图表和深度研究的详细内容的专业演示文稿。需要听起来像人类的文案吗?Humanize功能可以重写文本以规避AI检测器。需要视觉素材吗?可以选择前沿或开源模型。当你不仅需要聊天时,Abacus AI Agent还可以帮助构建复杂的应用程序和网站、连接支付系统,或运行全天候工作的Agent来处理更长的任务。

最棒的部分是应用托管、后端数据库和技术支持都包含在订阅中。所有这些每月仅需10美元起,比单独支付所有那些服务的费用要便宜得多。访问chatlm.abacus.ai或点击下方的链接查看。这就是这个底座派上用场的地方了。“砰”,通过磁吸固定在那里。看,这里有16GB的VRAM(显存),这就是RTX 5060 Ti。这块内存是独立属于显卡的。

显卡是独占的,没人能干扰它。但当我加载模型大约两秒后,我撞上了一个相当尴尬的事实:像个傻瓜一样,我差点忘了这个模型有17.6GB。注意到了吗?问题在于它超出了显存容量1.7GB。不过,这还不是结局。这个模型并不是一个巨大的整体块,它实际上由大约62层堆叠而成。这些层并不一定要全部存放在同一个地方。我的Stable Llama CPP有一个标志位可以实现这一点,叫做NGL(Number of GPU Layers),即GPU层数。有多少层会被复制到显存中?

我进行了一次扫描测试:零层时,速度为每秒4.54个token;增加到48层时,提升至几乎11;到了56层,接近每秒14个token。正如你所预期的那样,速度平滑上升,直到达到60层时情况突变:骤降至每秒仅0.82个token。这意味着生成一个词需要1.5秒,你可以起身去煮杯咖啡、吃块蛋糕再回来,它可能还在打字。从56层到60层仅增加四层,速度却慢了17倍,且没有任何预警或渐变坡度。

这是因为驱动程序现在必须在生成每个词时反复将这几层数据拖入和移出显存。当时我还没意识到插入了过大的模型,所以我跑了三次测试才发现问题所在。以前我总是使用NGL 99标志来尽可能多地卸载到GPU,这是大多数教程中复制粘贴命令时常用的设置,意味着使用所有层。但这会覆盖Llama CPP内置的自动适配功能。如果去掉该标志让程序自动处理,速度可达每秒10.48个token;而手动调优至56层时,速度可达每秒14个。

仅这一个标志位就能让不兼容的模型性能下降16倍。虽然自动模式并不糟糕,但调优能获得更好的表现。然而,这两种方法都只是针对超出1.7GB容量模型的权宜之计。那么,如果我把模型变小呢?我将量化等级从Q4KM(18GB)降低到IQ4 XS(13GB),虽然都是每数4位,但这是更新的配方,打包更紧密。现在整个模型可以完全容纳在16GB显存中。

这个扩展坞其实很酷,不仅内置显卡,还提供SD卡槽、USB-C、以太网口、DisplayPort、两个HDMI接口和两个USB-A,背面还有一个USB-C。言归正传,提示词处理(或称读取)速度从每秒47.4个token提升至943,Token生成(TG)从14跃升至27。两者都大致翻倍。仅仅下载一个新的量化版本,同样的模型,带来的提升远超过之前的分层扫描测试。

我知道你们要在评论区说什么:“Alex,你只是让它变笨了。”这确实是个合理的观点。在我的视频中,我一直强调量化程度越高、精度越低,质量就越差。我曾做过从全精度到Q2和Q1的完整扫描测试,并指出“感觉还行”并不是一个令人信服的答案。因此,我需要使用工具进行测试:困惑度(Perplexity),即惊讶指数。

我们将模型从未见过的文本交给它,询问它对每个词的“惊讶”程度。数值越小越好。在使用WikiText和Plain English Pros测试困惑度后,两个模型的得分都约为6.8。事实上,较小的模型表现甚至略好一点点(尽管这基本只是噪声或舍入误差),但在纸面上看起来更好。这意味着模型小了4.5GB,速度快了近两倍,且在我能测量的范围内没有质量损失。

“适配”优于速度。但必须明确的是,这项测试涵盖的范围有限。这两个文件来自不同的量化器,所以我实际比较的只是这两个特定文件,而非IQ4与Q4的一般性对比。此外,我测量的困惑度仅针对英文提示词的下一个词预测,它无法检测代码、算术或长逻辑链中的损坏。这限制了风险,但并未消除风险。请自行测试你的工作负载:工具要适合特定的任务。

不同的代码库和语言与不同模型的交互方式各不相同。现在模型已适配,GPU拥有所需的一切且速度很快。还有一件事我曾未加质疑:这个扩展坞及其专有连接的高带宽PCIe接口。它是PCIe,但不是5.0版本,实际接入时是4.0版。这依然相当不错,官方称之为Kadas Mind Link,规格为PCIe 4.0 x8,带宽约为每秒15.8GB。

这是该产品的核心卖点,也是你购买它而非通用扩展坞(如带有Oculink和USB 4且需单独购买显卡的盒子)的原因。例如,那个盒子里装的是RTX 5060 Ti显卡并连接在一起。不仅更整洁,而且更快吗?我确实想回答这个问题:生成文本实际上需要多少连接带宽?加载模型时移动的是大量数据,17GB在3秒内完成。

但一旦权重已驻留在显存中(图表中标记为“resident”),生成文本的峰值带宽仅为每秒19MB,平均仅2MB。这大约是该链路能力的万分之一。你必须将连接速度降低约8000倍,它才会成为瓶颈。即使Thunderbolt(雷电接口)纸面速度比这慢5倍,也远非8000倍之差。我曾花大量时间痴迷于这15.8GB的带宽,而我测量的数据仅需2MB。

我一直在向你抛出数字并要求你信任它们。因此,我欠你一个解释:我曾几次发现数据是错误的。这只是YouTuber测试过程中的常态,我正在努力改进。我揭露这一点是因为你可能会陷入同样的误区,而我不希望你重蹈覆辙。起初在测量时,有一个不可见的进程干扰了结果。当我终止基准测试时,Llama Bench仍然……

内存占用约为 18.5 GB。机器可用内存中超过四分之一就这样无声无息地消失了。当然,之后的每一次读数都只有预期值的一半不到,而且输出中没有任何解释原因的内容。所以我基本上浪费了一整天的测试时间。因此,如果你要在自己的代码中进行此类操作,请确保重启或故意终止进程。此外,当第二块 GPU 出现时,OpenVINO 静默地切换到了 CPU 运行。这导致了我三十倍的误差,因为出于某种原因,环境变量要求使用 GPU.0 中的零。真是令人抓狂。但我最终还是搞定了这些问题。然而,最终机器还是死机了。

我花了一段时间才意识到原因所在。你看,这台设备内部还内置了一个不间断电源(UPS),也就是一个电池。当你运行它并连接电源时,你并不知道它是靠电池供电的,也不知道使用了多少电量或功率。这其实是个好事,因为如果你不小心拔掉了电源线,机器不会丢失任何数据,它会继续运行并提供几分钟的运行时间,这非常棒。

然而,如果你插入的电源线功率低于机器的实际利用率……我当时对这台机器进行了极限压榨,并连接了一根 30 瓦的充电线。这导致电池缓慢耗尽直至机器死机。我当时心想:“什么?发生什么事了?”于是,当我换上一根 100 瓦的线缆后,机器重新开机并恢复正常。如果前面有两个小灯能显示当前是使用电池还是电源就好了,这样人们就能清楚地知道状态。

接着是我尝试过的奥萨特(Austar)扩展坞,我也本想获取相关数据,但它在将模型移入显卡显存(VRAM)时两次都崩溃了。显示驱动程序停止响应,Windows 直接放弃了。我知道你们会在评论中提到这一点:我也应该在这台机器上测试 Linux,但我有点担心支持该链接的特殊驱动程序。所以我还没做这件事,但也许以后会尝试。如果你有兴趣看到这方面的内容,请在评论中告诉我。

虽然我想对比专有扩展坞链接与雷电(Thunderbolt)扩展坞的速度,以证明两者差异不大——如果在玩游戏的话可能会有区别,但对于大语言模型(LLM)来说可能没什么不同。好吧,以下是我在一张图表上列出的所有配置尝试结果,从最慢到最快排列。有几个点非常突出:仅使用 CPU 时每秒不到五个 token;集成 GPU 为 5.5。如果添加草稿模型,使用独立显卡时每秒可达 14 个 token;而完全驻留在机器内部时,我们得到的是 27。

如果在上述基础上再添加一个草稿模型,速度最高可达每秒 44 个 token。范围巨大,同一台机器、同一个模型和预填充(prefill)条件下快了九倍。而预填充不在图表中,其表现更为惊人:从每秒 17 个 token 到超过 900,快了 56 倍。还记得我在开头说的吗?运行模型本身并不令人惊讶;让模型适配是免费的,开启草稿模型也是免费的。删除教程中的标志并自行调整参数同样是免费的。但购买 GPU 就不是免费的了。

这个扩展坞并不随机器附带,你需要单独购买。我相信它售价约为 1000 美元,如果好奇的话我会在下方链接优惠信息。但由于我在外部扩展坞上遇到的失败经历,实际上如果你购买这台机器,我建议你直接获取卡达斯(Kadas)的原厂扩展坞。所以如果你打算自己动手做,在购买任何东西之前先检查你的模型是否能适配。

列表中的最大收益在于它只需要下载,不花一分钱。另外,不要只是粘贴 NGL99(注:可能指某种配置或参数)。还有,只有当你独自使用这台机器时才开启草稿模型。因为如果同时有超过两个人在使用,请将其关闭。因为在多人使用时,模型的猜测会与真实用户的请求竞争相同的计算资源,而真实用户会胜出。

简而言之:购买显存(VRAM),而不是带宽。我确实用外部 GPU 进行了成功的实验。如果你想看看那会发生什么,请观看下一个视频。感谢收看,我们下次再见。