大模型提效105篇必读论文和代码汇总,涵盖预训练、注意力、微调等7个方向

大型语言模型(LLMs)在NLP领域中具有显著的优势,它们在语言理解和生成方面表现出了强大的能力,甚至可以进行复杂的推理任务。这些能力能让大模型在许多领域都有广泛的应用前景,比如文本生成、对话系统、机器翻译、情感分析等。然而,随着模型规模的增大,所需的计算资源和存储空间也急剧增加...压力于是给到了模型的训练、部署和运行。

因此,我们对于大模型效率的追求越来越高,更多人专注于开发有效技术以提高LLMs的效率。为帮助同学们在这个领域做出自己的创新,我这次就整理了对高效LLMs研究的一些成果来和各位分享,爆肝了105篇,主要从模型和数据两个方面入手,并且细分了7个方向。

全部论文和代码看文末

以模型为中心的方法

模型压缩

SparseGPT: Massive Language models can be accurate pruned in one-shot

大规模语言模型可以在一次操作中精确剪枝

「方法简述:」论文首次展示了一种名为SparseGPT的新方法,可以在一次操作中将大规模语言模型剪枝到至少50%的稀疏度,而无需重新训练,同时保持较小的精度损失。这种方法可以在不到4.5小时内在最大的开源模型OPT-175B和BLOOM-176B上执行,并且可以达到60%的非结构化稀疏度,同时困惑度几乎没有增加。SparseGPT可以应用于半结构化模式,并与权重量化方法兼容。

OPTQ: Accurate Quantization for Generative Pre-trained Transformers

生成式预训练 Transformer 的精确量化

「方法简述:」论文提出了一种名为OPTQ的新方法,可以在一个GPU上对大型语言模型进行高效的压缩。该方法基于近似二阶信息进行一次性权重量化,可以将1750亿个参数的GPT模型压缩到每个权重只有3或4位,同时保持了较高的精度。相对于先前的方法,该压缩方法可以提高2倍以上的压缩增益,并且可以在高端和成本效益更高的GPU上实现端到端推理速度的提高。

Towards the Law of Capacity Gap in Distilling Language Models

迈向蒸馏语言模型能力差距的规律

「方法简述:」Language model distillation是一种将大型教师模型的知识蒸馏到小型学生模型的方法。但是,当教师和学生模型之间的容量差距较大时,这种方法很困难。这是因为较大的教师模型并不总是能产生比从较小的教师模型蒸馏出来的更好的学生模型。本文发现,在不同的学生规模和架构中,最佳的容量差距几乎是一致的,这被称为容量差距定律。该定律指导我们从7B教师模型蒸馏出一个3B的学生模型(MiniMA),并在基准测试中表现出色。

  1. LLM-Pruner: On the Structural Pruning of Large Language Models

  2. QuIP: 2-bit quantization of large language models with guarantees

  3. AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration

  4. OWQ: Lessons Learned from Activation Outliers for Weight Quantization in Large Language Models

  5. SpQR: A Sparse-Quantized Representation for Near-Lossless LLM Weight Compression

  6. FineQuant: Unlocking Efficiency with Fine-Grained Weight-Only Quantization for LLMs

  7. ZeroQuant-V2: Exploring Post-training Quantization in LLMs from Comprehensive Study to Low Rank Compensation

  8. ZeroQuant-FP: A Leap Forward in LLMs Post-Training W4A8 Quantization Using Floating-Point Formats

  9. OliVe: Accelerating Large Language Models via Hardware-friendly Outlier-Victim Pair Quantization

  10. RPTQ: Reorder-based Post-training Quantization for Large Language Models

  11. Outlier Suppression+: Accurate Quantization of Large Language Models by Equivalent and Optimal Shift and Scaling

  12. QLLM: Accurate and Efficient Low-Bitwidth Quantization for Large Language Models

  13. SmoothQuant: Accurate and Efficient Post-Training Quantization for Large Language Models

  14. LLM-QAT: Data-Free Quantization Aware Training for Large Language Models

  15. LoRAShear: Efficient Large Language Model Structured Pruning and Knowledge Recovery

  16. Sheared LLaMA: Accelerating Language Model Pre-training via Structured Pruning

  17. LoRAPrune: Pruning meets Low-Rank Parameter-Efficient Fine-Tuning

  18. A Simple and Effective Pruning Approach for Large Language Models

  19. One-Shot Sensitivity-Aware Mixed Sparsity Pruning for Large Language Models

  20. TensorGPT: Efficient Compression of the Embedding Layer in LLMs based on the Tensor-Train Decomposition

  21. LoSparse: Structured Compression of Large Language Models based on Low-Rank and Sparse Approximation

  22. Baby Llama: Knowledge Distillation from an Ensemble of Teachers Trained on a Small Dataset with no Performance Asset

  23. GKD: Generalized Knowledge Distillation for Auto-regressive Sequence Models

  24. Token-Scaled Logit Distillation for Ternary Weight Generative Language Models

  25. Lion: Adversarial Distillation of Closed-Source Large Language Model

  26. Specializing Smaller Language Models towards Multi-Step Reasoning

  27. SCOTT: Self-Consistent Chain-of-Thought Distillation

  28. Distilling Reasoning Capabilities into Smaller Language Models

