既然换了 M4 芯片,我就把 Rembg Pro 全面迁回了纯端侧运行

指尖划过凉得发指的金属机身,这温度让我想起十年前给服务器机房加风扇的夏天。M4芯片,苹果这次把牙膏管踩爆了,神经引擎算力翻倍不是吹的,本地跑个7B参数的模型,推理速度已经能压到毫秒级。这意味着什么?意味着我那个抠抠搜搜优化了三年的Rembg Pro,终于可以彻底扔掉云服务器,回到它该在的地方——用户的硬盘里。

2019年做第一版的时候,我还在用Flask搭个破服务端,用户上传一张图,我得吭哧吭哧传到AWS S3,再调用一个抠图API,中间网络稍微抖一下,用户就得对着转圈圈骂娘。那时候满脑子都是“云原生”、“微服务”,觉得把东西放自己服务器上才叫可控,才叫专业。结果呢?光是为了应付突发的流量峰值和防止API被滥用,就养了半个运维团队,成本像雪球一样滚起来,利润全喂给云厂商了。最讽刺的是,核心的U2-Net模型还是开源的,我只不过做了个包装和交互界面,就敢收年费。

2023年GPT-4出来那阵子,我恐慌到失眠。觉得自己那套技术栈全是垃圾,爬虫、自动化、小程序,在通用人工智能面前跟手工作坊没区别。但恐慌到极致反而清醒了:AI的终局不是所有人都去训大模型,而是让模型变得足够小、足够快,能塞进任何设备。隐私会成为数字时代最后的奢侈品,尤其是2026年,数据泄露丑闻只会更多,不会更少。用户开始意识到,把自己的照片、文档上传到一个不知名的服务器,跟裸奔没区别。

所以从M3芯片开始,我就在测试端侧部署的可能性。难点从来不是模型本身,而是工程化的坑。怎么在有限的内存里做模型量化?怎么处理不同尺寸的图片输入而不爆显存?iOS和macOS的Core ML框架文档写得跟天书一样,Metal Performance Shaders的调试能让人把头发薅光。最崩溃的一次,在M3 Max上跑得好好的,换到基础款M3上直接闪退,查了三天发现是神经引擎的缓存策略不同,一行代码没改,性能差出五倍。

这次M4的升级是质变。我重新设计了整个预处理管线。图片进来,不走传统的解码再resize那套重型流程了,直接用Vision框架里的VNGenerateObjectnessBasedSaliencyImage请求,结合Metal做实时缩放和归一化,数据从图像缓冲区直接进神经引擎,全程零拷贝。模型也从原来的U2-Net换成了我自己用PyTorch重训的轻量版本,只有2700万参数,用Apple的coremltools量化成16位浮点,模型文件从180MB压到了47MB。关键是把背景复杂的边缘处理逻辑,从模型里抽出来,用传统的图像腐蚀膨胀和梯度检测在CPU上补了一刀,效果肉眼几乎看不出差别,但推理时间少了40%。

现在打包好的Rembg Pro,就是一个不到80MB的独立App。用户打开,拖入图片,秒出结果。没有网络请求,没有隐私协议弹窗,没有订阅扣费提醒。所有计算都在这块冰凉的金属里完成。我甚至做了个极端测试:断网,开飞行模式,把系统时间调到2099年,它照样工作。

这感觉,有点像回到了2016年。那时候我写个Python脚本给自己用,解决问题的那种纯粹感。绕了一大圈,从迷恋云端,到被管理拖垮,再被AI吓破胆,最后发现最好的解决方案,竟然是让一切在本地发生。技术来来去去,从SEO到区块链再到元宇宙,但用户对“即时响应”和“绝对控制”的需求,从来没变过。M4芯片不是终点,它只是一个信号:属于个人设备的大模型时代,这次真的摁下启动键了。而我这种老家伙,能做的就是把一个十年前就存在的需求,用最新的刀,雕刻到极致。

© 版权声明
THE END
喜欢就支持一下吧
点赞33 分享