目录
以模型为中心
以数据为中心
以框架为中心
总结
首页 科技周边 人工智能 深入探讨模型、数据和框架:一份详尽的54页高效大语言模型综述

深入探讨模型、数据和框架:一份详尽的54页高效大语言模型综述

Jan 14, 2024 pm 07:48 PM
ai 研究 调查

大规模语言模型(LLMs)在许多重要任务中展现出了引人注目的能力,包括自然语言理解、语言生成和复杂推理,并对社会产生了深远的影响。然而,这些出色的能力却需要大量的训练资源(如左图所示)和较长的推理时间(如右图所示)。因此,研究人员需要开发有效的技术手段来解决它们的效率问题。

此外,从图的右侧还可以看出,一些高效的LLMs(Language Models)如Mistral-7B,已经成功应用于LLMs的设计和部署中。这些高效的LLMs在保持与LLaMA1-33B相近的准确性的同时,能够大大减少推理内存使用和降低推理时延。这表明已经有一些可行的高效方法成功地应用于LLMs的设计和使用上。

深入探讨模型、数据和框架:一份详尽的54页高效大语言模型综述

在本综述中,来自俄亥俄州立大学、帝国理工学院、密歇根州立大学、密西根大学、亚马逊、谷歌、Boson AI、微软亚研院的研究者提供了对高效 LLMs 研究的系统全面调查。他们将现有优化 LLMs 效率的技术分成了三个类别,包括以模型为中心、以数据为中心和以框架为中心,总结并讨论了当下最前沿的相关技术。

深入探讨模型、数据和框架:一份详尽的54页高效大语言模型综述


  • 论文:https://arxiv.org/abs/2312.03863
  • GitHub: https://github.com/AIoT-MLSys-Lab/Efficient-LLMs-Survey 

为了方便整理综述中所涉及的论文,并保持更新,研究者创建了一个 GitHub 仓库,并积极维护。他们希望这个仓库能够帮助研究人员和从业者系统地了解高效 LLMs 的研究和发展,并激发他们为这个重要而令人兴奋的领域做出贡献。

仓库的网址是https://github.com/AIoT-MLSys-Lab/Efficient-LLMs-Survey。在这个仓库中,你可以找到关于高效低功耗机器学习系统的调查的相关内容。这个仓库提供了一些研究论文、代码和文档,帮助人们更好地了解和探索高效低功耗的机器学习系统。如果你对这个领域感兴趣,可以通过访问这个仓库来获取更多的信息。

以模型为中心

以模型为中心的方法关注算法层面和系统层面的高效技术,其中模型本身是焦点。由于 LLMs 具有数十亿甚至数万亿的参数,与规模较小的模型相比,它们具有诸如涌现等独特的特征,因此需要开发新的技术来优化 LLMs 的效率。本文详细讨论了五类以模型为中心的方法,包括模型压缩、高效预训练、高效微调、高效推理和高效模型架构设计

1. 压缩模型 在机器学习领域,模型的大小通常是一个重要的考量因素。大型的模型往往需要更多的存储空间和计算资源,而且在移动设备上运行时可能会遇到限制。因此,压缩模型是一种常用的技术,可以减小模型的大小

模型压缩技术主要分为了四类:量化、参数剪枝、低秩估计和知识蒸馏(参见下图),其中量化会把模型的权重或者激活值从高精度压缩到低精度,参数剪枝会搜索并删除模型权重中较为冗余的部分,低秩估计会将模型的权重矩阵转化为若干低秩小矩阵的乘积,知识蒸馏则是直接用大模型来训练小模型,从而使得小模型在做某些任务的时候具有替代大模型的能力。

深入探讨模型、数据和框架:一份详尽的54页高效大语言模型综述

2. 高效预训练

预训练 LLMs 的成本非常昂贵。高效预训练旨在提高效率并降低 LLMs 预训练过程的成本。高效预训练又可以分为混合精度加速、模型缩放、初始化技术、优化策略和系统层级的加速。

混合精度加速通过使用低精度权重计算梯度、权重和激活值,然后在将其转换回高精度并应用于更新原始权重,从而提高预训练的效率。模型缩放通过使用小型模型的参数来扩展到大型模型,加速预训练的收敛并降低训练成本。初始化技术通过设计模型的初始化取值来加快模型的收敛速度。优化策略是重在设计轻量的优化器来降低模型训练过程中的内存消耗,系统层级的加速则是通过分布式等技术来从系统层面加速模型的预训练。

深入探讨模型、数据和框架:一份详尽的54页高效大语言模型综述

3. 高效微调

