把大模型装进手机,分几步?

点击关注

文 |  姚   悦

编 | 王一粟

大模型“跑”进手机,AI的战火已经从“云端”烧至“移动终端”。

“进入AI时代,华为盘古大模型将会来助力鸿蒙生态。”8月4日,华为常务董事、终端BG CEO、智能汽车解决方案BU CEO 余承东介绍,通过盘古大模型的底层技术,Harmony OS带来了下一代智能终端操作系统。

在手机上使用大模型早已不是新鲜事,此前ChatGPT、文心一言、妙鸭等APP、小程序都是通过调用云端算力,满足手机终端AI应用的需求。

下一步,则是让大模型直接运行在手机上。

从今年四、五月开始,美国科技三巨头——高通、微软、英伟达,最受瞩目的AI新星OpenAI,以及国内AI“头部战队”的腾讯、百度等,都已经纷纷加速推进在移动终端的轻量化部署AI大模型。高通甚至宣布,正在逐渐转型成一家智能边缘计算(在移动终端等数据源头提供计算服务)的公司。

巨头的群力强推下,大模型从云到端迈进的产业趋势已经十分明确。

大模型为什么要“跑”在手机上?

大模型的最大特点就是“大”,动辄百亿千亿甚至万亿参数,且为了更好运行大模型,算力集群都已经升级到“万卡”级别。如今,为什么又非要把大模型“塞”进巴掌大的小手机?

大模型确实会给手机用户带来一些体验上的提升。例如,华为终端智能助手小艺不仅可以根据语音提示推荐餐厅,还可以进行摘要总结、信息检索、多语种翻译等信息处理,数千字的英文长文,具备大模型能力的手机智能助手就可以生成摘要,还可以翻译成中文。尤其后一点,在信息爆炸时代,对于提高学习工作效率还是很有价值的。

华为终端BG AI与智能全场景业务部总裁贾永利解释,一方面,大语言模型具备泛化能力,能够帮助手机智能助手提升理解能力。另一方面,大模型Plug-in的插件能力,可以在手机内部打通各应用之间的壁垒,借助工具拓展能力。

此外,ChatGPT等AIGC应用一直以来都伴随着强烈的隐私安全争议,但如果完全在端侧运行,就能够完全避免这一问题。因为大模型在端侧运行,数据也不会离开端侧。而且,这样响应的速度还会更快。

另一边,大模型对于到手机等移动终端的需求也已经非常迫切。

大模型的汹涌之势让云端越来越无法独自承载算力的需求。高通高级副总裁Alex Katouzian近期就直言,“随着连接设备和数据流量加速增长,叠加数据中心成本攀升,(我们)不可能将所有内容都发送到云端。”

不算数据传输要消耗网络带宽、存储,以及硬件等大量资源,光是云端算力现在已经让相关厂商有些吃不消。ChatGPT仅在推理阶段,保守估计每个月算力成本在1000万美元左右。

最大的问题还不是“贵”,而是“缺”。

此前,就连OpenAI创始人Sam Altaman都自曝GPU很缺,甚至直言不希望太多人用ChatGPT。近期,也有业内人士推测,小型和大型云提供商的大规模H100集群容量即将耗尽,H100的需求趋势至少会持续到2024年底。当前英伟达H100的产能还严重受制于供应链。

所以,云端和终端形成配合,手机等终端闲置算力资源被利用起来,解决“集中式”算力与“分布式”需求的错配,已经成为大模型发展“降本增效”的确定趋势。更重要的是,相比数量有限的中心节点,众多的移动终端堪称触及万千场景的“毛细血管”,也就决定了这一入口会是大模型加速应用渗透的关键。

如何把大模型“装进口袋”?

“相比传统的PC或者服务器,移动终端最大的挑战就是如何平衡好体验和能耗,这是鸿蒙内核设计最重要的核心点之一。”华为终端业务软件部总裁龚体强调。

大模型需要大量的计算资源和存储资源,尤其是基于现有的手机硬件配置,这就需要软件系统做好协调,提升效率降低能耗。

