大型语言模型高效推理综述

图片

论文地址:2404.14294.pdf (arxiv.org)

大型语言模型(LLMs)由于在各种任务中的卓越表现而受到广泛关注。然而,LLM推理的大量计算和内存需求给资源受限的部署场景带来了挑战。该领域的努力已经朝着开发旨在提高LLM推理效率的技术方向发展。本文提供了对现有文献关于高效LLM推理的全面综述。我们首先分析了LLM推理效率低下的主要原因,即模型规模大、注意力操作的二次复杂度和自回归解码方法。接着,我们介绍了一个全面的分类法,将当前文献按数据级、模型级和系统级优化进行组织。此外,本文还包括了在关键子领域内代表性方法的比较实验,以提供定量洞见。最后,我们提供了一些知识总结并讨论未来的研究方向。

近年来,大型语言模型(LLMs)已经从学术界和工业界获得了大量关注。LLMs领域经历了显著的增长和重大成就。众多开源的LLMs已经出现,包括GPT系列(GPT-1 [1],GPT-2 [2],和GPT-3 [3]),OPT [4],LLaMA系列(LLaMA [5],LLaMA 2 [5],百川2 [6],Vicuna [7],长聊 [8]),BLOOM [9],FALCON [10],GLM [11],和Mistral [12],这些模型被用于学术研究和商业目的。LLMs的成功源于它们在处理各种任务(如神经语言理解(NLU),神经语言生成(NLG),推理 [13],[14] 和代码生成 [15])中的强大能力,从而使得如ChatGPT、Copilot和Bing等应用产生了重大影响。人们日益相信 [16],LLMs的崛起和成就标志着人类向人工通用智能(AGI)的重大步伐。然而,LLMs的部署并不总是顺利进行。如图1所示,LLMs在推理过程中通常需要更高的计算成本、内存访问成本和内存使用率(我们将在第2.3节分析根本原因),这降低了资源受限场景中的效率指标(例如,延迟、吞吐量、能耗和存储)。这为LLMs在边缘和云场景中的应用带来了挑战。例如,巨大的存储需求使得在个人笔记本电脑上部署一个700亿参数的模型用于开发辅助任务变得不切实际。此外,如果LLMs被用于每一个搜索引擎请求,低吞吐量将导致显著的成本,从而大幅降低搜索引擎的利润。

幸运的是,已经提出了大量技术以实现LLMs的高效推理。为了全面理解现有研究并激发进一步的研究,本综述采用了层次分类和系统总结的方法来描述高效LLM推理的当前景观。具体来说,我们将相关研究分为三个层次:数据级优化、模型级优化和系统级优化(详见第3节)。此外,我们对代表性方法进行了实验分析。目前,已经进行了几项综述 [17],[18],[19],[20],[21],[22],主要关注LLMs效率的不同方面,但仍提供了进一步改进的机会。朱等人 [17],朴等人 [18] 和王等人 [19] 关注于模型级优化中的模型压缩技术。丁等人 [20] 聚焦于考虑数据和模型架构的效率研究。苗等人 [21] 从机器学习系统(MLSys)研究的角度探讨高效LLM推理。与之相比,我们的综述提供了更全面的研究范围,涵盖了数据级、模型级和系统级的优化,并包括了最新的进展。尽管万等人 [22] 和徐等人 [23] 也提供了高效LLM研究的全面综述,我们的工作通过结合比较实验,并根据在几个关键子领域如模型量化和服务系统的实验分析提供实用的见解和建议,进一步扩展了这些工作。这些综述的比较总结在表1中。

本综述的其余部分安排如下:第2节介绍LLMs的基本概念和知识,并详细分析了LLMs推理过程中的效率瓶颈。第3节展示我们的分类法。第4节至第6节分别介绍和讨论在三个不同层次上的效率优化研究。第7节为几个关键应用场景提供更广泛的讨论。第8节总结了本综述提供的关键贡献。

图片