高效预训练

Learning to Grow Pretrained Models for Efficient Transformer Training

学习为高效的 transformer 训练预训练模型

「方法简述:」论文提出了一种加速Transformer训练的方法,通过学习如何生长预训练的Transformer模型。具体来说,作者将小模型的参数线性映射到大模型中进行初始化。为了易于学习,作者将线性变换分解为宽度和深度增长操作符的组合,并进一步使用这些增长操作符的克罗内克分解来编码架构知识。在语言和视觉Transformers上的大量实验表明,作者学习的线性增长操作符(LiGO)可以节省高达50%从零开始训练的计算成本,同时始终优于强基线,这些基线也重用较小的预训练模型来初始化更大的模型。

  1. Reusing Pretrained Models by Multi-linear Operators for Efficient Training

  2. FLM-101B: An Open LLM and How to Train It with $100 K Budget

  3. Symbolic Discovery of Optimization Algorithms

  4. Sophia: A Scalable Stochastic Second-order Optimizer for Language Model Pre-training

高效微调

OpenDelta: A Plug-and-play Library for Parameter-efficient Adaptation of Pre-trained Models

用于预训练模型参数高效自适应的即插即用库

「方法简述:」论文介绍了一种名为OpenDelta的开源库,用于解决大型预训练模型(PTMs)适应下游任务的挑战。OpenDelta是一个即插即用的库,提供了各种delta tuning方法的实现。该创新技术消除了修改骨干PTM代码的需求,使OpenDelta能够与不同的甚至新的PTM兼容。OpenDelta旨在简单、模块化和可扩展,为研究人员和从业者提供了一个高效的平台来适应大型PTMs。

  1. LLM-Adapters: An Adapter Family for Parameter-Efficient Fine-Tuning of Large Language Models

  2. Compacter: Efficient Low-Rank Hypercomplex Adapter Layers

  3. LoRA-FA: Memory-efficient Low-rank Adaptation for Large Language Models Fine-tuning

  4. LoraHub: Efficient Cross-Task Generalization via Dynamic LoRA Composition

  5. LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models

  6. Multi-Head Adapter Routing for Cross-Task Generalization

  7. Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning

  8. DyLoRA: Parameter-Efficient Tuning of Pretrained Models using Dynamic Search-Free Low Rank Adaptation

  9. Tied-Lora: Enhacing Parameter Efficiency of LoRA with Weight Tying

  10. LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-init Attention

  11. Compress, Then Prompt: Improving Accuracy-Efficiency Trade-off of LLM Inference with Transferable Prompt

  12. Multi-Task Pre-Training of Modular Prompt for Few-Shot Learning

  13. Multitask Prompt Tuning Enables Parameter-Efficient Transfer Learning

  14. Winner-Take-All Column Row Sampling for Memory Efficient Adaptation of Language Model

  15. Memory-Efficient Selective Fine-Tuning

  16. Full Parameter Fine-tuning for Large Language Models with Limited Resources

  17. Fine-Tuning Language Models with Just Forward Passes

  18. Memory-Efficient Fine-Tuning of Compressed Large Language Models via sub-4-bit Integer Quantization

  19. LoftQ: LoRA-Fine-Tuning-Aware Quantization for Large Language Models

  20. QA-LoRA: Quantization-Aware Low-Rank Adaptation of Large Language Models

  21. QLoRA: Efficient Finetuning of Quantized LLMs

有效推理

Accelerating Transformer Inference for Translation via Parallel Decoding

通过并行解码加速Transformer翻译推理

