Wintel做不好AI PC

Wintel做不好AI PC


只有一个理由可以让我从iPhone手机换到三星:折叠屏。

也只有一个理由可以让我时隔十几年后重新将windows笔记本作为一个日常选项:双屏。

华硕最新的Zenbook Duo:两块14寸120Hz高刷3K触摸屏幕;1.65kg;长续航;用了Intel最新的Core Ultra 9,是号称的AI PC。

过去一周,我尝试将各项工作都迁移到这个新平台上,优点是显而易见的:

1、轻薄,这当然是macbook一直以来的优点,但是在windows系统上,满血最新高配cpu可以做到这点,确实首次;

2、双屏很酷:一个屏幕看文档,一个屏幕编辑或者写代码,生产力提升的基础是更大的信息吞吐量,双屏高效,每个人都清楚;

3、续航:虽然无法跟macbook相比,但是目测按照我的使用习惯,六七个小时还是有的,这可以应对一天在外的场景了;

4、对不起,我找不到了;

同样的,缺点也是显而易见:

1、风扇声音显著降低,但是依然清晰可闻;散热口不再像传统windows笔记本那样发烫,但是依然是过热的感觉,相比macbook长时间的冰冷手感,差距依然巨大;

2、虽然到了win11时代,windows操作系统的友好度比以前有了大幅提升,但是相比macos,差距依然很大,在微软一系列的操作之后,大家普遍预期wsl(windows内的linux子系统)将逐渐退出历史舞台,如果是这样,我有限的还会使用windows系统的理由又会少一条;

3、windows就是个垃圾桶:微软装一部分应用;笔记本厂商华硕装一部分应用;然后,芯片厂商intel再来装一部分应用;这种最不符合ai发展趋势的方式,被包装成“ai pc”,很讽刺;

4、32G内存,听起来很大,其实很小;

集中谈AI PC功能。

理想的AIPC,应该是用户不需要进行什么安装与配置,就提供了很多AI的功能,例如ai搜索、问答、语音助理、知识管理、文档生成、邮件管理、图片处理,等等。

不过,现实是,现在所谓的AI PC,都还只是一个更适合模型使用的芯片加上其他输入输出设备及外壳而已。仅仅换“芯”的笔记本不叫新物种。

当然,作为一个对于本地跑大模型有着执念的人而言,我完全接受“AI PC”的说法,只是不接受,谈到AI PC就只说windows和intel,而忘了早就领先好几代的苹果。

当然,前面说过,双屏且轻薄是我愿意尝试windows笔记本的唯一理由,但是毕竟这颗Intel Core Ultra 9芯片可是号称专为AI而生的,不在本地跑一下模型,对不起这种配置。

恰逢LLaMa-3发布,我就尝试了一下本地化部署,同时,为了更好的比较,我也在apple m2 max的macbook上进行了对比。

首先是Intel芯片的windows下的:

我严格按照了intel发出的guide一步步执行: https://intel.github.io/intel-extension-for-pytorch/llm/llama3/xpu/

将安装过程精简介绍,就是: 1、安装visual studio 2022 2、安装intel oneAPI 3、更新Intel芯片的驱动 4、配置python虚拟环境 5、安装intel的两个extension 6、试跑

整个过程,消耗了接近一个白天,但是结果还是:跑LLaMa-3-8B-Instruct失败。刨去安装过程中代码库本身错误不说,最终失败的结果应该来自于tokenizer的不兼容。

我自然还有耐心去研究安装过程中是否出现了什么问题,是我过程做错导致的偏颇结论,还是确实存在兼容性问题需要时间解决。

而对于在macbook上跑模型异常简单,苹果于去年发布了mlx代码库支持,所以,全部的过程也就是:

1、配置python虚拟环境; 2、安装两个代码库,分别是mlx和mlx-lm; 3、运行代码

from mlx_lm import load, generate
model, tokenizer = load("mlx-community/Meta-Llama-3-70B-Instruct-4bit")
response = generate(model, tokenizer, prompt="Introduce yourself", verbose=True)

包括下载模型文件的时间,30分钟不到,请注意,模型是70B的int4量化版本,文件大小如下,约40GB。

Model File Size

跑起来后,内存占用是37GB,为什么前面会说32GB内存太小了,原因就在这里。

Memory Usage

实际的结果如下:

Execution Result

当然只是试跑,还有很多优化空间。

其实,这个结果早在预料之中,我也相信这台windows笔记本很快就能顺利的跑8B参数的模型。但是现实的结果差距还是让我有点震惊的,我知道windows+intel的差,也知道macbook的好,但是这种全方位的差距,让我更加确信,windows+intel,就是所谓的wintel做不好aipc,甚至这不是微软的问题,也不是intel的问题,换成amd或者高通,可能结果也是一样的,当然,更加不是华硕的问题。

这是他们共同的问题!

1、苹果之前从来没有说过任何“AIPC”的概念,甚至几乎我看到的报告讨论“AIPC”时,都把苹果给有意无意的忽略了。可是,正如我在各种公开或者私下场合说的那样:自从苹果发布M1开始,这个硬件就是面向未来,或者说的更直接一点,AI时代的;所有开发者社区的人都懂,只是喜欢刷“短视频”学习知识的不太了解社区的现状而已;

2、如今的时代,特别是AI开始盛行后,产品重构的最重要逻辑就是作为一个系统去适配,除了模型外,最基础的硬件到操作系统,包括外观形态 and 交互,都是要更加强耦合的“all-in-one”的。甚至,英伟达和google在模型训练和推理上的方案都在告诉市场,模型与硬件及操作系统都可能是强耦合的;

3、我上面在两套系统里跑模型的对比,一方面是产品的对比,苹果的芯片是自己的,操作系统是自己的,最终产成品是自己的,它有足够的空间和优势来为了未来的场景及目标进行更好的优化,windows却是如我所说的垃圾桶,intel管硬件,微软管系统,intel还要管驱动,厂商还想加应用;

4、另一方面的差别,是大家可能忽略的,meta发布llama3时,并没有针对苹果m系列芯片的版本,但是强大的开发社区第一时间就推出了int4的量化版本。同时,在我参照的intel的安装说明里,有下述意思的表达:除非用户有强大的算力资源可以自己做量化,否则建议等待huggingface上的int4版本,那么,两天过去了,这个版本在哪里?社区的对比一目了然;

5、越来越多的公司意识到“All-in-One”的价值,所以google要把android,chrome和hardware合并,为的就是“all-in-one”。在如今已经不缺高质量模型的时代,苹果一旦开始入场,google+三星+高通的组合很可能根本无力对抗,google只能靠自己的。当然,华为已经全部依靠了自己;

依然记得,一年前讨论“AIPC”的时候,我很明确的观点都是:芯片、操作系统、产品分属三家公司,一定很难做出AI时代真正理想的形态。

Wintel做不好AI PC。

回到开题,让我不使用iPhone手机的唯一原因是折叠屏,让我将windows笔记本作为日常工作的一个选项的唯一原因,是双屏。

那么,如果每一家都有折叠屏和双屏呢?

← Back to Blog