当前位置: 首页 > news >正文

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

点击关注

文 |  姚   悦

编 | 王一粟

大模型“跑”进手机,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+开启的新一轮创新周期中。

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

相关文章:

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

点击关注 文 | 姚 悦 编 | 王一粟 大模型“跑”进手机,AI的战火已经从“云端”烧至“移动终端”。 “进入AI时代,华为盘古大模型将会来助力鸿蒙生态。”8月4日,华为常务董事、终端BG CEO、智能汽车解决方案BU CEO 余承东介绍&#xff0c…...

c++游戏制作指南(三):c++剧情类文字游戏的制作

🍿*★,*:.☆( ̄▽ ̄)/$:*.★* 🍿 🍟欢迎来到静渊隐者的csdn博文,本文是c游戏制作指南的一部🍟 🍕更多文章请点击下方链接🍕 🍨 c游戏制作指南&#x1f3…...

Flutter系列文章-实战项目

在本篇文章中,我们将通过一个实际的 Flutter 应用来综合运用最近学到的知识,包括保存到数据库、进行 HTTP 请求等。我们将开发一个简单的天气应用,可以根据用户输入的城市名获取该城市的天气信息,并将用户查询的城市列表保存到本地…...

HCIA---TCP/UDP协议

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 一.UDP协议简介 UDP协议的特点: 二.TCP协议简介 TCP协议特点 三.TCP和UDP的区别 思维导图 一.UDP协议简介 UDP(User …...

数据库索引的使用

1、MySQL的基本架构 架构图 左边的client可以看成是客户端,客户端有很多,像我们经常你使用的CMD黑窗口,像我们经常用于学习的WorkBench,像企业经常使用的Navicat工具,它们都是一个客户端。右边的这一大堆都可以看成是…...

校验 GPT-4 真实性的三个经典问题:快速区分 GPT-3.5 与 GPT-4,并提供免费测试网站

现在已经有很多 ChatGPT 的套壳网站,以下分享验明 GPT-4 真身的三个经典问题,帮助你快速区分套壳网站背后到底用的是 GPT-3.5 还是 GPT-4。 大家可以在这个网站测试:https://ai.hxkj.vip,免登录可以问三条,登录之后无限…...

SpringBoot整合MongoDB连接池(含源码)

&#x1f4a1;版本依赖 jdk 17 SpringBoot 3.1.0 Mongo 6.0.8 mybatis-plus 2.0.2 &#x1f4a1;环境准备 &#x1f335;MongoDB安装 安装教程请查看&#xff1a;一文搞定(linuxwindowsdocker)安装MongoDB &#x1f335;导入依赖 <parent><groupId>org.sp…...

[oeasy]python0082_[趣味拓展]控制序列_清屏_控制输出位置_2J

光标位置 回忆上次内容 上次了解了键盘演化的过程 ESC 从 组合键到 独立按键 ESC的作用 是 进入 控制序列配置 控制信息控制信息 \033[y;xH 设置光标位置\033[2J 清屏 这到底怎么控制&#xff1f;&#xff1f;&#xff1f;&#x1f914;谁来实现这些功能&#xff1f; 控制…...

Zookeeper+kafka

目录 1. Zookeeper定义 2. Zookeeper工作机制 3. Zookeeper特点 4. Zookeeper数据结构 5. Zookeeper应用场景 5.1 统一命名服务 5.2 统一配置管理 5.3 统一集群管理 5.4 服务器动态上下线 5.5 软负载均衡 6. Zookeeper 选举机制 6.1 第一次启动选举机制 6.2 非第一…...

Gpt微信小程序搭建的前后端流程 - 前端小程序部分-1.基础页面框架的静态设计(二)

Gpt微信小程序搭建的前后端流程 - 前端小程序部分-1.基础页面框架的静态设计(二) 在开始这个专栏&#xff0c;我们需要找一个小程序为参考&#xff0c;参考和仿照其界面&#xff0c;聊天交互模式。 这里参考小程序-小柠AI智能聊天&#xff0c;可自行先体验。 该小程序主要提供了…...

Flask进阶:构建RESTful API和数据库交互

在初级教程中&#xff0c;我们已经介绍了如何使用Flask构建基础的Web应用。在本篇中级教程中&#xff0c;我们将学习如何用Flask构建RESTful API&#xff0c;以及如何使用Flask-SQLAlchemy进行数据库操作。 一、构建RESTful API REST&#xff08;Representational State Tran…...

6.9(Java)二叉搜索树

1.我的代码: public class BinarySearchTree {class TreeNode {public int key;public TreeNode left;public TreeNode right;public TreeNode(int key) {this.key key;}}public TreeNode root; // 根节点// 插入一个元素,注意&#xff0c;不能插入重复的值&#xff0c;如…...

洛谷P2256 一中校运会之百米跑

题目背景 在一大堆秀恩爱的 ** 之中&#xff0c;来不及秀恩爱的苏大学神踏着坚定&#xff08;&#xff1f;&#xff09;的步伐走向了 100 100 100 米跑的起点。这时苏大学神发现&#xff0c;百米赛跑的参赛同学实在是太多了&#xff0c;连体育老师也忙不过来。这时体育老师发…...

python-opencv对极几何 StereoRectify

OpenCV如何正确使用stereoRectify函数 函数介绍 用于双目相机的立体校正环节中&#xff0c;这里只谈谈这个函数怎么使用&#xff0c;参数具体指哪些函数参数 随便去网上一搜或者看官方手册就能得到参数信息&#xff0c;但是&#xff01;&#xff01;相对关系非常容易出错&…...

pom文件---maven

027-Maven 命令行-实验四-生成 Web 工程-执行生成_ev_哔哩哔哩_bilibili 27节.后续补充 一.maven下载安装及配置 1)maven下载 2) settings文件配置本地仓库 3)settings配置远程仓库地址 4)配置maven工程的基础JDK版本 5)确认JDK环境变量配置没问题,配置maven的环境变量 验证…...