「方法简述:」论文提出了一种加速Transformer翻译推理的方法,通过并行解码来解决自回归解码限制了Transformer在机器翻译(MT)中效率的问题。作者提出了三种并行解码算法,并在不同的语言和模型上进行了测试,结果表明并行化可以将速度提高多达38%相对于标准的自回归解码,并且在并行资源上扩展该方法时几乎提高了2倍。最后,作者引入了一个解码依赖图可视化工具(DDGviz),可以让我们了解模型如何学习标记之间的条件依赖性并检查解码过程。

  1. PaSS: Parallel Speculative Sampling

  2. Medusa: Simple Framework for Accelerating LLM Generation with Multiple Decoding Heads

  3. Fast Inference from Transformers via Speculative Decoding

  4. Accelerating LLM Inference with Staged Speculative Decoding

  5. Accelerating Large Language Model Decoding with Speculative Sampling

  6. Speculative Decoding with Big Little Decoder

  7. SpecInfer: Accelerating Generative LLM Serving with Speculative Inference and Token Tree Verification

  8. Inference with Reference: Lossless Acceleration of Large Language Models

  9. Model Tells You What to Discard: Adaptive KV Cache Compression for LLMs

  10. SkipDecode: Autoregressive Skip Decoding with Batching and Caching for Efficient LLM Inference

  11. H2O: Heavy-Hitter Oracle for Efficient Generative Inference of Large Language Models

  12. Scissorhands: Exploiting the Persistence of Importance Hypothesis for LLM KV Cache Compression at Test Time

  13. Dynamic Context Pruning for Efficient and Interpretable Autoregressive Transformers

体系结构

「高效注意力」

GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints

从多头检查点训练通用多查询Transformer模型

「方法简述:」本文提出了一种名为grouped-query attention(GQA)的方法,是对多查询注意力(MQA)的一种泛化。与仅使用单个键值头的MQA相比,GQA使用中间数量的键值头(多于一个,少于查询头的数量),可以在不降低翻译质量的情况下大大提高解码器的推理速度。作者还提出了一种将现有的多头语言模型检查点上训练为具有MQA的模型的方法,并展示了经过上训练的GQA在速度上与MQA相当,在质量上接近多头注意力。

  1. Sumformer: Universal Approximation for Efficient Transformers

  2. FLuRKA: Fast fused Low-Rank & Kernel Attention

  3. Faster Causal Attention Over Large Sequences Through Sparse Flash Attention

  4. HyperAttention: Long-context Attention in Near-Linear Time

「混合专家」

  1. PanGu-Σ: Towards Trillion Parameter Language Model with Sparse Heterogeneous Computing

  2. Mixture-of-Experts Meets Instruction Tuning:A Winning Combination for Large Language Models

以数据为中心的方法

数据选择

Data-Efficient Finetuning Using Cross-Task Nearest Neighbors

使用跨任务最近邻进行数据高效微调

「方法简述:」论文提出了一种名为cross-task nearest neighbors的方法,用于从大量多任务数据中检索与目标任务最相似的已标记示例,以进行高效的微调。该方法使用少量未标记的目标任务示例来检索最相似的已标记示例,从而避免了在统一采样的提示多任务数据上微调模型的做法。实验结果表明,使用这种方法微调的模型比使用其他方法微调的模型表现更好,并且可以提供更好的初始化,以便在目标任务数据上进行少样本微调。

  1. Data Selection for Language Models via Importance Resampling

  2. MoDS: Model-oriented Data Selection for Instruction Tuning

  3. Instruction Mining: When Data Mining Meets Large Language Model Finetuning

  4. Data Selection for Fine-tuning Large Language Models Using Transferred Shapley Values

  5. Maybe Only 0.5% Data is Needed: A Preliminary Exploration of Low Training Data Instruction Tuning

  6. AlpaGasus: Training A Better Alpaca with Fewer Data

  7. LIMA: Less Is More for Alignment

提示工程

Unified Demonstration Retriever for In-Context Learning

上下文学习的统一演示检索器

「方法简述:」论文提出了一种名为Unified Demonstration Retriever(UDR)的方法,用于检索各种任务的演示。该方法将不同任务的训练信号转换为语言模型反馈的统一列表级排名形式,并使用多任务列表级排名训练框架进行训练。实验结果表明,UDR在不同场景下表现出色,包括不同的语言模型、未见过的数据集合、不同的演示数量等。

