既然买不到高配,我就在国产办公本上跑 AI 模型。这话说出来自己都觉得有点悲壮,但这就是 2024 年的现实。英伟达的卡?想都别想。别说 4090,连 3060 都成了理财产品。看着那些动辄几万块的 AI 工作站,再看看手里这台公司配的、搭载国产芯片的办公本,一个念头冒出来:凭什么普通人玩 AI 的门槛要被硬件卡死?
这念头不是凭空来的。去年被 ChatGPT 干懵之后,我花了半年时间恶补大模型,从 Transformer 原理啃到 LoRA 微调。但所有教程、所有开源项目,默认的运行环境都是 CUDA,都是英伟达。好像离开了那个绿色 logo,AI 世界就不转了。这感觉太熟悉了,就像 2016 年做爬虫,所有教程都默认你懂反爬、懂代理池,没人告诉你第一步该怎么在 Windows 上配 Python 环境。历史就是个循环,只不过焦虑的对象从“流量”变成了“算力”。
我手里这台本子,芯片是国产的 ARM 架构,集成显卡,内存 16G。官方宣传能流畅办公,但跑 AI?连 PyTorch 官方都不提供预编译的 ARM 版本。第一步,编译环境就卡了我三天。各种依赖缺失,GCC 版本冲突,编译到 80% 报错是常态。那三天我几乎住在终端里,咖啡因摄入量创了疫情以来的新高。最后靠着一个开源社区里 2021 年的帖子,手动打了几个补丁,才把 PyTorch 给编过去了。那一刻没有喜悦,只有一种荒诞感:2024 年了,我们还在用修修补补的方式接触最前沿的技术。
环境搭好只是万里长征第一步。跑个最简单的 7B 参数模型,内存直接爆掉,风扇啸叫得像要起飞。这就是现实:模型太大,硬件太弱。怎么办?剪枝。这不是什么新概念,但在 ARM 平台上做,每一步都是坑。传统的结构化剪枝工具链对 CUDA 优化到了极致,换到 ARM 上,很多底层算子根本不支持,或者效率奇低。
我试了各种剪枝策略。一开始用最粗暴的幅度剪枝,按权重绝对值大小砍掉最小的那部分。效果很差,模型精度掉得没法看,比用脚写的规则还烂。然后试了基于梯度的敏感度分析,这需要大量前向传播来计算每个参数的重要性。在笔记本上跑,慢得让人绝望,一个 epoch 要跑两个小时,电风扇一直在最高档位嘶吼,我怀疑它随时会散架。
最后找到一条相对可行的路:组合拳。先用一个在云端(租了按小时计费的 GPU 实例)跑出来的敏感度分析结果,生成一个初步的剪枝掩码。然后把这个掩码和模型一起下载到本地,在 ARM 平台上做微调恢复。微调的时候,不能用全量数据,那太慢。我用的是自己写的一个数据筛选脚本,只挑那些模型之前容易预测错的样本,相当于给模型做“定向康复训练”。这个过程里,n8n 派上了大用场,我把数据预处理、模型检查点保存、精度验证这几个步骤串成了一个自动化工作流,不然手动操作一遍就得半小时,根本试不起。
剪枝率是个艺术。贪心,想一次砍掉 70% 的参数,模型直接变成傻子。保守,只剪 20%,内存压力依然很大。来回试了十几次,在 40%-50% 这个区间找到了平衡点。最终得到的模型,体积是原来的 55%,在办公本上推理速度能达到每秒 5-7 个 token。虽然慢,但能跑起来,能回答问题,能处理我扔给它的本地文档。风扇的声音也从持续的啸叫变成了间歇性的嗡嗡声,算是取得了阶段性胜利。
做这件事,商业价值几乎为零。没有一个客户会为“在国产办公本上跑剪枝模型”这个需求买单。但它对我意义重大。它验证了一个想法:技术壁垒很多时候是人为制造的惯性。当所有人都涌向一条看似唯一的高速公路时,旁边那些泥泞的小路未必就走不通。AI 不应该只是大厂和极客的玩具,它应该能在最普通的设备上,解决最普通的问题。这可能就是我这个老产品经理,在 2024 年,能为自己找到的、为数不多的“布道”方式了——不是空谈理念,而是用最硬的代码,在最不可能的设备上,啃下一块骨头。
下一步?我想试试能不能把这个过程产品化,做成一个极简的 GUI 工具。让那些不懂命令行、不会配环境的小白用户,也能一键完成模型的轻量化,跑在自己的老电脑上。这很难,但 2016 年我死磕微信小程序的时候,也觉得很难。焦虑从未消失,它只是换了一副面孔,再次站到了我面前。














