当前位置: 首页 > news >正文

探索 Transformer²:大语言模型自适应的新突破

目录

一、来源:

论文链接:https://arxiv.org/pdf/2501.06252

代码链接:SakanaAI/self-adaptive-llms

论文发布时间:2025年1月14日

二、论文概述:

图1 Transformer² 概述 

图2 训练及推理方法概述

图3 基于提示的自适应

图4 奇异值微调(SVF)学习曲线 

图5 视觉语言模型(VLM)领域的结果

三、总结


一、来源:

论文链接:https://arxiv.org/pdf/2501.06252
代码链接:SakanaAI/self-adaptive-llms
论文发布时间:2025年1月14日

二、论文概述:

Transformer² 的发布在性能提升、成本降低等方面展现出优势,有可能像 Transformer 当初一样带来新一轮技术革命,推动大模型技术进一步发展。

作者表示,这项研究为人们提供了一个未来 AI 模型不再静态的初步展望。这些系统将在测试时动态地调整其计算能力,以适应它们所遇到任务的复杂性,体现出能够持续变化和终生学习的”活“的智能。

Transformer² 主要具备以下三大亮点:

  1. 奇异值微调(SVF)
  2. 使用 SVF 和 RL 进行训练
  3. 自适应策略

接下来我们从论文中寻找他的技术细节,对Transformer²进行初步的探究。

正如图 1 所示,在训练时,Transformer²会精心调整权重矩阵的奇异值以获得‘专家’向量,这些向量在后续的推理过程中发挥着关键作用。在推理的第一阶段,模型依据任务特性调用合适的专家向量,为生成准确答案奠定基础,第二阶段则完成最终的答案生成。 

图1 Transformer² 概述 

从图 2 中我们能深入了解其构建过程。在训练环节(左图),SVF 与 RL 协同工作,学习得到具有针对性的专家向量。而在推理阶段(右图),Transformer² 提供了三种灵活的方法来应对不同的任务需求,如基于提示的方法通过巧妙构建提示来筛选专家向量,基于任务分类器的方法利用专门训练的分类器提高任务识别能力,基于混合的方法则通过创新的线性插值和 CEM 搜索实现更精准的自适应组合。

图2 训练及推理方法概述

Transformer²共有三种自适应策略,分别是

  • 基于提示的适应:通过提示词,对任务进行分类并选择预训练的 z 向量。

  • 基于分类器的适应:使用 SVF 训练的任务分类器,在推理中识别任务并选择合适的 z 向量。

  • 少样本适应:通过加权插值组合多个预训练的 z 向量。根据少样本评估集上的性能调整权重。

其中从图 3 中可以清晰地看到,Transformer² 利用一种特殊的自适应提示,其核心目的是将接收到的任务提示分类到预定义的类别之中。这就好比为不同的任务提示找到了它们各自对应的 “收纳箱”,让模型能够更高效地处理这些信息。

举例来说,当用户输入一个关于数学计算的任务提示时,自适应提示会迅速将其归类到数学相关的预定义类别中,然后模型就能精准地调用擅长数学任务的 “专家” 向量,给出准确的计算结果或解决方案。

图3 基于提示的自适应

在探究 Transformer² 中奇异值微调(SVF)的效果时,图 4 为我们呈现了关键信息。从图中可以看到,那些虚线代表着 LLAMA3 - 8B INSTRUCT 在每个任务测试集上的性能表现。而 SVF 的强大之处在于,它通过有效的微调,成功地超越了基础性能。

为了更全面地展示 SVF 的学习能力,作者不仅展示了最终用于评估的最佳验证分数对应的检查点(用醒目的红点标记),还给出了完整的训练曲线,没有采用提前停止的策略。这意味着我们能清晰地看到 SVF 在整个训练过程中的学习进展。

图4 奇异值微调(SVF)学习曲线 

同时,作者使用 SVF 对 LLAMA3 - LLAVA - NEXT - 8B 进行微调,使基础模型的性能提升超过 39%(见图 5)。为确保公平比较,在附录 4.3 中针对不同架构和优化目标,对模型和 LoRA 基线进行了广泛的消融实验。由于其关键的参数化方式,训练 SVF 所需资源大幅减少,其训练参数不到作者LoRA 实现的 10%。 

(读论文看到这里我想到了刚发布的deepseekv3,其不仅在性能上霸榜,更是在训练效率上遥遥领先,值得大家关注!)

图5 视觉语言模型(VLM)领域的结果