高效微调旨在提高 LLMs 微调过程的效率。常见的高效微调技术分为了两类,一类是基于参数高效的微调,一类是基于内存高效的微调。

基于参数高效微调(PEFT)的目标是通过冻结整个 LLM 主干,仅更新一小组额外的参数,将 LLM 调整到下游任务。在论文中,我们又将 PEFT 详细分成了基于适配器的微调、低秩适配、前缀微调和提示词微调。

基于内存的高效微调则是重在降低整个 LLM 微调过程中的内存消耗,比如减少优化器状态和激活值等消耗的内存。

深入探讨模型、数据和框架:一份详尽的54页高效大语言模型综述

4. 高效推理

高效推理旨在提高 LLMs 推理过程的效率。研究者将常见的高效推理技术分成了两大类,一类是算法层级的推理加速,一类是系统层级的推理加速。

算法层级的推理加速又可以分成两类:投机解码和 KV - 缓存优化。投机解码通过使用较小的草稿模型并行计算令牌,为较大目标模型创建猜测性前缀,从而以加速采样过程。KV - 缓存优化指的是优化在 LLMs 推理过程中 Key-Value(KV)对的重复计算。

系统层级的推理加速则是在指定硬件上优化内存访问次数,增大算法并行量等来加速 LLM 的推理。

深入探讨模型、数据和框架:一份详尽的54页高效大语言模型综述

5. 高效模型架构设计

对 LLMs 进行高效架构设计是指通过策略性优化模型结构和计算过程,以提高性能和可扩展性,同时最小化资源消耗。我们将高效的模型架构设计依据模型的种类分成了四大类:高效注意力模块、混合专家模型、长文本大模型以及可替代 transformer 的架构。

高效注意力模块旨在优化注意力模块中的复杂计算及内存占用,混合专家模型(MoE)则是通过将 LLMs 的某些模块的推理决策使用多个小的专家模型来替代从而达到整体的稀疏化,长文本大模型是专门设计来高效处理超长文本的 LLMs, 可替代 transformer 的架构则是通过重新设计模型架构,来降低模型的复杂度并达到后 transformer 架构相当的推理能力。

深入探讨模型、数据和框架:一份详尽的54页高效大语言模型综述

以数据为中心

以数据为中心方法侧重于数据的质量和结构在提高 LLMs 效率方面的作用。研究者在本文中详细讨论了两类以数据为中心的方法,包括数据选择和提示词工程

1. 数据选择

LLMs 的数据选择旨在对预训练 / 微调数据进行清洗和选择,例如去除冗余和无效数据,达到加快训练过程的目的。

深入探讨模型、数据和框架:一份详尽的54页高效大语言模型综述

2. 提示词工程

提示词工程通过设计有效的输入(提示词)来引导 LLMs 生成期望的输出,它的高效之处在于可以通过设计提示词,来达到和经过将繁琐的微调相当的模型表现。研究者将常见的的提示词工程技术分成了三大类:少样本的提示词工程、提示词压缩和提示词生成。

少样本的提示词工程通过向 LLM 提供有限的示例集以引导其对需要执行的任务进行理解。提示词压缩是通过压缩冗长的提示输入或学习和使用提示表示,加速 LLMs 对输入的处理。提示词生成旨在自动创建有效的提示,引导模型生成具体且相关的响应,而不是使用手动标注的数据。

深入探讨模型、数据和框架:一份详尽的54页高效大语言模型综述

深入探讨模型、数据和框架:一份详尽的54页高效大语言模型综述

以框架为中心

研究者调查了近来较为流行的高效 LLMs 框架,并列举了它们所能优化的高效任务,包括预训练、微调和推理(如下图所示)。

深入探讨模型、数据和框架:一份详尽的54页高效大语言模型综述

总结

在这份调查中,研究者为大家提供了一份关于高效 LLMs 的系统性回顾,这是一个致力于使 LLMs 更加民主化的重要研究领域。他们一开始就解释了为什么需要高效 LLMs。在一个有序的框架下,本文分别从以模型的中心、以数据的中心和以框架为中心的角度分别调查了 LLMs 的算法层面和系统层面的高效技术。

研究者相信,在 LLMs 和以 LLMs 为导向的系统中,效率将发挥越来越重要的作用。他们希望这份调查能够帮助研究人员和实践者迅速进入这一领域,并成为激发新的高效 LLMs 研究的催化剂。

以上是深入探讨模型、数据和框架:一份详尽的54页高效大语言模型综述的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何配置Debian Apache日志格式 如何配置Debian Apache日志格式 Apr 12, 2025 pm 11:30 PM

