AAAI24 - Model Reuse Tutorial

前言

如果你对这篇文章感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。

该篇 Tutorial 主要对 Model Reuse 当下的进展进行了整理和总结。


The Paradigm Shifts

Tutorial 中指出在一些数据量比较稀少的场景,neural scaling law (the performance, training data, and
model size generally should follow a power law)
不一定成立,但复用 PTM 依然能复现出所期待的曲线 [Wang et al., ICML’23]:
在这里插入图片描述
但实现一个基础的 PTM,将其运用在各种任务上并不现实:

  • 例如在表格场景中,无法使用一个模型解决各种各样的任务 [Grinsztajn et al., NeurIPS’22]
  • 此外在某些场景下,一味地扩大模型参数可能会导致性能下降 [Wei et al., EMNLP’23]
  • 并且使用不同的 PTM 复用,得到的效果也差距很大 [Chen et al, CoRR’23]
    在这里插入图片描述

基于上述观察,Tutorial 中指出当前的范式已发生变化:

  • 从「Learning from Data」转变为了「Learning from Data and PTMs

Will Model Reuse Always Help?

我们所期望出现的曲线图如下:

  • 当本地数据比较小的时候,PTM 的帮助比较大;
  • 当本地数据比较多的时候,PTM 依然有帮助。

在这里插入图片描述
PTM 可能对整个训练过程带来的影响如下:

  • 改变训练目标(例如,知识蒸馏,将目标模型与 PTM 的输出差异作为正则项);
  • 改变目标模型结构(例如,在 PTM 的基础上,增加新的模块);
  • 改变目标模型的优化过程(例如,将 PTM 的 weight 作为新模型的初始化);
  • 改变最终数据预测的方式(例如,将新模型和 PTM 的输出做集成);
  • 改变目标模型的输入数据(例如,将 PTM 的输出拼接至原数据)。
    在这里插入图片描述

具体的一些方式总结如下:
在这里插入图片描述


Methods for Reusing Pre-Trained Models

模型复用可以从多个角度进行分类:(1)同构模型复用和异构模型复用;(2)单模型复用和多模型复用;(3)从 data-level、model-level 和 algorithm-level 进行模型复用。

Data Level

在数据层面,PTM 可以为目标任务生成更丰富的数据,也可以过滤一些噪声数据,具体分类如下:
在这里插入图片描述
Data Denoise [Cheng et al., EMNLP’23]:其假设在训练过程中,噪声数据更难学且噪声数据的预测标签更不稳定;基于此,其通过 warm-up 的训练将目标数据分为了 clean data 和 noisy data,并给其打上了新的 pseudo-label;最后,其通过 mix up 的方式再次训练整个模型,即对使用 PTM 得到的 embedding 数据进行线性组合,构造了新的训练数据。
在这里插入图片描述
Data Selection [Zhang et al., ECCV’20] [Liu et al., AAAI’23]:使用 PTM 对样本的置信度,挑选数据或对数据加权。
在这里插入图片描述

PTM for Richer Labels:使用 PTM 为无标记数据打 pseudo label;使用 PTM 获取 label 的分布 [Le et al., WACV’23]。
在这里插入图片描述
PTM for Data Augmentation:使用 GAN / SD 等技术用于数据生成。
在这里插入图片描述

Model Level

从模型层面出发,PTM 通常有多种局部复用的方式:
在这里插入图片描述
Tuning Partial Weights:

  • Partial-K [Jia et al., ECCV’22]: Tune the top-k layers of a PTM.
  • Scale and Shift [Lian et al., NeurIPS’22]: tune the scale and shift parameters of the PTM.
  • BitFit [Ben-Zaken et al., ACL’22] : tune (a subset of) bias-terms of the PTM.
    在这里插入图片描述

Tuning Add-ins: : adding extra structure and reusing the existed pretrained knowledge with the original parameters remain fixed.
在这里插入图片描述
Reuse PTM for Model Prediction:

  • Ensemble: Logit or probability ensemble (Need to consider the calibration issue)
  • Model merge: Average the weight of two homogeneous models [Singh and Jaggi et al., NIPS’20].

在这里插入图片描述

Algorithm Level

从算法层面出发,PTM 可以帮助模型从更好的初始值开始训练:
在这里插入图片描述
最常见的方式为修改训练目标,即在损失函数中加上新模型与 PTM 在参数上、模型输出上或某一层的输出特征上的差异。