当然,既然比其他模型多出了自适应功能,那么就需要相应的计算,作者解释:"表 1 报告了 Transformer² 的提示自适应策略所需的推理时间,其中分别列出了第一遍和第二遍解决整个问题集所花费的时间。请注意,第二遍推理时间是解决问题所花费的时间,第一遍推理时间是自适应所花费的时间,第一遍与第二遍推理时间的比率在括号内。虽然额外的一遍推理可能看似使总体运行时间翻倍,但重要的是要注意,推理时间主要取决于生成的令牌数量。在我们的设定中,它是O(n),其中n是输入的长度。ARC-challenge 的成本比率较大,因为它们是单项选择题,因此第二遍的成本也是O(n) 。在一般情况下,我们认为假设这个比率更接近 MATH 和 Humaneval 的比率是合理的。"

三、总结:

在本文中,作者介绍了 Transformer²,为实现自适应大语言模型(LLMs)提供了一个全新蓝图。在此框架内,首先提出了奇异值微调(SVF)方法,与先前的微调方法相比,它性能更优,同时成本更低、组合性更强,还能对过拟合进行正则化处理 —— 这些都是实现可扩展自适应的关键特性。以一组 SVF 专家向量作为构建模块,我们开发了三种有效的自适应策略,每种策略都有独特优势,并且随着对测试时条件了解的增多,能带来持续的性能提升。

尽管 Transformer² 取得了令人瞩目的成果,但未来仍有诸多令人期待的研究方向。其局限性之一在于,SVF 专家向量的能力与基础模型的潜在组件紧密相关。为解决这一问题,模型融合提供了一个颇具前景的方向,它能将专门化的模型合并为一个能力更强的单一模型。此外,虽然我们基于交叉熵方法(CEM)的自适应策略能有效平衡性能与效率,但扩展到大量特定领域可能会导致一次性计算成本增加。不过,性能提升和自适应能力增强带来的好处抵消了这种权衡。模型融合和高效自适应技术的进步催生了在公开排行榜上名列前茅的模型,使其成为 Transformer² 基础模型的有力候选,为自适应大语言模型开辟了新的可能性。

相关文章:

探索 Transformer²:大语言模型自适应的新突破

目录 一、来源: 论文链接:https://arxiv.org/pdf/2501.06252 代码链接:SakanaAI/self-adaptive-llms 论文发布时间:2025年1月14日 二、论文概述: 图1 Transformer 概述 图2 训练及推理方法概述 图3 基于提示的…...

Flutter 多终端测试 自定义启动画面​​​​​​​ 更换小图标和应用名称