现在手机为了提高性能,至少是8个芯片内核,就需要手机系统做协同,这个过程就会消耗大量算力。如果采用异构资源调度,就可以高效协调CPU、GPU、NPU。龚体表示,这样调度效率可以提升60%以上。

手机系统能够进行运算,调度的最小单位叫做线程,传统的操作系统中往往上万线程同时运行,其中就会存在大量无效线程。针对这点,就可以通过更轻量的并发模型来处理并发操作,降低无效线程切换对算力的消耗。据龚体说,并发模型可以让任务切换开销节省50%。

另外,在操作系统的任务调度方面,这也是影响流畅体验的最基本要素,相比公平调度,动态优先级调度会很大程度降低能耗。动态优先级调度就类似于一个智能交通系统,可以根据道路状况和交通流量,动态调整交通信号灯亮起状态,如当某个方向的车流增加时,该方向的信号灯就提前变绿,就会减少拥堵和延迟。

不过,要想让大模型部署到手机上,还能运转起来,光是手机操作系统升级改进还远远不够。

随着大模型预测越来越准确,网络越来越深,神经网络消耗的内存容量已成为核心问题。同时,还涉及内存带宽的问题,网路运行时,内存、CPU和电池都会飞速消耗,这绝对是现在的手机难以承受之重。

因此,在部署到手机之前,就必须对大模型进行压缩,以降低对推理算力的需求。但是,一定要确保原有性能和精度基本不变。

量化就是一种常见且重要的压缩操作,可以减少模型占用的内存空间,提高推理性能。本质上就是将浮点运算模型转化为整数运算模型,因为整数运算比浮点运算精度更高,运算速度也更快。

当前,量化技术也已经在加速突破。服务器上训练的模型一般采用32位浮点运算(FP32),在手机端,高通已经将FP32模型量化压缩到INT4模型,实现64内存和计算能效提升。高通的实现数据表明,在借助高通的量化感知训练后,不少AIGC模型可以量化至INT4模型,与INT8相比,性能提升约90%,能效提升大约60%。

大模型压缩技术,无疑是AI巨头制胜移动终端战场的关键因素。这也在一定程度上,解释了英伟达在今年2月为什么“悄悄”收购了掌握压缩大模型技术的人工智能初创公司OmniML。

大模型倒逼终端硬件升级

“本年度我们将能够支持参数达100亿的生成式AI模型在手机上运行。”高通产品管理高级副总裁兼AI负责人Ziad Asghar近期则对外表示,100亿-150亿参数的模型可以覆盖绝大多数AIGC用例。如果终端已经可以支持这一参数级别,运算可全部在终端上进行,手机会成为真正的个人助理。

但是,当前新一代旗舰版手机芯片也就可以承载运行10亿参数级大模型,高通在今年6月计算机视觉学术顶会 CVPR 上,成功演示的跑在安卓系统上的大模型,也不过15亿参数。

参数跃升几乎十倍,奔赴移动终端的大模型已踩下“油门”,那手机也就不得不加速升级才能应对。

手机硬件亟需在AI加速器和内存进行革新。

首先,更大参数的大模型,需要更大的内存和存储空间来存储模型参数和中间结果。这就要求移动终端内存芯片容量,以及内存接口带宽都进行升级。

其次,更大的参数势必需要更强大的计算和推理能力,处理输入数据和输出结果。

虽然,目前手机芯片上的AI加速器(例如各种NPU IP)几乎已经是标配,但设计基本上是针对上一代卷积神经网络设计,并不完全针对大模型。

为了适配大模型,AI加速器必须能有更大的内存访问带宽,并减少内存访问延迟。这就需要AI加速器的接口上做出一些改变(例如分配更多的pin给内存接口),同时也需要片上数据互联做出相应的改变,来满足AI加速器访存的需求。

高通能喊出“年内100亿参数跑手机”的重要原因之一,就是其手握搭载了高通史上最快速、最先进的AI引擎的第二代骁龙8处理器,相比第一代骁龙8处理器,AI性能提升了4.35倍,能效提升60%。

当然,超大规模参数大模型的训练和推理,即便在云端也亟待突破五堵墙:内存墙+算力墙+通信墙+调优墙+部署墙,手机更得一层一层去突破。