本文介绍如何在Debian系统上自定义Apache的日志格式。以下步骤将指导您完成配置过程:第一步:访问Apache配置文件Debian系统的Apache主配置文件通常位于/etc/apache2/apache2.conf或/etc/apache2/httpd.conf。使用以下命令以root权限打开配置文件:sudonano/etc/apache2/apache2.conf或sudonano/etc/apache2/httpd.conf第二步:定义自定义日志格式找到或

Tomcat日志如何帮助排查内存泄漏 Tomcat日志如何帮助排查内存泄漏 Apr 12, 2025 pm 11:42 PM

Tomcat日志是诊断内存泄漏问题的关键。通过分析Tomcat日志,您可以深入了解内存使用情况和垃圾回收(GC)行为,从而有效定位和解决内存泄漏。以下是如何利用Tomcat日志排查内存泄漏:1.GC日志分析首先,启用详细的GC日志记录。在Tomcat启动参数中添加以下JVM选项:-XX: PrintGCDetails-XX: PrintGCDateStamps-Xloggc:gc.log这些参数会生成详细的GC日志(gc.log),包含GC类型、回收对象大小和时间等信息。分析gc.log

debian readdir如何实现文件排序 debian readdir如何实现文件排序 Apr 13, 2025 am 09:06 AM

在Debian系统中,readdir函数用于读取目录内容,但其返回的顺序并非预先定义的。要对目录中的文件进行排序,需要先读取所有文件,再利用qsort函数进行排序。以下代码演示了如何在Debian系统中使用readdir和qsort对目录文件进行排序:#include#include#include#include//自定义比较函数,用于qsortintcompare(constvoid*a,constvoid*b){returnstrcmp(*(

如何优化debian readdir的性能 如何优化debian readdir的性能 Apr 13, 2025 am 08:48 AM

在Debian系统中,readdir系统调用用于读取目录内容。如果其性能表现不佳,可尝试以下优化策略:精简目录文件数量:尽可能将大型目录拆分成多个小型目录,降低每次readdir调用处理的项目数量。启用目录内容缓存:构建缓存机制,定期或在目录内容变更时更新缓存,减少对readdir的频繁调用。内存缓存(如Memcached或Redis)或本地缓存(如文件或数据库)均可考虑。采用高效数据结构:如果自行实现目录遍历,选择更高效的数据结构(例如哈希表而非线性搜索)存储和访问目录信

Debian syslog如何学习 Debian syslog如何学习 Apr 13, 2025 am 11:51 AM

本指南将指导您学习如何在Debian系统中使用Syslog。Syslog是Linux系统中用于记录系统和应用程序日志消息的关键服务,它帮助管理员监控和分析系统活动,从而快速识别并解决问题。一、Syslog基础知识Syslog的核心功能包括:集中收集和管理日志消息;支持多种日志输出格式和目标位置(例如文件或网络);提供实时日志查看和过滤功能。二、安装和配置Syslog(使用Rsyslog)Debian系统默认使用Rsyslog。您可以通过以下命令安装:sudoaptupdatesud

Debian syslog如何配置防火墙规则 Debian syslog如何配置防火墙规则 Apr 13, 2025 am 06:51 AM

本文介绍如何在Debian系统中使用iptables或ufw配置防火墙规则,并利用Syslog记录防火墙活动。方法一:使用iptablesiptables是Debian系统中功能强大的命令行防火墙工具。查看现有规则:使用以下命令查看当前的iptables规则:sudoiptables-L-n-v允许特定IP访问:例如,允许IP地址192.168.1.100访问80端口:sudoiptables-AINPUT-ptcp--dport80-s192.16

Debian邮件服务器SSL证书安装方法 Debian邮件服务器SSL证书安装方法 Apr 13, 2025 am 11:39 AM

在Debian邮件服务器上安装SSL证书的步骤如下:1.安装OpenSSL工具包首先,确保你的系统上已经安装了OpenSSL工具包。如果没有安装,可以使用以下命令进行安装:sudoapt-getupdatesudoapt-getinstallopenssl2.生成私钥和证书请求接下来,使用OpenSSL生成一个2048位的RSA私钥和一个证书请求(CSR):openss

Debian Nginx日志路径在哪里 Debian Nginx日志路径在哪里 Apr 12, 2025 pm 11:33 PM

Debian系统中,Nginx的访问日志和错误日志默认存储位置如下:访问日志(accesslog):/var/log/nginx/access.log错误日志(errorlog):/var/log/nginx/error.log以上路径是标准DebianNginx安装的默认配置。如果您在安装过程中修改过日志文件存放位置,请检查您的Nginx配置文件(通常位于/etc/nginx/nginx.conf或/etc/nginx/sites-available/目录下)。在配置文件中

See all articles