Adapting Language Models to Compress Contexts

调整语言模型以压缩上下文

「方法简述:」论文提出了AutoCompressors方法,用于将预训练的语言模型适应为能够压缩长上下文的模型。这些语言模型可以将长上下文压缩成简洁的摘要向量,然后作为软提示提供给模型使用。作者通过微调OPT和Llama-2模型,展示了AutoCompressors可以利用长上下文来提高困惑度的能力。在上下文学习中,作者发现摘要向量是纯文本演示文稿的良好替代品,可以提高准确性并降低推理成本。最后,作者探索了预先计算大型语料库摘要向量的好处,并将其应用于检索增强的语言建模和段落重排任务。

  1. Large Language Models Are Latent Variable Models: Explaining and Finding Good Demonstrations for In-Context Learning

  2. Self-Adaptive In-Context Learning: An Information Compression Perspective for In-Context Example Selection and Ordering

  3. Selective Annotation Makes Language Models Better Few-Shot Learners

  4. Instruction Induction: From Few Examples to Natural Language Task Descriptions

  5. TeGit: Generating High-Quality Instruction-Tuning Data with Text-Grounded Task Design

  6. Self-Instruct: Aligning Language Model with Self Generated Instructions

  7. Measuring and Narrowing the Compositionality Gap in Language Models

  8. ReAct: Synergizing Reasoning and Acting in Language Models

  9. Least-to-Most Prompting enables complex reasoning in large language models

  10. Graph of Thoughts: Solving Elaborate Problems with Large Language Models

  11. Self-Consistency Improves Chain of Thinking Reasoning in Language Models

  12. Graph of Thoughts: Solving Elaborate Problems with Large Language Models

  13. Contrastive Chain-of-Thought Prompting

  14. LongLLMLingua: Accelerating and Enhancing LLMs in Long Context Scenarios via Prompt Compression

  15. Discrete Prompt Compression with Reinforcement Learning

  16. Nugget 2D: Dynamic Contextual Compression for Scaling Decoder-only Language Models

关注下方《学姐带你玩AI》🚀🚀🚀

回复“高效大模型”获取105篇论文+代码合集

码字不易,欢迎大家点赞评论收藏

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

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

相关文章

论文阅读——EfficientViT(cvpr2023)

EfficientViT: Memory Efficient Vision Transformer with Cascaded Group Attention 1、 从三个角度探讨如何提高vision transformers的效率:内存访问、计算冗余和参数使用。 2.1. Memory Efficiency 红色字体表示操作所花费的时间主要由内存访问决定,…

C语言 linux文件操作(一)

文章目录 一、linux文件权限1.1文件描述符1.2文件描述符的范围和默认值1.3打开文件和文件描述符1.4标准文件描述符1.5文件描述符的重定向和关闭1.6I/O 操作1.7使用文件描述符进行进程通信1.8资源限制 二、C语言文件读写2.1open 函数2.2 flags参数详解2.3 lseek 函数 一、linux文…

Javaweb之数据库连接池以及lombok类库的详细解析

3. 数据库连接池 在前面我们所讲解的mybatis中,使用了数据库连接池技术,避免频繁的创建连接、销毁连接而带来的资源浪费。 下面我们就具体的了解下数据库连接池。 3.1 介绍 没有使用数据库连接池: 客户端执行SQL语句:要先创建一…

JS + CSS 实现高亮关键词(不侵入DOM)

之前在做关键词检索高亮功能的时候,研究了下目前前端实现高亮的几种方式,第一就是替换dom元素实现高亮,第二就是利用浏览器新特性Css.highlights结合js选区与光标与CSS高亮伪类实现,实现功能如下: 一、页面布局 一个…

叫板GPT-4的Gemini,我做了一个聊天网页,可图片输入,附教程

先看效果: 简介 Gemini 是谷歌研发的最新一代大语言模型,目前有三个版本,被称为中杯、大杯、超大杯,Gemini Ultra 号称可与GPT-4一较高低: Gemini Nano(预览访问) 为设备端体验而构建的最高效模型,支持离线使用场景。…

[Redis实战]分布式锁

四、分布式锁 4.1 基本原理和实现方式对比 分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行&#xf…

Rust赋值语句和数字类型

赋值语句 在Rust中,使用let关键字定义变量。格式是let 变量名:变量类型 变量值;,下边是个例子: let age:i32 18;这就是定义一个有符号32位的数字变量age,而其中的值是18。 而在C语言定义变量的语句格式是类型 变量名 变量值。…