不过,从“智能”到“人工智能”,对于手机来说,机遇大于挑战。

“创新周期对电子消费品的影响更为重要,甚至可以带领一个产业走出经济周期的影响。”荣耀终端CEO赵明判断,当前智能手机行业就处在一个AI、5G+开启的新一轮创新周期中。

欢迎关注光锥智能,获取更多前沿科技知识!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/60213.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字化管理,让MRO工业品更高效

MRO商品数字化是将MRO商品的采购、库存及记录过程进行数字化管理,以提高MRO商品的效率和可控性。MRO(Maintenance, Repair and Operations)一般用于维修、保养及日常运营工作中,包括五金工具、紧固件、精加工刀具、备品备件、切屑…

【一】初步认识数据库

数据库概览数据库 缘起表(Table)的理解用表来定义数据库数据库系统的理解概念层次的理解实例层次的理解 数据库管理系统的理解从用户角度看从系统实现角度看典型的数据库管理系统 数据库语言数据库定义、操纵、控制语言数据库语言 VS 高级语言 内容回顾练习 数据库概览 走马观…

Jmeter +Maven+jenkins 接口性能全自动化测试

背景: 首先用jmeter录制或者书写性能测试的脚本,用maven添加相关依赖,把性能测试的代码提交到github,在jenkins配置git下载性能测试的代码,配置运行脚本和测试报告,配置运行失败自动发邮件通知&#xff0c…

浪潮数字咨询专家孙崇虎受邀为第十二届中国PMO大会演讲嘉宾

浪潮数字企业技术有限公司集团管控事业部咨询专家孙崇虎先生受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾,演讲议题:VUCA时代的项目管理信息化应对。大会将于8月12-13日在北京举办,敬请关注! 议题简要: 当前…

NGINX组件(rewrite)

一、location匹配的规则和优先级(*) URI:统一资源标识符,是一种字符串标识,用于标识抽象的或者是物理资源;如:文件、图片、视频等 nginx中的URI匹配的是:网址”/“后的路径 如&…

10分钟学会阿里OSS对象存储

一. 前言 最近有很多小伙伴问,如果我们要进行大规模的文件存储该怎么做? 其实实现文件存储的技术有很多,如果我们在网上搜索一下,你会发现实现的技术简直是五花八门,比如有一种技术叫FastDFS就可以实现文件存储,但该…

IoT 物联网安全事件的持续检测和监控解决方案

对于IoT物联网安全事件的持续检测和监控,可以采用以下解决方案: 设备管理和漏洞修复:确保设备的固件和软件及时更新,并修补已知的漏洞。建立一个设备清单,并定期审查和更新其中的设备。 流量分析和异常检测&#xff1a…

matplotlib 笔记:基本用法

1 axis 1.0 对比原始图像 import numpy as np import matplotlib.pyplot as plt xrange(5) yrange(10,20,2) plt.plot(x,y) 1.1 plt.axis(equal) x轴和y轴单位长度相同 import numpy as np import matplotlib.pyplot as plt plt.axis(equal) xrange(5) yrange(10,20,2) pl…

IDEA全局设置MyBatis中写SQL语句提示

把这两个设置改成MySQL即可:

OpenCV 中的光流 (C++/Python)

什么是光流? 光流是一项视频中两个连续帧之间每像素运动估计的任务。基本上,光流任务意味着计算像素的位移矢量作为两个相邻图像之间的对象位移差。光流的主要思想是估计物体由其运动或相机运动引起的位移矢量。 理论基础 假设我们有一个灰度图像——具有像素强度的矩阵。我…

Jenkins 中 shell 脚本执行失败却不自行退出

Jenkins 中 执行 shell 脚本时,有时候 shell 执行失败了,或者判断结果是错误的,但是 Jenkins 执行完成后确提示成功 success 。 此时,可以通过条件判断来解决这个问题,让 Jenkins 强制退出并提示执行失败 failed 。 …

java【native关键字】

描述: native只能修饰方法,表示这个方法的方法体代码不是用java语言实现的,而是由c/c语言编写的。但是对于java程序员来说,可以当作java的方法一样正常去调用它,或者子类重写它 语法: 用在方法的返回值类…