近日,北京邮电大学徐梦炜教授和团队面向高通的旗舰版手机芯片骁龙 8gen 系列,训练出一个小语言模型家族 PhoneLM。PhoneLM 包括 5 亿和 15 亿参数量两种规模,以及基座版本和微调后的版本。PhoneLM 在模型能力和手机侧推理效率两方面都达到了很好效果:在各种公开基准测试集中的结果显示,PhoneLM 处在同尺寸且基于开源数据集的模型中的最强梯度。同时,在未使用任何推理优化技术的前提下,PhoneLM-1.5B 在骁龙 CPU 上的解码效率达到每秒 58tokens,比其他同尺寸模型普遍快 1.2-1.6 倍。


(来源:arXiv)

此外,PhoneLM 全流程进行开源 [1],开源内容包括整个模型结构、数据集的构建、训练和微调代码等,保证所有结果都是可复现的。此外,他们还基于 PhoneLM 构建出一个纯端侧个人代理的端到端 demo,完全本地化地实现了检索增强生成(RAG,Retrieval Augmented Generation)和大模型推理过程,能够将用户自然语言指令转换成具体的 APP 意图调用,例如“给张三发短信恭喜他的论文被录用”。据该团队介绍,这个 demo 是基于该团队自研的端侧大模型推理高效引擎 mllm 实现的 [2]。

日前,相关论文以《PhoneLM:通过原则性预训练的高效和强大小语言模型家族》(PhoneLM:an Efficient and Capable Small Language Model Family through Principled Pre-training)为题发在arXiv


图 | 相关论文(来源:arXiv)



让大模型能看懂所有手机上的信息

从宏观层面讲,本次研究提出了一个既朴素又有效的观点:即大模型在设计阶段就应该充分考虑目标部署硬件的特性,将模型训练和部署用统一的视角进行优化设计,以便充分释放硬件能力。具体来说,他们发现大模型经典架构下各种超参数的配置,比如长宽比、注意力头数等对于模型推理效率的影响很大。而最终的模型能力则主要受到数据集质量和训练算法的影响,与模型超参数反而相关性较小。因此,他们提出如下观点:要在目标硬件上针对模型超参数进行搜索,确定一个推理效率比较高的模型架构,然后再使用高质量数据集对它进行训练。一言以蔽之,在面向端侧受限资源的部署场景下,模型应该更加积极地去适配硬件。

徐梦炜表示,他们团队在做端侧大模型优化的时候,最关注的应用就是端侧 Agent(个人代理),这基本上也是大模型在端侧设备上公认的“杀手”应用。虽然具体的技术路线和形态还没有共识,但大家都在期待大模型可以真正地把智能终端变成一个无所不能的私人助理,既可以理解用户也能端到端地准确执行复杂指令。目前,几乎每一个手机厂商和大模型厂商都在试图在这个方向上先拔头筹,毕竟手机现在几乎成为人类的一个“新器官”。如果大模型能看懂所有手机上的信息,可以很大程度上理解用户并提升我们的日常交互体验。

端侧个人代理是一个非常需要大模型本地化的场景,因为大模型需要大量的个人信息作为输入以提升生成和交互效果。以现在很流行的 GUIAgent 为例,通过让大模型理解屏幕上的 UI 信息并模拟用户的 UI 操作,实现用户复杂任务的自动化执行。在这个过程中,UI 信息可能包括各类用户隐私,比如聊天记录、邮件信息、账户密码等,如果将这些信息全都上传至云端(例如 OpenAI 的服务器),对很多用户来说是不可接受的。这也是之前微软推出记忆功能(Recall)后,受到极大争议的原因。而通过将大模型进行端侧部署,可以将隐私信息在本地直接消费,从而能够极大降低隐私泄露的风险。



模型和硬件应该在更深层次进行协同设计

据了解,该团队一直在从事端侧机器学习方向的研究,长期目标是希望每个端侧设备(手机、PC、可穿戴设备等)可以在本地运行强大的机器学习模型,实现“自治智能”。意识到大模型的颠覆式能力之后,课题组开始重点研究端侧大模型(包括语言和多模态模型)的相关优化技术。

