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,一经查实,立即删除!

相关文章

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

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

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

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

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

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

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

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

cdn加速与ssl加速

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

蓝桥杯——松散子序列

题目 分析 很明显的动态规划问题,每次我们都取当前位置的最大值就可,从头开始,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…

锁策略总结

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

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

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

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系统,恢复出厂开箱状态

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

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

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

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

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

蓝桥杯物联网竞赛_STM32L071_16_EEPROM

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

linux的线程概念

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

【网络编程】Linux网络内核结构以及分布剖析

hello !大家好呀! 欢迎大家来到我的网络编程系列之Linux网络内核结构以及分布剖析,在这篇文章中,你将会学习到在Linux内核中如何实现网络数据的输入和输出的,并且我会给出源码进行剖析,以及手绘UML图来帮助…

如何应对Android面试官 -> ActivityManagerService 是怎么启动的?

前言 本章主要讲解下 什么是 AMS,以及它是如何启动的; SystemServer SystemServer 通过按下电源键接通电源之后就会启动 BootRoom,BootRoom 就会拉起一个 BootLoader 程序,此程序会拉起 Linux Kernel「系统内核」,我们…

树 和 二叉树

目录 一、树 1、初识树 2、树的一些概念 3、树的表示形式 二、二叉树 1、初识二叉树 2、两种特殊的二叉树 3、二叉树的性质 4、二叉树的遍历 5、实现一棵二叉树 6、二叉树题目(没代码的后面会给补上) 一、树 1、初识树 (1&…

【Java】图片处理工具ImageMagick简介及其在Java中的应用

ImageMagick是一款强大的图像处理软件,它可以用于创建、编辑、合并和转换图像。它支持超过200种图像格式,并且提供了丰富的功能,包括图像缩放、旋转、裁剪、加水印、添加特效等。ImageMagick还支持批量处理图像,可以通过命令行或者…

浅谈网络代理 proxy

总会有各种各样需要用到代理的场景 比如批量提交漏洞、批量注册、批量扫描.... 简单总结一下 代理简介 IP 代理是一种网络技术,通过这种技术,用户可以隐藏其真实的 IP 地址,并使用另一个 IP 地址来代表自己进行互联网上的活动。IP 代理通常由…

xhci 数据结构

xhci 数据结构 xhci 数据结构主要在手册上有详细的定义,本文根据手册进行归纳总结: 重点关注的包括: device contexttrb ringtrb device context设备上下文 设备上下文数据结构由xHC管理,用于向系统软件报告设备配置和状态信息。…