【论文笔记】Transformer^2: 自适应大型语言模型

在这里插入图片描述

Code repo: https://github.com/SakanaAI/self-adaptive-llms


摘要

自适应大型语言模型(LLMs)旨在解决传统微调方法的挑战,这些方法通常计算密集且难以处理多样化的任务。本文介绍了Transformer²(Transformer-Squared),一种新颖的自适应框架,通过在推理时选择性地调整权重矩阵的单个奇异分量来实时适应未见过的任务。Transformer²在参数数量较少且效率更高的情况下,持续优于LoRA等常用方法。此外,Transformer²在不同LLM架构和模态(包括视觉语言任务)中表现出色,代表了自适应LLMs的重大进步。

引言

自适应LLMs代表了人工智能的重大进步,提供了一个框架,使模型能够实时调整以适应不同的任务和动态环境。传统的LLM训练方法试图在一次广泛的训练会话中优化模型的多种能力,这在实践中难以实现。相比之下,自适应模型提供了一种更灵活和高效的方法,允许模型根据手头的任务动态修改其行为。

相关工作

  • 自适应LLMs:定义为一组LLMs或一个独立的LLM,能够响应其操作环境或内部状态的变化而评估和修改其行为。
  • 低秩适应:如LoRA,通过引入小的可训练低秩矩阵来实现任务特定的更新。
  • SVD用于LLM微调:使用SVD来近似原始权重矩阵,以提高效率。

方法

在这里插入图片描述

Transformer²

Transformer²的构建包括两个主要步骤:

  1. 奇异值微调(SVF):通过RL学习紧凑且可组合的专家向量,基于基础模型权重的SVD。

  2. 自适应策略:在推理时动态组合SVF训练的专家向量,提供三种不同的自适应策略:

    • 提示工程:构建新的“适应”提示,直接询问LLM分类输入提示。
    • 分类专家:使用专门的系统处理任务识别。
    • 少样本适应:通过线性插值在K个学习到的SVF向量之间进行加权组合。

实验

实验评估了Transformer²在多个任务和模型上的表现:

  1. SVF性能:在GSM8K、MBPP-Pro和ARC-Easy任务上,SVF提供了显著且一致的性能提升。
  2. 自适应性能:在未见过的任务(如MATH、Humaneval、ARC-Challenge)上,Transformer²的自适应策略展示了改进。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结论

本文介绍了Transformer²,提供了一个实现自适应LLMs的新蓝图。通过SVF和三种自适应策略,Transformer²展示了在提高模型适应性和任务特定性能方面的优势。未来的工作可以集中在模型合并和高效适应技术上,以实现更强大的自适应LLMs。

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

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

相关文章

HTTP的“对话”逻辑:请求与响应如何构建数据桥梁?

一、前言 作为现代互联网通信的基石,HTTP协议定义了客户端与服务器之间的“对话规则”。每一次网页加载、API调用或文件传输的背后,都离不开精心构造的HTTP请求与响应。请求中封装了用户的意图——从请求方法、资源路径到提交的数据;响应则承…

安装 Docker Desktop 修改默认安装目录到指定目录

Docker Desktop安装目录设置 Docker Desktop 默认安装位置 (C:\Program Files\Docker\Docker) 是这个 ,导致系统盘占用过大,大概2G ; 那么如何安装到其他磁盘呢? 根据docker desktop 官网 Docker Desktop install 我们可以看到&a…

基于实例详解pytest钩子pytest_generate_tests动态生成测试的全过程

关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 作为一名软件开发人员,你一定深知有效测试策略的重要性,尤其…

Kotlin Lambda

Kotlin Lambda 在探索Kotlin Lambda之前,我们先回顾下Java中的Lambda表达式,Java 的 Lambda 表达式是 Java 8 引入的一项强大的功能,它使得函数式编程风格的代码更加简洁和易于理解。Lambda 表达式允许你以一种更简洁的方式表示实现接口&…

C#学习之DataGridView控件

目录 一、DataGridView控件常用属性、方法、事件汇总表 1. 常用方法、属性和事件汇总 二、DataGridView 控件的常用方法调用 1. DataBind() 方法 2. Clear() 方法 3. Refresh() 方法 4. Sort() 方法 5. ClearSelection() 方法 6. BeginEdit() 方法 7. EndEdit() 方法…

本地事务简介

本地事务简介 1 事务基本性质 数据库事务的几个特性:原子性(Automicity)、一致性(Consistency)、隔离性或独立性(islation)和持久性(Durability),简称ACID。 原子性:一系列的操作,其整体不可拆分,要么同时成功&#…

PyQt组态软件 拖拽设计界面测试