相比云端,端侧大模型最大的挑战就是资源,即端侧设备的内存、算力、电量等物理资源受限,这和大模型的 Scaling Law 是相悖的。这就需要在算法、模型、系统、硬件等多个层面进行优化设计,实现端侧大模型的高效运行。例如,最近很多大厂和创业公司发布了一系列“小语言模型”(Small Language Model),参数量在 0.5B-5B 范围内,通过使用更高质量的训练数据和算法,达到和更大参数量模型相当甚至更强的性能。但是,已有研究在算法层面和系统层面依然比较割裂。即:模型训练的团队主要负责在给定参数量下设计模型结构和参数,并训练出尽量高质量的模型;在端侧硬件上的部署优化工作,则由另一个团队实现。

徐梦炜认为,除了约定一个参数量限制以外,模型和硬件应该在更深的层次上进行协同设计(co-design),只有这样才能充分释放硬件能力,提升模型推理效率。尤其是对于领域特定加速器(如手机端 NPU)而言,如果在模型架构层没有考虑硬件特性,就导致模型算子和硬件设计存在语义上的重大 Gap,即使通过后续的优化也很难弥补。

此外,他们也意识到现在全流程开源的高质量小语言模型数量不多,对于 AI 研究社区的贡献有限。因此,他们也希望通过开源自己的新成果,进一步降低模型的设计门槛和训练门槛,为端侧“自治智能”贡献力量。


图 | 徐梦炜(来源:徐梦炜)



另辟蹊径,做出同样有影响力的成果

与此同时,徐梦炜也感慨道:“我们最大的感受就是大模型研究太‘卷’了。在本次项目刚启动的时候,全流程开源的小语言模型还很少,比较有代表性的还是 TinyLlama,数据集的质量也比较一般。”但是随着项目的进行,几个很强的开源预训练数据集被放出来,后来他们最终使用的是苹果公司联合多家单位开发的 DCLM 数据集。为此,徐梦炜团队只能在有限的计算资源下不停地调整数据集配置,通过重复实验来追赶 SOTA 模型的效果。尽管最终效果还算可以,但是整个过程可谓是胆战心惊。“这给我的一个很大的体会是在大模型浪潮中,每个研究者或者团队都因为资源的富裕度被动地被划分到了不同的赛道。有更多的 GPU 资源,通常就有更大的研究空间。对于高校老师来说只有两条路,第一是和企业合作获取资源,主动地将自己的研究空间变宽;另一条路是在一条窄的赛道中另辟蹊径,做出一样有影响力的成果。”徐梦炜说。

因此,他和团队将在端侧大模型性能优化和上层 Agent 应用上继续深入探索,包括但不限于以下几个方面。

首先,他们将打造端侧 AI 硬件友好的大模型架构和量化算法。端侧的 CPU 和 GPU 并不是为大模型设计的,而且已经在一些通用任务和渲染任务上被“用得很满”。端侧大模型的未来必然是属于 NPU 的,但当前大模型的推理模式和 NPU 硬件特性还存在很大的 Gap,因此需要算法-系统-硬件加以协同设计和优化。

其次,他们将打造端侧视觉多模态大模型。当前 PhoneLM 还只能处理纯文本,后续他们计划将它扩展至多模态的场景,让它可以理解端侧设备捕捉的视觉信息。在这个场景中,他们会重点关注屏幕 GUI 数据,让 PhoneLM 像人一样读懂屏幕并能进一步操作屏幕。

参考资料:

1.PhoneLM 代码:https://github.com/UbiquitousLearning/PhoneLM

2.端侧大模型推理引擎 mllm:https://github.com/UbiquitousLearning/mllm

https://arxiv.org/pdf/2411.05046

https://xumengwei.github.io

运营/排版:何晨龙

ad1 webp
ad2 webp
ad1 webp
ad2 webp