Heterogeneous Model Reuse

依然可以从数据、模型、算法三个角度出发:
在这里插入图片描述


Methods for Selecting PTMs

在这里插入图片描述

Fitness-Based Approaches

首先是第一类 fitness 方法,其根据模型在目标数据上的输出,判断模型在目标数据上的 finetune 性能(每个模型需要推理一遍数据):
在这里插入图片描述
H-Score [Bao et al., ICIA’19]: 判断不同类别的数据特征(通过 PTM 提取得到),是否可以明显分开且类内比较近:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Vectorization-Based Approaches

核心困难:Build the task or model embedding space.
在这里插入图片描述
任务向量化 (Task Vectorization) 的方法:

Data similarity does not equal to task transferability.
Need more specific design of task embedding methods.

在这里插入图片描述


参考资料

  • AAAI24 - Model Reuse Tutorial Part1
  • AAAI24 - Model Reuse Tutorial Part2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/818258.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式锁-Redission快速入门

实战篇Redis 5、分布式锁-redission 5.2 分布式锁-Redission快速入门 引入依赖&#xff1a; <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.13.6</version> </dependency>配置…

STM32学习和实践笔记(12):蜂鸣器实验

蜂鸣器主要分为两种&#xff0c;一种是压电式的无源蜂鸣器&#xff0c;一种是电磁式的有源蜂鸣器。 有源和无源是指其内部有没有振荡器。 无源的没有内部振荡器&#xff0c;需要输入1.5-5KHZ的音频信号来驱动压电蜂鸣片发声。 有源的内部有振荡器&#xff0c;因此只需要供给…

PostgreSQL入门到实战-第二十七弹

PostgreSQL入门到实战 PostgreSQL中数据分组操作(二)官网地址PostgreSQL概述PostgreSQL中HAVING命令理论PostgreSQL中HAVING命令实战更新计划 PostgreSQL中数据分组操作(二) 使用PostgreSQL HAVING子句来指定组或聚合的搜索条件 官网地址 声明: 由于操作系统, 版本更新等原因…

基于Python豆瓣电影数据可视化分析系统的设计与实现

大数据可视化项目——基于Python豆瓣电影数据可视化分析系统的设计与实现 2024最新项目 项目介绍 本项目旨在通过对豆瓣电影数据进行综合分析与可视化展示&#xff0c;构建一个基于Python的大数据可视化系统。通过数据爬取收集、清洗、分析豆瓣电影数据&#xff0c;我们提供了…

Docker:使用编排Compose快速部署容器化应用

1、简述 Docker Compose 是 Docker 官方提供的一个工具&#xff0c;用于定义和管理多容器应用。它通过一个简单的 YAML 文件来定义应用的服务、网络、卷等配置&#xff0c;并提供了一组命令来启动、停止、构建和管理应用。使用 Docker Compose 可以让开发人员轻松地在本地开发…

cdn加速与ssl加速

cdn CDN的全称是Content Delivery Network&#xff0c;即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节&#xff0c;使内容传输的更快、更稳定。 简单的来说&#xff0c;就是把原服务器上数据复制到其他服务器上&#xff0c;用户访…

蓝桥杯——松散子序列

题目 分析 很明显的动态规划问题&#xff0c;每次我们都取当前位置的最大值就可&#xff0c;从头开始&#xff0c;dp[i]max(dp[i-2],dp[i-3])num[i-3]. 代码 ninput() num[] for i in n:num.append(ord(i)-96) dp[0]*(len(num)3) for i in range(3,len(num)3):dp[i]max(dp[i…

推荐收藏!大厂 Transformer 常考面试题汇总!

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学&#xff0c;针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总…

锁策略总结

锁策略 悲观锁和乐观锁 乐观锁和悲观锁不是具体类型的锁而是指两种不同的对待加锁的态度&#xff0c;这两个锁面对锁冲突的态度是相反的。 乐观锁&#xff1a;认为不存在很多的并发操作&#xff0c;因此不需要加锁。悲观锁&#xff1a;认为存在很多并发操作&#xff0c;因此需…

什么是企微文档?怎样搭建企微文档?

企微文档作为一种高效、便捷的协作工具&#xff0c;已经有越来越多企业的在使用。那么&#xff0c;什么是企微文档&#xff1f;我们又该如何高效搭建企微文档呢&#xff1f;这就是我们今天要来探讨的问题。 | 什么是企微文档 简单来说&#xff0c;企微文档就是企业微信平台上的…

