最近总听到"端侧AI"这个词,但真要细究才发现,这根本不是把云端模型换个地方跑那么简单。手机端要算175B参数的GPT-3?做梦呢!现实是——要么砍掉参数,要么换架构,要么憋大招。
先说手机。苹果的ML Kit 和谷歌的TensorFlow Lite 早就证明,轻量化才是王道。比如MobileBERT,原版有1.1亿参数,压缩到移动端后只剩200万,推理速度提升10倍。但这里有个经典矛盾:模型越小,能力越弱。某大厂工程师吐槽过,他们训练了一个200MB的对话模型,结果用户反馈"回复像字典查单词"。所以现在的折中方案是动态加载——基础模型常驻内存,遇到复杂查询再联网调用。华为的盘古大模型就玩这个,本地处理90%的常见问题,剩下10%走云端。
PC端反而更热闹。英伟达的CUDA Toolkit 让FP16精度计算成为可能,RTX 40系显卡能跑LLaMA-70B(需量化)。但别以为GPU就能解决一切——去年实测发现,在M2芯片上跑Vicuna-7B比老款MacBook Pro快3倍,关键原因是Apple Silicon的神经引擎专为矩阵乘法优化。有意思的是,Windows阵营押注了DirectML,微软甚至开源了ONNX Runtime的移动端版本。不过这里有个硬伤:即使量化到4bit,7B参数的模型在骁龙8 Gen2上仍需要2GB内存,普通手机根本扛不住。
技术路线之争很微妙。谷歌坚持用蒸馏(TinyBERT),微软押注稀疏化(如Switch Transformer),而国内厂商偏爱知识蒸馏+量化二合一。个人认为,混合部署才是未来——本地运行轻量模型做实时响应(比如输入法联想),后台用边缘节点处理复杂任务(比如视频分析)。小米的端侧大模型实践就很有意思,他们把视觉模块和语言模型分开部署,摄像头捕捉画面后,先用手机本地的视觉模型识别物体,再把特征向量传给语言模型生成描述。
说到痛点,端侧AI最大的敌人还是功耗。高通工程师曾透露,跑一个7B模型的推理过程会吃掉手机20%的电量。解决方案有两个:一是硬件加速,比如联发科的天玑芯片新增了NPU专用指令集;二是算法优化,Facebook的FlashAttention把注意力机制的显存占用降低了75%。但最硬核的还得靠芯片设计——苹果A17 Pro的神经网络引擎峰值算力达35TOPS,理论上能让13B模型勉强跑起来。
最后吐槽一句:很多厂商宣传"全参数本地化部署"纯属耍流氓。除非你用的是折叠屏旗舰机,否则就别指望跑完整版的ChatGPT了。真正的端侧AI,应该像瑞士军刀——够用、省电、随时可用,而不是把云端玩具强行塞进口袋。