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

点击关注

文 |  姚   悦

编 | 王一粟

大模型“跑”进手机,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.mzph.cn/news/28458.shtml

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

相关文章

Gson 添加数据默认值问题记录

问题:在用Gson add(key(string类型),value(必须是JsonElement子类))时发现,value 传了 "" 空字符串(非null),默认解析后返回null&#…

jmeter测试rpc接口-使用dubbo框架调用【杭州多测师_王sir】

1.基于SOAP架构。基于XML规范。基于WebService协议。特点:接口地址?wsdl结尾2.基于RPC架构,基于dubbo协议,thrift协议。SpringCloud微服务。3.基于RestFul架构,基于json规范。基于http协议(我们常用的都是这种,cms平台也是) Rest…

windows环境下安装elasticsearch、kibana

通过本文可以快速在windows系统上安装elasticsearch、kibana环境。 当你用Integer类型的时候,要非常小心,因为100等于100、但是200不等于200,当然,如果你会一点小花招,也可以让100不等于100、让200等于200。(运算符比较…

CSS 盒模型是什么?它包含哪些属性?标准盒模型/怪异盒模型

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 盒模型⭐ 标准盒模型⭐ 怪异盒模型⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感…

深度学习中的优化算法

文章目录 前言一、优化和深度学习1.1 优化的目标1.2 深度学习中的优化挑战1.2.1 局部最小值1.2.2 鞍点1.2.3 梯度消失 二、梯度下降2.1 一维梯度下降2.1.1 学习率 2.2 多元梯度下降2.3 自适应方法2.3.1 牛顿法2.3.2 其他自适应方法 三、随机梯度下降3.1 随机梯度更新3.2 动态学…

Go-Gin框架

一、Gin介绍 Gin是一个用Go编写的HTTPweb框架。它是一个类似于martini但拥有更好性能的API框架, 优于httprouter,速度提高了近 40 倍。 点击此处访问Gin官方中文文档。 二、安装 1、安装Gin go get -u github.com/gin-gonic/gin 2、代码中引入 import "g…

安路FPGA的赋值报错——移位处理,加括号

authordaisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主 在使用移位符号用来当作除以号使用时,发现如下问题 其中 cnt_8K 为偶数和奇数时输出的数据不一样 reg [10:0] cnt_8K; reg [10:0] ram1_addra; always(posedge clk_16M) begin if(ram_out_flag )begin if(…

【flink】Checkpoint expired before completing.

使用flink同步数据出现错误Checkpoint expired before completing. 11:32:34,455 WARN org.apache.flink.runtime.checkpoint.CheckpointFailureManager [Checkpoint Timer] - Failed to trigger or complete checkpoint 4 for job 1b1d41031ea45d15bdb3324004c2d749. (2 con…

换架 3D 飞机,继续飞呀飞

相信大多数图扑 HT 用户都曾见过这个飞机的 Demo,在图扑发展的这十年,这个 Demo 是许多学习 HT 用户一定会参考的经典 Demo 之一。 这个 Demo 用简洁的代码生动地展示了 OBJ 模型加载、数据绑定、动画和漫游等功能的实现。许多用户参考这个简单的 Demo 后…

kubernetes 集群命令行工具 kubectl

1、kubectl 概述 kubectl是一种命令行工具,用于管理Kubernetes集群和与其相关的资源。通过kubectl,您可以查看和管理Pod、Deployment、Service、Volume、ConfigMap等资源,也可以创建、删除和更新它们。 kubectl还提供了许多其他功能&#x…

中国信通院腾讯安全发布《2023数据安全治理与实践白皮书》

导读 腾讯科技(深圳)有限公司和中国信息通信研究院云计算与大数据研究所共同编制了本报告。本报告提出了覆盖组织保障、管理流程、技术体系的以风险为核心的数据安全治理体系,并选取了云场景、互娱、社交等场景,介绍相应场景下数据安全治理实践路线及主…

【Vue】使用print.js插件实现打印预览功能,超简单

目录 一、实现效果 二、实现步骤 【1】安装插件 【2】在需要打印的页面导入 【3】在vue文件中需要打印的部分外层套一层div,给div设置id。作为打印的区域 【4】在打印按钮上添加打印事件 【5】在methods中添加点击事件 三、完整代码 一、实现效果 二、实现步…

16-2_Qt 5.9 C++开发指南_使用样式表Qss自定义界面

进行本篇介绍学习前,请先参考链接01_1_Qt工程实践_Qt样式表Qss,后再结合本篇进行融合学习如何使用样式表定义界面。 文章目录 1. Qt样式表2. Qt样式表句法2.1 一般句法格式2.2 选择器 (selector)2.3 子控件(sub-controls)2.4 伪状…

构建Docker容器监控系统(cadvisor+influxDB+grafana)

目录 一、部署 1、安装docker-cd 2、阿里云镜像加速 3、下载组件镜像 4、创建自定义网络 5、创建influxdb容器 6、创建Cadvisor 容器 7、创建granafa容器 一、部署 1、安装docker-cd [rootlocalhost ~]# iptables -F [rootlocalhost ~]# setenforce 0 setenforce: SELi…

RS485实验

RS485实验 介绍 RS485采用差分信号进行传输,半双工通信。RS485是一个总线,在同一总线上最多可以挂接32个节点。通信流程简单理解为默认为接收状态,发送数据时切换为发送状态,数据发送完毕后切换为接收状态。发送和接收分别由一个…

[考研机试] KY20 完数VS盈数 清华大学复试上机题 C++实现

描述 一个数如果恰好等于它的各因子(该数本身除外)子和,如:6321。则称其为“完数”;若因子之和大于该数,则称其为“盈数”。 求出2到60之间所有“完数”和“盈数”。 输入描述: 题目没有任何输入。 输出描述&#…

MachineLearningWu_13/P60-P64_Tensorflow

P60-P64的学习目录如下, x.1 TF网络模型实现 以一个简单的TF的分类网络为例,将模型翻译成框架下的语义,即如右侧所表达的。 当然上面对于分类网络的解释是一个简洁的解释,我们来进行更加具象的了解一下。左边是机器学习的三步骤&…

LeetCode题解:判断是否能拆分数组

⭐简单说两句⭐ 作者:后端小知识 CSDN个人主页:后端小知识 🔎GZH:后端小知识 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 上周做了力扣周赛的题,给大家分享一个中等题目&#xff…

文章采集伪原创发布工具-147采集

在当今信息爆炸的时代,企业和个人都意识到了获取高质量、原创的内容的重要性。然而,手动撰写大量的原创内容是一项耗时费力的任务。为了解决这个问题,我向您介绍一款颠覆性的数据采集工具——147采集。 147采集是一款专业且高效的数据采集软件…

Linux安装配置nginx+php搭建以及在docker中配置

Linux安装配置nginxphp搭建以及在docker中配置 文章目录 Linux安装配置nginxphp搭建以及在docker中配置1.nginx源码包编译环境和安装相应的依赖1.1 安装编译环境1.2 安装pcre库、zlib库和openssl库 2.安装nginx2.1 在[nginx官网](https://nginx.org/en/download.html)上获取源码…