PyQt组态软件测试 最近在研究PyQt,尝试写个拖拽设计界面的组态软件,目前实现的功能如下: 支持拖入控件,鼠标拖动控件位置 拖动控件边缘修改控件大小支持属性编辑器,修改当前选中控件的属性 拖动框选控件,点选控件 控…

软件评测师复习之计算机网络(4)

目录 (一)1.网络功能和分类2.OSI七层模型3.TCP/IP协议4.传输介质(二)1.通信方式和交换方式2.IP地址3.IPv64.网络规划与设计5.磁盘冗余阵列6.网络存储技术(一) 1.网络功能和分类 计算机网络功能:数据通信、资源共享、负载均衡、高可靠性 按分布范围和拓扑结构划分: 网络分类…

机器学习-1:线性回归

常用的线性回归模型主要有以下这些 简单线性回归多元线性回归多项式回归岭回归套索回归弹性网络回归逐步回归 一.简单的一元线性回归 1.导入必备的库 #导入必备的库 import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.model_selection …

SQL SERVER的PARTITION BY应用场景

SQL SERVER的PARTITION BY关键字说明介绍 PARTITION BY关键字介绍具体使用场景排名计算累计求和分组求最值分组内百分比计算分组内移动平均计算分组内数据分布统计分组内数据偏移计算 总结 PARTITION BY关键字介绍 在SQL SERVER中,关键字PARTITION BY主要用于窗口函…

NO.18十六届蓝桥杯备战|循环嵌套|乘法表|斐波那契|质数|水仙花数|(C++)

循环嵌套 循环嵌套的使⽤ while , do while , for ,这三种循环往往会嵌套在⼀起才能更好的解决问题,就是我们所说的:循环嵌套。这三种循环都可以任意嵌套使⽤ ⽐如: 写⼀个代码,打印⼀个乘法⼝…

leetcode - hot100 - python - 专题一:哈希

1、两数之和 简单 题目: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可…

JavaEE-SpringBoot快速入门

文章目录 本节目标Maven什么是Maven创建一个Maven项目maven项目功能maven的依赖管理全球仓库, 私服, 本地服务器, 配置国内镜像 第一个SpringBoot项目创建项目运行SpringBoot程序 SpringBoot原理初步Web服务器 总结 本节目标 了解什么是maven, 配置国内源使用Springboot创建项…

【Viper】配置格式与支持的数据源与go案例

Viper 是一个用于 Go 应用程序的配置管理库,支持多种配置格式和数据源。 安装依赖 go get github.com/spf13/viper go get github.com/spf13/viper/remote go get go.etcd.io/etcd/client/v3"github.com/spf13/viper/remote"要写在etcd客户端import里 1…

【C/C++】后缀表达式 蓝桥杯/ACM备赛

核心考点:1.栈的应用 2.字符串处理 题目描述 所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的…

【AI实践】deepseek支持升级git

当前Windows 11 WSL的git是2.17,Android Studio提示需要升级到2.19版本 网上找到指导文章 安装git 2.19.2 cd /usr/src wget https://www.kernel.org/pub/software/scm/git/git-2.19.2.tar.gz tar xzf git-2.19.2.tar.gz cd git-2.19.2 make prefix/usr/l…

QEMU 搭建 Ubuntu x86 虚拟机

1. 安装 QEMU 在 Ubuntu 系统中,可以通过以下命令安装 QEMU: sudo apt-get update sudo apt-get install qemu-system-x86_64 qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager2. 创建虚拟硬盘镜像 qemu-img create -f raw ubuntu…

Linux驱动层学习:Linux 设备树

设备树是一种数据结构,包含多个节点,用于描述硬件设备及其配置信息,它通常用于嵌入式系统中,尤其是在Linux操作系统中,帮助操作系统识别和管理硬件资源,设备树不是代码,而是一种用数据描述硬件信…

金蝶云星空与钉钉高效数据集成案例分享

金蝶云星空数据集成到钉钉的技术案例分享 在企业信息化系统中,数据的高效流动和实时反馈是提升业务效率的关键。本文将聚焦于一个具体的系统对接集成案例:如何将金蝶云星空的数据集成到钉钉,并实现审核状态的回传提示。 本次集成方案名为“…

图形渲染(一)——Skia、OpenGL、Mesa 和 Vulkan简介

1.Skia —— 2D 图形库 Skia 是一个 2D 图形库,它的作用是为开发者提供一个高层次的绘图接口,方便他们进行 2D 图形渲染(比如绘制文本、形状、图像等)。Skia 本身不直接管理 GPU 或进行底层的渲染工作,而是通过 底层图…