多终端测试 flutter devices flutter run -d emulator-5554 flutter run -d emulator-5556 自定义启动画面 之前: 进入assert 3x 生成 1x 2x dart run flutter_native_splash:create dart run flutter_native_splash:remove 现在(flutter_nativ…...

rsarsa-给定pqe求私钥对密文解密

题目: Math is cool! Use the RSA algorithm to decode the secret message, c, p, q, and e are parameters for the RSA algorithm.p 96484230290105156765905517400104265349457376392357398006439893520398525072984913995610350091634270503701075707336333…...

flutter开发-figma交互设计图可以转换为flutter源代码-如何将设计图转换为flutter源代码-优雅草央千澈

flutter开发-figma交互设计图可以转换为flutter源代码-如何将设计图转换为flutter源代码-优雅草央千澈 开发背景 可能大家听过过蓝湖可以转ui设计图为vue.js,react native代码,那么请问听说过将figma的设计图转换为flutter源代码吗?本文优雅草央千澈带…...

Deep4SNet: deep learning for fake speech classification

Deep4SNet:用于虚假语音分类的深度学习 摘要: 虚假语音是指即使通过人工智能或信号处理技术产生的语音记录。生成虚假录音的方法有"深度语音"和"模仿"。在《深沉的声音》中,录音听起来有点合成,而在《模仿》中…...

3 前端: Web开发相关概念 、HTML语法、CSS语法

文章目录 前言:导学1 Web开发相关概念2 Web标准(网页标准)3 软件架构(CS/BS)(1)C/S: Client/Server 客户端 / 服务器端(2)B/S: Browser/Server 浏览器 / 服务器端VSCode配置前段开发环境一、HTML概念1 概念2 HTML快速入门(1)语法快速入门(2)VSCode一个 !(快捷键…...

SpringBoot工程快速启动

1.问题导入 以后我们和前端开发人员协同开发,而前端开发人员需要测试前端程序就需要后端开启服务器,这就受制于后端开发人员。 为了摆脱这个受制,前端开发人员尝试着在自己电脑上安装 Tomcat 和 Idea ,在自己电脑上启动后端程序&a…...

Unity WebGL:本机部署,运行到手机

Unity WebGL 简单介绍一下Unity WebGL的技术方案,在WebGL平台出包后,Unity的运行时C/C代码是通过Emscripten编译成了WebAssembly/Wasm;游戏逻辑部分的C#代码是先通过il2cpp转成C再编译转成的Wasm,Unity程序就就可以在支持WebAsse…...

【线性代数】行列式的概念

d e t ( A ) ∑ i 1 , i 2 , ⋯ , i n ( − 1 ) σ ( i 1 , ⋯ , i n ) a 1 , i 1 a 2 , i 2 , ⋯ , a n , i n det(A) \sum_{i_1,i_2,\cdots,i_n } (-1)^{\sigma(i_1,\cdots,i_n)} a_{1,i_1}a_{2,i_2},\cdots, a_{n,i_n} det(A)i1​,i2​,⋯,in​∑​(−1)σ(i1​,⋯,in​)a1…...

Android SystemUI——StatusBar视图创建(六)

上一篇文章我们介绍了 StatusBar 的构建过程,在 makeStatusBarView() 中获得 FragmentHostManager,用来管理 StatusBar 的窗口。 一、状态栏视图 在得到 FragmentHostManager 实例对象之后,还会继续调用 addTagListener() 方法设置监听对象,然后获取 FragmentManager 并开…...

Picocli 命令行框架

官方文档 https://picocli.info/ 官方提供的快速入门教程 https://picocli.info/quick-guide.html 使用 Picocli 创建命令行应用程序 Picocli 是一个用于构建 Java 命令行应用的强大框架,它简化了参数解析和帮助消息生成的过程。 下面是如何使用 Picocli 构建简单命…...

spring-cloud-starter-gateway 使用中 KafkaAppender的问题

公司需要将应用日志上报到kafka&#xff0c;以供分析与查看。 结合logback可以完成此功能&#xff0c;大致配置如下&#xff1a; <appender name"KafkaAppender" class"com.github.danielwegener.logback.kafka.KafkaAppender"><encoder class&…...

【全套】基于分类算法的学业警示预测信息管理系统

【全套】基于分类算法的学业警示预测信息管理系统 【摘 要】 随着网络技术的发展基于分类算法的学业警示预测信息管理系统是一种新的管理方式&#xff0c;同时也是现代学业预测信息管理的基础&#xff0c;利用互联网的时代与实际情况相结合来改变过去传统的学业预测信息管理中…...

Elasticsearch Python 客户端是否与自由线程 Python 兼容?

作者&#xff1a;来自 Elastic Quentin_Pradet 在这篇文章中&#xff0c;我们将进行一些实验&#xff0c;看看 Python Elasticsearch 客户端是否与新的 Python 3.13 自由线程&#xff08;free-threading&#xff09;版本兼容&#xff0c;其中 GIL 已被删除。 介绍 但首先&…...

基于大语言模型的组合优化

摘要&#xff1a;组合优化&#xff08;Combinatorial Optimization, CO&#xff09;对于提高工程应用的效率和性能至关重要。随着问题规模的增大和依赖关系的复杂化&#xff0c;找到最优解变得极具挑战性。在处理现实世界的工程问题时&#xff0c;基于纯数学推理的算法存在局限…...

#CSS混合模式:解决渐变背景下的文字可见性问题

在现代网页设计中&#xff0c;渐变背景的使用越来越普遍。然而&#xff0c;当我们在渐变背景上放置文字时&#xff0c;常常会遇到一个问题&#xff1a;文字在某些背景颜色下可能变得难以阅读。今天&#xff0c;我们将探讨一个优雅的解决方案&#xff1a;使用CSS混合模式。 问题…...

Vue2+OpenLayers给标点Feature添加信息窗体(提供Gitee源码)

目录 一、案例截图 二、安装OpenLayers库 三、代码实现 3.1、信息窗体DOM元素 3.2、创建Overlay 3.3、创建一个点 3.4、给点初始化点击事件 3.5、完整代码 四、Gitee源码 一、案例截图 二、安装OpenLayers库 npm install ol 三、代码实现 初始化变量&#xff1a; d…...

实战threeJS数字孪生开源 数字工厂

threeJS数字孪生 数字工厂 设备定位 基于three.js的数字工厂开源项目介绍 一、项目概述 本项目是一款基于three.js的数字工厂项目&#xff0c;旨在通过3D可视化技术&#xff0c;为工业制造领域提供一个直观、高效、智能的生产监控与管理平台。该项目结合了现代前端技术栈&…...

【Python基础篇】——第3篇:从入门到精通:掌握Python数据类型与数据结构

第3篇&#xff1a;数据类型与数据结构 目录 Python中的数据类型概述列表&#xff08;List&#xff09; 创建列表列表的基本操作列表方法列表推导式 元组&#xff08;Tuple&#xff09; 创建元组元组的基本操作元组的不可变性 字典&#xff08;Dictionary&#xff09; 创建字典…...

算法3(力扣83)-删除链表中的重复元素

1、题目&#xff1a;给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 2、实现&#xff08; 因为已排序&#xff0c;所以元素若重复&#xff0c;必然在其下一位&#xff09;&#xff08;这里为在vscod…...

HarmonyOS 鸿蒙 ArkTs(5.0.1 13)实现Scroll下拉到顶刷新/上拉触底加载,Scroll滚动到顶部

HarmonyOS 鸿蒙 ArkTs(5.0.1 13)实现Scroll下拉到顶刷新/上拉触底加载 效果展示 使用方法 import LoadingText from "../components/LoadingText" import PageToRefresh from "../components/PageToRefresh" import FooterBar from "../components/…...

.NET8.0多线程编码结合异步编码示例

1、创建一个.NET8.0控制台项目来演示多线程的应用 2、快速创建一个线程 3、多次运行程序&#xff0c;可以得到输出结果 这就是多线程的特点 - 当多个线程并行执行时&#xff0c;它们的具体执行顺序是不确定的&#xff0c;除非我们使用同步机制&#xff08;如 lock、信号量等&am…...

SpringBoot项目中解决CORS跨域资源共享问题

在Spring Boot项目中解决CORS&#xff08;跨域资源共享&#xff09;问题&#xff0c;可以通过以下几种方法&#xff1a; 1. 使用CrossOrigin注解 这是最简单的方法&#xff0c;适用于单个控制器或控制器方法级别的跨域配置。你可以在控制器类或具体的方法上使用CrossOrigin注…...

Android string.xml中特殊字符转义

项目中要在string.xml 中显示特殊符号 空格&#xff1a; &#xff08;普通的英文半角空格但不换行&#xff09; 窄空格&#xff1a;  &#xff08;中文全角空格 &#xff08;一个中文宽度&#xff09;&#xff09; &#xff08;半个中文宽度&#xff0c;但两个空格比一个中文…...

解析传统Workflow、AI Workflow与AI Agent概念,并通过Coze案例探讨利用AI工作流构建应用的实践流程

传统工作流 工作流入门这篇就够了 BPMN.JS中文教程 BPMN 工作流引擎解析 定义&#xff1a;工作流是在计算机支持下业务流程的自动或半自动化&#xff0c;其通过对流程进行描述以及按一定规则执行以完成相应工作。 应用&#xff1a;随着计算机技术的发展以及工业生产、办公自动…...

光谱相机的光谱分辨率可以达到多少?

多光谱相机 多光谱相机的光谱分辨率相对较低&#xff0c;波段数一般在 10 到 20 个左右&#xff0c;光谱分辨率通常在几十纳米到几百纳米之间&#xff0c;如常见的多光谱相机光谱分辨率为 100nm 左右。 高光谱相机 一般的高光谱相机光谱分辨率可达 2.5nm 到 10nm 左右&#x…...

android Recyclerview viewholder统一封装

Recyclerview holder 统一封装 ViewHolder类 import android.annotation.SuppressLint import android.content.Context import android.graphics.Color import android.graphics.drawable.GradientDrawable import android.os.Build import android.os.CountDownTimer import…...

Windows部署NVM并下载多版本Node.js的方法(含删除原有Node的方法)

本文介绍在Windows电脑中&#xff0c;下载、部署NVM&#xff08;node.js version management&#xff09;环境&#xff0c;并基于其安装不同版本的Node.js的方法。 在之前的文章Windows系统下载、部署Node.js与npm环境的方法&#xff08;https://blog.csdn.net/zhebushibiaoshi…...

51单片机入门基础

目录 一、基础知识储备 &#xff08;一&#xff09;了解51单片机的基本概念 &#xff08;二&#xff09;掌握数字电路基础 &#xff08;三&#xff09;学习C语言编程基础 二、开发环境搭建 &#xff08;一&#xff09;硬件准备 &#xff08;二&#xff09;软件准备 三、…...

老centos7 升级docker.io为docker-ce 脚本

旧的centos7 之前安装的是docker.io 由于一些原因,像docker compose 等版本变化,以及docker.io源受限等,我们要更新到docker-ce 并使用国内阿里云的源怎么处理?下面直接上脚本,upgrade-docker.sh #!/bin/bashset -e# 创建临时目录 TEMP_DIR"./tmp" mkdir -p "…...