5.大模型高效微调(PEFT)未来发展趋势

2024-06-11 09:36

本文主要是介绍5.大模型高效微调(PEFT)未来发展趋势,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PEFT 主流技术分类

请添加图片描述

UniPELT 探索PEFT 大模型的统一框架(2022)

UIUC 和Meta AI 研究人员发表的UniPELT 提出将不同的PEFT 方法模块化。
通过门控机制学习激活最适合当前数据或任务的方法,尤其是最常见的3大类PEFT 技术:

  • Adapters
  • Soft Prompts
  • Reparametrization-based

作者试图将已经被广泛证明有效的技术,整合为一个统一的微调框架。针对不同的下游任务,可以学习和配置不同的微调模块。

请添加图片描述

UniPELT 探索PEFT 大模型的统一框架

关于组合3类主流PEFT技术的探讨:

  • Adapter:
    • 接入位置(如:FFN)
    • 接入方式(串行or 并行)
    • MLP 设计(△h)
  • Soft Prompts:
    • 嵌入方式(Prompt-tuning, Prefix-Tuning, P-Tuning)
    • Prompt 微调方法(手工生成or 连续可微优化)
  • Reparametrization-based:
    • 缩放因子(Scale: Rank r)
    • 模型参数/模块类型(如:WQ, WV)

(IA)3 探索新的增量训练方法(2022)

请添加图片描述

为了使微调更加高效,北卡罗来纳教堂山分校的研究人员提出新的增量训练方法(IA)3 (通过学习向量来对激活层加权进行缩放,Infused Adapterby Inhibiting and Amplifying Inner Activations)
本文基于作者团队之前的工作T0 大模型,修改了损失函数以适应小样本学习,无需针对特定任务进行调整或修改即可应用于新任务,命名为TFew,并在RAFT 基准测试上取得了全新的SOTA结果,超过了人类基准水平。

(IA)3 探索新的增量训练方法

  • 与LoRA相似,IA3具有许多相同的优势:
  • IA3通过大幅减少可训练参数的数量使微调更加高效。(对于T0,一个使用IA3模型仅有大约0.01%的可训练参数,而即使是LoRA也有大于0.1%的可训练参数)
  • 原始的预训练权重保持冻结状态,这意味着您可以构建多个轻量且便携的IA3模型,用于各种基于它们构建的下游任务使用IA3进行微调的模型的性能与完全微调模型的性能相媲美。
  • IA3不会增加推理延迟,因为适配器权重可以与基础模型合并。
  • 原则上,IA3可以应用于神经网络中的任何权重矩阵子集,以减少可训练参数的数量。根据作者的实现,IA3权重被添加到Transformer模型的关键、值和前馈层中。具体来说,对于Transformer模型,IA3权重被添加到关键和值层的输出,以及每个Transformer块中第二个前馈层的输入。

鉴于注入IA3参数的目标层,可根据权重矩阵的大小确定可训练参数的数量。

原则上,IA3可以应用于神经网络中的任何权重矩阵子集,以减少可训练参数的数量。根据作者的实现,IA3权重被添加到Transformer模型的K、V和FFN中。具体来说,对于Transformer模型,IA3权重被添加到关键和值层的输出,以及每个Transformer块中第二个前馈层的输入。
根据注入IA3参数的目标层,可以根据权重矩阵的大小确定可训练参数的数量。

请添加图片描述

大模型高效微调技术未来发展趋势

  1. 更高效的参数优化:研究将继续寻找更高效的方法来微调大型模型,减少所需的参数量和计算资源。这可能包括更先进的参数共享策略和更高效的LoRA等技术。
  2. 适应性和灵活性的提升:微调方法将更加灵活和适应性强,能够针对不同类型的任务和数据集进行优化。
  3. 跨模态和多任务学习:PEFT可能会扩展到跨模态(如结合文本、图像和声音的模型)和多任务学习领域,以增强模型处理不同类型数据和执行多种任务的能力。
  4. 模型压缩和加速:随着对边缘设备和移动设备部署AI模型的需求增加,PEFT技术可能会重点关注模型压缩和推理速度的提升。
  5. 低资源语言和任务的支持:将PEFT技术应用于低资源语言和特定领域任务,提供更广泛的语言和任务覆盖。

T技术可能会重点关注模型压缩和推理速度的提升。
5. 低资源语言和任务的支持:将PEFT技术应用于低资源语言和特定领域任务,提供更广泛的语言和任务覆盖。

这篇关于5.大模型高效微调(PEFT)未来发展趋势的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050794

相关文章

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解