FFmpeg: 自实现ijkplayer播放器--06封装打开和关闭stream

文章目录 流程图stream openstream close流程图 stream open 初始化SDL以允许⾳频输出;初始化帧Frame队列初始化包Packet队列初始化时钟Clock初始化音量创建解复用读取线程read_thread创建视频刷新线程video_refresh_threadint FFPlayer::stream_open(const char

ASUS华硕ROG幻13笔记本电脑GV301R工厂模式原厂OEM预装Windows11系统,恢复出厂开箱状态

适用于型号&#xff1a;GV301RC、GV301RE、GV301RA 工厂模式安装包&#xff1a;https://pan.baidu.com/s/1gLme1VqidpUjCLocgm5ajQ?pwddnbk 提取码&#xff1a;dnbk 工厂模式Win11安装包带有ASUS RECOVERY恢复功能、自带所有驱动、出厂主题壁纸、系统属性专属联机支持标志…

JavaScript 高阶函数小结

JavaScript 高阶函数小结 js的函数其实都是指向某个变量&#xff0c;既然变量可以指向函数&#xff0c;函数的参数能接收变量&#xff0c;那么一个函数就可以接收另外一个函数作为参数&#xff0c;这种函数就称之为高阶函数。 Arr扩展有&#xff1a;forEach、map、reduce fil…

defineProperty 与 proxy 详解

目录 前言 definePropety Setters 和 Getters watch API proxy watch API 优化 Vue3.0 里为什么要用 Proxy 替代 defineProperty ? Proxy 和 Object.defineProperty 的区别&#xff1f; 前言 我们或多或少都听过“数据绑定”这个词&#xff0c;“数据绑定”的关键在于…

#新版Onenet云平台使用(ESP8266 AT指令上报数据以及公网MQTT服务器连接测试)

1.上云方式&#xff1a;MQTT 参考&#xff1a; 新版ONENET物联网开放平台ATMQTT指令连接_at指令连接onenet的mqtt-CSDN博客https://blog.csdn.net/lilbye/article/details/131770196 ESP8266-01s入门&#xff1a;AT指令讲解、上云与MQTT通信教程-物联沃-IOTWORD物联网https:…

七:ReentrantReadWriteLock —— 读写锁

目录 1、ReentrantReadWriteLock 入门1.1、概念1.2、案例1.2.1、写写互斥1.2.2 锁降级 2、ReentrantReadWriteLock 源码解析2.1、属性2.2、构造方法2.3、内部类2.4、读写状态的设计 —— 按位切割使用2.5、【写锁】加锁方法 lock() —— ReentrantReadWriteLock.WriteLock2.4.1…

力扣:49. 字母异位词分组

知识点&#xff1a; 散列函数 散列函数能使对一个数据序列的访问过程更加迅速有效&#xff0c;通过散列函数&#xff0c;数据元素将被更快地定位&#xff1a; 1. 直接寻址法&#xff1a;取关键字或关键字的某个线性函数值为散列地址。即H&#xff08;key&#xff09;key或H&a…

蓝桥杯物联网竞赛_STM32L071_16_EEPROM

仍然是没有考过的知识点 朴素的讲就是板子中一块不会因为断电重启而导致数值初始化的一片地址 要注意的是有时候容易把板子什么写错导致板子什么地址写坏了导致程序无法烧录&#xff0c;这个时候记得一直按flash键烧录&#xff0c;烧录时会报错&#xff0c;点击确定&#xff0…

linux的线程概念

目录 1.原理 2.线程的周边概念 3.创建线程的接口 1.pthread_create 2.pthread_join 3.pthread_detach 4.终止线程 5.C11封装的多线程库 4.线程库的大概结构 5.__thread&#xff08;只能修饰内置类型&#xff09; 6.线程的互斥 1.了解原理 2.加锁 1.接口 2.代码示…

机器学习深度学习中的上采样技术

上采样技术&#xff0c;也称为增取样或内插&#xff0c;是信号处理和图像处理中常用的技术&#xff0c;用于增加信号或图像的采样率或分辨率&#xff0c;从而使其变得更大。 在图像处理中&#xff0c;上采样主要用于放大图像&#xff0c;增加图像的尺寸或分辨率。 上采样的实…