LayerSkip – Meta推出加速大型语言模型推理过程的技术

我们提出的 LayerSkip 是一种端到端的解决方案,可加快大型语言模型(LLM)的推理速度。 首先,在训练过程中,我们采用了层间丢弃技术(layer dropout),早期层间丢弃率较低,后期层间丢弃率较高。 其次,在推理过程中,我们证明这种训练方法提高了早期退出的准确性,而无需在模型中添加任何辅助层或模块。 第三,我们提出了一种新颖的自推测解码方案,即在早期层退出,并通过模型的其余层进行验证和校正。 与其他推测式解码方法相比,我们提出的自推测式解码方法占用的内存更少,并能从草稿和验证阶段的共享计算和激活中获益。 我们在不同大小的 Llama 模型上进行了不同类型的训练实验:从头开始预训练、持续预训练、在特定数据域上进行微调,以及在特定任务上进行微调。 我们实施了推理解决方案,结果表明,CNN/DM 文档的摘要速度提高了 2.16 倍,编码速度提高了 1.82 倍,TOPv2 语义解析任务的速度提高了 2.0 倍。 我们在 https://github.com/facebookresearch/LayerSkip 开源了我们的代码。

快速上手

bash 复制代码
$ git clone git@github.com:facebookresearch/LayerSkip.git
$ cd LayerSkip

创建环境

bash 复制代码
$ conda create --name layer_skip python=3.10
$ conda activate layer_skip

$ pip install -r requirements.txt

访问模型: 为了观察加速情况,您需要访问使用 LayerSkip 配方训练过的 LLM。 我们在 HuggingFace 上提供了 6 个检查点,它们是使用 LayerSkip 配方持续预训练的不同 Llama 模型:

代码

python 复制代码
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from copy import deepcopy

checkpoint = "facebook/layerskip-llama3.2-1B"
early_exit = 4
device = "cuda" if torch.cuda.is_available() else "cpu"
prompt = "typing import List\ndef bucket_sort(A: List):"

model = AutoModelForCausalLM.from_pretrained(checkpoint, device_map="auto", use_safetensors=True, torch_dtype=torch.bfloat16)
tokenizer = AutoTokenizer.from_pretrained(checkpoint)

generation_config = model.generation_config

weights_memo = {id(w): w for w in model.parameters()}
assistant_model = deepcopy(model, memo=weights_memo) # Clone main model with shared weights
assistant_model.model.layers = assistant_model.model.layers[:early_exit] # Apply early exit
del assistant_model.model.layers[early_exit:]

inputs = tokenizer(prompt, return_tensors="pt").to(device)

outputs = model.generate(**inputs, generation_config=generation_config, assistant_model=assistant_model, max_new_tokens=512)
print(tokenizer.batch_decode(outputs, skip_special_tokens=True)[0])

或者Torchrun

bash 复制代码
$ torchrun generate.py --model facebook/layerskip-llama2-7B \
    --sample True \
    --max_steps 512

LayerSkip的项目地址

感谢大家花时间阅读我的文章,你们的支持是我不断前进的动力。期望未来能为大家带来更多有价值的内容,请多多关注我的动态!

相关推荐
Microvision维视智造3 分钟前
从“看见“到“看懂“——工业视觉的大模型时刻到了吗?
人工智能·计算机视觉·视觉检测·机器视觉
janeboe10 分钟前
抖音黑科技兵马俑总站源头简博科技 | 抖音锚点不合规挂载新规今日生效,短视频引流直播间迈入三端全链路监管时代
大数据·人工智能·科技
lialaka13 分钟前
「未来星途(Future_Odyssey)」——全语音_3D_AI_具身交互智能数字教官与全双工星际科普沉浸舱[1]
人工智能·3d·交互
hongmai66688814 分钟前
ESP32-C61-WROOM-1-N8R2:Wi-Fi 6与RISC-V融合的中坚力量
人工智能·单片机·嵌入式硬件·物联网·智能家居·risc-v
正在走向自律17 分钟前
用豆包Seed Evolving打造全功能【AI智能记账】小程序,开源可落地
人工智能·小程序·开源·智能记账
小保CPP25 分钟前
OpenCV C++提取webp动图里的图片
c++·人工智能·opencv·计算机视觉
B8017913Y25 分钟前
手动整理录音太慢错漏多?2026专业AI录音可高效整理内容
人工智能
梦想的颜色28 分钟前
AI Agent 可观测性:破解多步推理黑盒|从概念、架构、指标到生产落地图鉴
人工智能·ai agent 可观测性·llm 追踪 trace·llmops 硬核实战·agent 生产运维
IT智慧客073131 分钟前
Harness 到底指什么
人工智能
大模型任我行39 分钟前
阿里:端到端文档解析模型OvisOCR2
人工智能·语言模型·自然语言处理·论文笔记