什么?这个策略可以加速大模型推理2-2.5倍以上?

news/2024/10/17 23:33:11/

今天我要分享的是deepmind团队的文章《Accelerating Large Language Model Decoding
with Speculative Sampling》

代码

https://github.com/shreyansh26/Speculative-Sampling

背景

short continuations

指在给定的文本中,后续的一小段文本

the latency of parallel scoring of short continuations

对输入文本进行处理时,模型对后续的小段文本进行并行评分的延迟时间

并行评分指的是多个计算核心上同时对后续小段文本评分

一般认为延迟越小,模型的处理速度就越快,性能也就越好

Transformer sampling

transformer 中的 sampling 是指在训练和推理过程中,对输入序列进行采样的过程, 以减少计算量和提高效率

具体来说,Transformer 中的 sampling 通常是指对输入序列中的单词进行采样。在训练过程中,为了减少计算量,通常会对输入序列中的每个单词进行采样,只保留一部分单词。在推理过程中,为了生成输出序列,也需要对输入序列中的每个单词进行采样。

采样的方法有很多种,例如随机采样、重要性采样和最大似然采样等。不同的采样方法可以产生不同的效果,因此需要根据具体的任务和需求来选择合适的采样方法。

token

”Tokens” 通常指的是输入数据的基本单元。

在 NLP 中,例如在处理文本数据时,每个单词通常被视为一个单独的令牌。因此,一个句子可以被表示为一系列令牌,每个令牌对应于句子中的一个单词。

在 CV 中,令牌可以是图像中的单个像素、一组像素或者更高级别的特征。例如,在对象检测模型中,每个对象可以被表示为一系列令牌,每个令牌对应于对象在图像中的位置和特征。

问题

大模型中transform采样基本上受限于内存限制,如何加速大模型解码器推理

观察

由小模型产生小段文本基本上和大模型产生的token一致

从直觉上讲,在某些情况下,下一个token可能是很容易地预测出来。因此,如果在给定的标记或子序列上,草案和目标模型的分布具有高度的一致性,那么每次调用目标模型时,就可以生成多个token,而不必每次都调用目标模型

方法

提出推测采样策略并结合修改的拒绝采样策略可以保留目标模型在硬件(GPU)上的分布

  1. 生成长度为 𝐾 的短草稿。通过并行模型或通过调用更快的自回归模型𝐾 次来生成小模型。该小模型称为草稿模型,并重点关注它是自回归的情况。

  2. 使用采样的更大、更强大的大模型对草稿模型进行评分。我们将该模型称为目标模型。

  3. 使用修改后的拒绝采样方案,从左到右接受𝐾草稿token的子集,在此过程中恢复目标模型的分布。


http://www.ppmy.cn/news/1103818.html

相关文章

DQN算法概述及基于Pytorch的DQN迷宫实战代码

一. DQN算法概述 1.1 算法定义 Q-Learing是在一个表格中存储动作对应的奖励值,即状态-价值函数Q(s,a),这种算法存在很大的局限性。在现实中很多情况下,强化学习任务所面临的状态空间是连续的,存在无穷多个状态,这种情…

【深度学习】 Python 和 NumPy 系列教程(八):Python类

目录 一、前言 二、实验环境 三、Python类(Class) 1、初始化方法(__init__) 2、属性和实例变量 3、方法和实例方法 4、继承 5、多态 6、类变量和静态方法 7、魔术方法 一、前言 Python是一种高级编程语言,由…

Gurobi使用(一)——操作指南(转自知乎)

好像还是要学一下Gurobi如何使用的,不然这代码着实有点抽象了 一、入门操作 一般来说,求解一个数学规划模型的时候,通常会按照如下步骤解决问题: 设置变量---addVar()。 更新变量空间---update()。 设定目标函数---setObjective()。 设定约…

【Redis】4、rsync远程同步

与inodify结合使用,实现实时同步 rsync简介 rsync(Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,;支持增量备份,并保持链接和权限&#…

C# OpenVino Yolov8 Detect 目标检测

效果 项目 代码 using OpenCvSharp; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using static System.Net.Mime.MediaT…

9月6日上课内容 redis高可用

RDB 持久化 RDB持久化是指在指定的时间间隔内将内存中当前进程中的数据生成快照保存到硬盘(因此也称作快照持久化),用二进制压缩存储,保存的文件后缀是rdb;当Redis重新启动时,可以读取快照文件恢复数据。 1. 触发条件 RDB持久化…

【笔试强训选择题】Day39.习题(错题)解析

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!&#xff…

FirmAFL

FirmAFL使用并改进了Firmdyne模拟方式,并利用AFL对IoT固件实施高通量灰盒Fuzzing。 一、项目简介 FIRM-AFL 是 第一个针对物联网固件的高吞吐量灰盒模糊测试器。 支持mipsel、mipseb和armel三种CPU架构 ,涵盖Firmadyne数据库中90.2%的固件。 FIRM-AFL 解…