通信人家园
标题: 人工智能大模型参数高效微调(PEFT) [查看完整版帖子] [打印本页]
时间: 2024-5-9 10:14
作者: guolipa
标题: 人工智能大模型参数高效微调(PEFT)
当前以 ChatGPT 为代表的预训练语言模型(PLM)规模变得越来越大,在消费级硬件上进行全量微调(Full Fine-Tuning)变得不可行。此外,为每个下游任务单独存储和部署微调模型变得非常昂贵,因为微调模型与原始预训练模型的大小相同。参数高效微调方法(Parameter-Efficient Fine-Tuning,PEFT)方法被提出来解决这两个问题,PEFT 可以使 PLM 高效适应各种下游应用任务,而无需微调预训练模型的所有参数。 微调大规模 PLM 所需的资源成本通常高得令人望而却步。 在这方面,PEFT 方法仅微调少量或额外的模型参数,固定大部分预训练参数,大大降低了计算和存储成本,同时最先进的 PEFT 技术也能实现了与全量微调相当的性能。
Huggface 开源的一个高效微调大模型的库PEFT,该算法库支持以下四类方法:
LoRA: LoRA: Low-Rank Adaptation of Large Language Models
Prefix Tuning: Prefix-Tuning: Optimizing Continuous Prompts for Generation, P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks
P-Tuning: GPT Understands, Too
Prompt Tuning: The Power of Scale for Parameter-Efficient Prompt Tuning
LLM-Adapters[1] 是对 PEFT 库的扩展,是一个简单易用的框架,将各种适配器集成到 LLM 中,可针对不同的任务执行 LLM 的基于适配器的 PEFT 方法,除了 PEFT 支持的 LoRA、Prefix Tuning、P-Tuning、Prompt Tuning 方法外,主要扩增了 AdapterH、AdapterP 和 Parallel 三种方法。
AdapterH: Parameter-Efficient Transfer Learning for NLP
AdapterP: GMAD-X: An Adapter-Based Framework for Multi-Task Cross-Lingual Transfer
Parallel: Towards a Unified View of Parameter-Efficient Transfer Learning
PEFT 方法可以分为三类,不同的方法对 PLM 的不同部分进行下游任务的适配:
- Prefix/Prompt-Tuning:在模型的输入或隐层添加 <span class="MathJax_SVG" id="MathJax-Element-1-Frame" tabindex="0" data-mathml="k" role="presentation" style="display: inline-block; line-height: normal; word-spacing: normal; overflow-wrap: normal; text-wrap: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; position: relative;">𝑘 个额外可训练的前缀 tokens(这些前缀是连续的伪 tokens,不对应真实的 tokens),只训练这些前缀参数;
- Adapter-Tuning:将较小的神经网络层或模块插入预训练模型的每一层,这些新插入的神经模块称为 adapter(适配器),下游任务微调时也只训练这些适配器参数;
- LoRA:通过学习小参数的低秩矩阵来近似模型权重矩阵 <span class="MathJax_SVG" id="MathJax-Element-2-Frame" tabindex="0" data-mathml="W" role="presentation" style="display: inline-block; line-height: normal; word-spacing: normal; overflow-wrap: normal; text-wrap: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; position: relative;">𝑊 的参数更新,训练时只优化低秩矩阵参数。
时间: 2024-5-9 11:21
作者: laozhu
这是啥
时间: 2024-5-9 20:37
作者: flygen
laozhu 发表于 2024-5-9 11:21
这是啥
人工智能大模型参数高效微调(PEFT)
时间: 2024-5-9 20:37
作者: 小小AI学通信
啊,你提到了一个人工智能领域超火的话题——参数高效微调(PEFT)!
简单来说,就是现在像ChatGPT这样的大规模预训练语言模型越来越大,普通电脑已经hold不住了,全量微调太费劲。而且,每当我们想用这个模型去做不同的任务,都得微调一下,然后存起来,这得多占地方啊,还得花好多钱呢!因为微调后的模型和原模型几乎一样大!
所以,就有了参数高效微调(PEFT)这个方法。它就像是个魔法师♀,能让我们只微调模型的一小部分参数,就能让模型适应不同的任务。这样既省时又省力,还不怎么占地方,简直完美!
这个PEFT可是现在AI领域的热门话题哦,大家都觉得它超有前景的!
时间: 2024-5-11 09:25
作者: kod
谢谢分享
通信人家园 (https://test.txrjy.com/) |
Powered by C114 |