在上述讨论中,我们确定了三个关键因素(即计算成本、内存访问成本和内存使用),这些因素在LLM推理过程中显著影响效率,并进一步分析了三个根本原因(即模型大小、注意力操作和解码方法)。已经做出了许多努力,从不同的角度优化推理效率。通过仔细回顾和总结这些研究,我们将它们分类为三个层次,即数据级优化、模型级优化和系统级优化(如图4所示):

  • 数据级优化指的是通过优化输入提示(即输入压缩)或更好地组织输出内容(即输出组织)来提高效率。这种优化线通常不会改变原始模型,因此无需昂贵的模型训练成本(注意,辅助模型可能需要少量训练,但与原始LLMs的训练成本相比,这种成本可以忽略不计)。

  • 模型级优化指的是在推理过程中设计高效的模型结构(即高效结构设计)或压缩预训练模型(即模型压缩)以提高其效率。这种优化线(1)通常需要昂贵的预训练或较少量的微调成本以保持或恢复模型能力,并且(2)通常在模型性能上是有损的。

  • 系统级优化指的是优化推理引擎或服务系统。这种优化线(1)不涉及昂贵的模型训练,并且(2)通常在模型性能上是无损的。另外,我们在第6.3节简要介绍了硬件加速器设计。

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

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

相关文章

RustGUI学习(iced)之小部件(二):如何使用滑动条部件

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述…

Redis中的慢查询日志(一)

慢查询日志 概述 Redis的慢查询日志功能用于记录执行时间超过给定时长的命令请求,用户可以通过这个功能产生的日志来 监视和优化查询速度。服务器配置有两个和慢查询日志相关的选项: 1.slowlog-log-slower-than选项指定执行时间超过多少微妙(1秒1000 000微妙)的命…

【精】DevOps实战学习CI/CD落地方案#CI篇#

目录 先有个大概了解 基本概念 CI/CD Devops 阿里云效 devops产品 K8s jenkins docker git maven 知行合一,上手操作 实操记录 安装VMware 安装并配置虚拟机 安装并配置docker docker安装 修改镜像源(关键且易出错) CentOS…

低代码信创开发核心技术(四)动态元数据系统设计

一、概述 在当今快速发展的信息技术领域,动态元数据系统扮演着至关重要的角色。它不仅能够提供数据的描述信息,还能动态地适应业务需求的变化,从而提高系统的灵活性和可扩展性。构建一个动态元数据系统意味着我们可以在不重启系统的情况下&a…

Facebook的未知力量:数字世界的新引擎

在数字化的时代,社交媒体已经成为了我们日常生活中不可或缺的一部分,而Facebook作为其中的巨头,其影响力远远超出了我们的想象。但是,Facebook背后隐藏的力量和影响远不止于此,它正逐渐成为数字世界的新引擎&#xff0…

书生·浦语 大模型(学习笔记-5)XTuner 微调 LLM:1.8B、多模态、Agent

目录 一:两种微调 二、数据的一生 三、微调方案 四、XTuner 五、InternLM2 1.8B模型(相关知识) 一:两种微调 增量与训练和指令微调的区别 二、数据的一生 原始数据转换为标准格式数据 添加对话模板,直接调用即可…

操作系统课程--考纲要求

第一/二次课: 绪论 【学习内容与目标】 1、操作系统目标及定义 掌握操作系统的设置目标,理解并掌握操作系统的定义,了解操作系统的地位以及从资源管理者角度和用户角度了解操作系统的组成。 2、 操作系统的特征与功能 掌握操作系统的特征&…

github Copilot的使用总结

1. 代码建议和补全 GitHub Copilot 的基本使用涉及编写代码时的实时代码建议和补全。一旦你已经安装并配置好 GitHub Copilot 插件,你可以在支持的编辑器(如 Visual Studio Code)中开始使用 Copilot。以下是一些基本的使用步骤: …

RK3588S和ARM阵列服务器在虚拟化云平台的应用

RK3588是瑞芯微2021年底推出的首款高端8nm旗舰芯片,而RK3588S 则是针对消费端市场在RK3588基础上缩减了部分外围接口,CPU、GPU和NPU等主要参数得到了保留,主要应用范围为高端ARM平板、ARM笔电产品,会议平板类、ARM服务器、智能机器…

信息系统项目管理师——第7章项目立项管理