界面控件DevExpress.Drawing图形库早期增强功能分享

众所周知&#xff0c;DevExpress在v22.2发布周期中引入了全新的DevExpress.Drawing图形库&#xff08;并且已经在随后的小更新中引入了一系列增强功能&#xff09;。 在这篇博文中&#xff0c;我们将总结在DevExpress v23.1中解决的一些问题&#xff0c;以及在EAP构建中为以下…...

Semantic Kernel 入门系列:Connector连接器

当我们使用Native Function的时候&#xff0c;除了处理一些基本的逻辑操作之外&#xff0c;更多的还是需要进行外部数据源和服务的对接&#xff0c;要么是获取相关的数据&#xff0c;要么是保存输出结果。这一过程在Semantic Kernel中可以被归类为Connector。 Connector更像是…...

Maven介绍-下载-安装-使用-基础知识

Maven介绍-下载-安装-使用-基础知识 Maven的进阶高级用法可查看这篇文章&#xff1a; Maven分模块-继承-聚合-私服的高级用法 文章目录 Maven介绍-下载-安装-使用-基础知识01. Maven1.1 初识Maven1.1.1 什么是Maven1.1.2 Maven的作用 02. Maven概述2.1 Maven介绍2.2 Maven模型…...

Ansible环境搭建,CentOS 系列操作系统搭建Ansible集群环境

Ansible是一种自动化工具&#xff0c;基于Python写的&#xff0c;原理什么的就不过多再说了&#xff0c;详情参考&#xff1a;https://www.itwk.cc/post/403.html https://blog.csdn.net/qq_34185638/article/details/131079320?spm1001.2014.3001.5502 环境准备 HOSTNAMEIP…...

Django基础

1.Django基础 路由系统视图模板静态文件和媒体文件中间件ORM&#xff08;时间&#xff09; 2.路由系统 本质上&#xff1a;URL和函数的对应关系。 2.1 传统的路由 from django.contrib import admin from django.urls import path from apps.web import viewsurlpatterns …...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

前端中slice和splic的区别

1. slice slice 用于从数组中提取一部分元素&#xff0c;返回一个新的数组。 特点&#xff1a; 不修改原数组&#xff1a;slice 不会改变原数组&#xff0c;而是返回一个新的数组。提取数组的部分&#xff1a;slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...

2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案

一、延迟敏感行业面临的DDoS攻击新挑战 2025年&#xff0c;金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征&#xff1a; AI驱动的自适应攻击&#xff1a;攻击流量模拟真实用户行为&#xff0c;差异率低至0.5%&#xff0c;传统规则引…...

表单设计器拖拽对象时添加属性

背景&#xff1a;因为项目需要。自写设计器。遇到的坑在此记录 使用的拖拽组件时vuedraggable。下面放上局部示例截图。 坑1。draggable标签在拖拽时可以获取到被拖拽的对象属性定义 要使用 :clone, 而不是clone。我想应该是因为draggable标签比较特。另外在使用**:clone时要将…...

持续交付的进化:从DevOps到AI驱动的IT新动能

文章目录 一、持续交付的本质&#xff1a;从手动到自动的交付飞跃关键特性案例&#xff1a;电商平台的高效部署 二、持续交付的演进&#xff1a;从CI到AI驱动的未来发展历程 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/101f72defaf3493ba0ba376bf09367a2.png)中国…...