分享
LLM参数高效微调综述和详解-从Adpter、PrefixTuning到LoRA
输入“/”快速插入内容
LLM参数高效微调综述和详解-从Adpter、PrefixTuning到LoRA
用户1961
用户1961
用户6574
用户6574
2024年7月18日修改
作者:
LeonYi
原文:
https://zhuanlan.zhihu.com/p/696057719
一、背景
1.1 Transformer结构
1.2 指令微调
在大量通用数据上进行预训练语言模型训练,然后再针对特定下游任务进行微调,达到领域适应(迁移学习)的目的。是NLP目前的主流范式。
指令微调在预训练语言模型微调的基础进行优化,其目的是尽量让下游任务的形式尽量接近预训练任务。
从而减少下游任务和预训练任务之间的Gap, 实现预训练语言模型适应下游任务,而非下游任务去适应模型
指令微调的效果要优于基于Zero/Few-shot的提示词工程的上下文学习。
但随着预训练语言模型进入LLM时代,其参数量愈发庞大。全量微调模型所有参数所需的显存早已水涨船高。
例如:
全参微调Qwen2-7B预估要2张80GB的A800,160GB显存
全参微调Qwen2-72B预估要20张80GB的A800,至少1600GB显存
而且,通常不同的下游任务还需要LLM的全量参数,对于算法服务部署来说简直是个灾难(当然,一种折衷做法就是全量微调后把增量参数进行SVD分解保存,推理时再合并参数 )。