【网络技术】【Kali Linux】Wireshark嗅探(三)用户数据报(UDP)协议

一、实验目的 本次实验使用wireshark流量分析工具进行网络嗅探,旨在了解UDP协议的报文格式。 二、网络环境设置 本次实验使用Kali Linux虚拟机完成,主机操作系统为Windows 11,虚拟化平台选择Oracle VM VirtualBox,组网模式选择…

electron使用webview出现空白页面解决办法

在使用webview标签的时候,出现了空白页面的情况,刚开始以为没有生效,后来发现页面上是有这个标签的,但是没有展示出内容,后来看了官网,默认情况下,webview标签在 Electron > 5 中被禁用。 &l…

pytorch机器学习各种激活函数总结(不完整学习更新中~)

pytorch各种激活函数总结 0.思维导图预览1. ReLU函数2. Sigmoid函数3. Softmax函数4. Tanh函数5.(学习后更新) 0.思维导图预览 1. ReLU函数 ReLU(Rectified Linear Unit)线性整流函数 其公式为: f ( x ) M a x ( 0 …

传感器原理与应用复习--具体场景的应用

文章目录 测量转速测量厚度测量加速度测量液体压强测量含水量测量温度测量流速 测量转速 磁电感应传感器 霍尔传感器 测量厚度 电涡流传感器 测量加速度 应变式传感器 差动变压器式传感器 测量液体压强 电感传感器 电容传感器 测量含水量 半导体传感器 微波传感器…

Prototype原型模式(对象创建)

原型模式:Prototype 链接:原型模式实例代码 注解 模式定义 使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。 ——《设计模式》GoF 目的 在软件系统中,经常面临这“某些结构复杂的对象”的创建工作&am…

Redis的集群模式:主从 哨兵 分片集群

基于Redis集群解决单机Redis存在的问题,在之前学Redis一直都是单节点部署 单机或单节点Redis存在的四大问题: 数据丢失问题:Redis是内存存储,服务重启可能会丢失数据 > 利用Redis数据持久化的功能将数据写入磁盘并发能力问题…

基于YOLOv8的目标跟踪技术

💡💡💡本文摘要:介绍了YOLOv8自带的目标跟踪技术以及评价指标,并教会你如何在YOLOv8使用 1.YOLOv8自带两种跟踪方法 ultralytics/cfg/trackers/文件夹下 1.1 ByteTrack介绍 https://arxiv.org/pdf/2110.06864.pdf 摘…

Python爬虫---selenium基本使用(支持无界面浏览器PhantomJS和Chrome handless)

为什么使用selenium? 使用urllib.request.urlopen()模拟浏览器有时候获取不到数据,所以使用selenium (1) selenium是一个用于web应用程序测试的工具 (2) selenium 测试直接运行在浏览器中,就像真正的用户在操作一样 (3) 支持通过各种driver (FirfoxDri…

PAT 乙级 1057 数零壹

给定一串长度不超过 10 5 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串 PAT (Bas…

人大金仓数据库与mysql比较

简介 人大金仓数据库是基于 PostgreSQL 开发的。 SQL语言 语法 关键字 KES: MYSQL: 语句 *特性MYSQLKES字符串字面量单引号()或 双引号(")十六进制字面量0x5461626c65,X5461626c65/BIT字面量b1000001,0b1000001/Boolean字面量常…

C#中汉字转区位码

目录 一、关于区位码 1.区位码定义 2.算法 二、实例 三、生成效果 四、程序中的知识点 1.byte[] GetBytes(string s) 2.字节数组转short类型 一、关于区位码 1.区位码定义 区位码是一个4位的十进制数,每个区位码都对应着一个唯一的汉字,区位码…

软件测试方法分类-按照开发阶段划分细讲

前面我给出了整体的软件测试分类,那么接下来,我会将每个分类进行细讲。 第一个我们要说到的就是按照开发阶段划分。 我们都知道软件测试方法分类中,如果按照开发阶段划分,可以分为: 1,单元测试 (Unit Te…

androidStudio 没有新建flutter工程的入口?

装了flutter dart 插件 执行了 flutter doctor 也执行了 flutter doctor --android-license 最后重启了 androidStudio 还是没发现在哪新建flutter项目工程 原来 plugins 下的 Android APK Support没有勾选