本章考选择题2-3分,案例和论文均有可能作为领域考试。 项目建议与立项申请♥♥♥♥♥ 立项申请的概念 立项申请又称为项目建议书,是项目建设单位向上级主管部门提交项目申请时所必须的文 件,是该项目建设筹建单位根据国民经济的发展、国家…

JavaWeb过滤器

Javaweb过滤器是一种用于在Servlet处理请求之前或之后对请求进行预处理或后处理的组件。过滤器可以用于拦截请求、修改请求参数、过滤响应内容等操作。其主要作用包括: 拦截请求:过滤器可以拦截客户端请求,对请求进行验证、过滤或修改&#x…

Java基础之JVM对象内存分配机制简介

一 对象内存分配 1.1 运行时数据区域 1.2 常见java应用启动JVM参数: -Xss:每个线程的栈大小(单位kb)-Xms:堆的初始大小,默认物理内存的1/64,示例:-Xms:4g -Xms:10m-Xmx:堆的最大可用大小,默认物…

水库大坝安全白蚁监测系统解决方案

一、系统背景 白蚁作为河岸生态系统中的重要病害,不仅会导致水库大坝外部环境发生改变,甚至会引发水库大坝破坏,进而导致自身结构失去稳定性,严重影响水库大坝的正常运行。因此,治理水库大坝白蚁是确保水库大坝工程顺利…

HTTP与HTTPS 对比,区别详解(2024-04-25)

一、简介 HTTP(超文本传输协议,Hypertext Transfer Protocol)是一种用于从网络传输超文本到本地浏览器的传输协议。它定义了客户端与服务器之间请求和响应的格式。HTTP 工作在 TCP/IP 模型之上,通常使用端口 80。 HTTPS&#xf…

【Hadoop】- MapReduce YARN 初体验[9]

目录 提交MapReduce程序至YARN运行 1、提交wordcount示例程序 1.1、先准备words.txt文件上传到hdfs,文件内容如下: 1.2、在hdfs中创建两个文件夹,分别为/input、/output 1.3、将创建好的words.txt文件上传到hdfs中/input 1.4、提交MapR…

区块链技术与应用学习笔记(8-9节)——北大肖臻课程

目录 8.挖矿 对于全节点和轻节点思考问题? ①全节点在比特币的主要作用? ②挖矿时当监听到别人已经挖出区块并且延申了最长合法链此时应该立刻放弃当前区块在 本地重新组装一个指向最后这个新合法区块的候选区块,重新开始挖矿。节点这么做…

「React Native」为什么要选择 React Native 作为的跨端方案

文章目录 前言一、常见因素二、举个栗子2.1 项目背景2.2 为什么选择 React Native2.3 项目实施2.4 成果总结 前言 没有完美的跨端技术,只有适合的场景。脱离适用场景去谈跨端技术没有什么意义。 一、常见因素 共享代码库: React Native 允许开发者编写…

OmniPlan Pro for Mac v4.8.0中文激活版 项目流程管理工具

OmniPlan Pro for Mac是一款功能强大的项目管理软件,它以其直观的用户界面和丰富的功能,帮助用户轻松管理各种复杂的项目。 OmniPlan Pro for Mac v4.8.0中文激活版 通过OmniPlan Pro,用户可以轻松创建任务,设置任务的开始和结束时…

毕业撒花 流感服务小程序的设计与实现

目录 1.1 总体页面设计 1.1.1 用户首页 1.1.2 新闻页面 1.1.3 我的页面 1.1.5 管理员登陆页面 1.1.6 管理员首页 1.2 用户模块 1.2.1 体检预约功能 1.2.2 体检报告功能 1.2.4 流感数据可视化功能 1.2.5 知识科普功能 1.2.6 疾病判断功能 1.2.7 出示个人就诊码功能 …

系统安全测试要怎么做?

进行系统安全测试时,可以按照以下详细的步骤进行: 1、信息收集和分析: 收集系统的相关信息,包括架构、部署环境、使用的框架和技术等。 分析系统的安全需求、威胁模型和安全策略等文档。 2、威胁建模和风险评估: …