探索 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² 主要具备以下三大亮点:
- 奇异值微调(SVF)
- 使用 SVF 和 RL 进行训练
- 自适应策略
接下来我们从论文中寻找他的技术细节,对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),其中是输入的长度。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,以供分析与查看。 结合logback可以完成此功能,大致配置如下: <appender name"KafkaAppender" class"com.github.danielwegener.logback.kafka.KafkaAppender"><encoder class&…...
【全套】基于分类算法的学业警示预测信息管理系统
【全套】基于分类算法的学业警示预测信息管理系统 【摘 要】 随着网络技术的发展基于分类算法的学业警示预测信息管理系统是一种新的管理方式,同时也是现代学业预测信息管理的基础,利用互联网的时代与实际情况相结合来改变过去传统的学业预测信息管理中…...
Elasticsearch Python 客户端是否与自由线程 Python 兼容?
作者:来自 Elastic Quentin_Pradet 在这篇文章中,我们将进行一些实验,看看 Python Elasticsearch 客户端是否与新的 Python 3.13 自由线程(free-threading)版本兼容,其中 GIL 已被删除。 介绍 但首先&…...
基于大语言模型的组合优化
摘要:组合优化(Combinatorial Optimization, CO)对于提高工程应用的效率和性能至关重要。随着问题规模的增大和依赖关系的复杂化,找到最优解变得极具挑战性。在处理现实世界的工程问题时,基于纯数学推理的算法存在局限…...
#CSS混合模式:解决渐变背景下的文字可见性问题
在现代网页设计中,渐变背景的使用越来越普遍。然而,当我们在渐变背景上放置文字时,常常会遇到一个问题:文字在某些背景颜色下可能变得难以阅读。今天,我们将探讨一个优雅的解决方案:使用CSS混合模式。 问题…...
Vue2+OpenLayers给标点Feature添加信息窗体(提供Gitee源码)
目录 一、案例截图 二、安装OpenLayers库 三、代码实现 3.1、信息窗体DOM元素 3.2、创建Overlay 3.3、创建一个点 3.4、给点初始化点击事件 3.5、完整代码 四、Gitee源码 一、案例截图 二、安装OpenLayers库 npm install ol 三、代码实现 初始化变量: d…...
实战threeJS数字孪生开源 数字工厂
threeJS数字孪生 数字工厂 设备定位 基于three.js的数字工厂开源项目介绍 一、项目概述 本项目是一款基于three.js的数字工厂项目,旨在通过3D可视化技术,为工业制造领域提供一个直观、高效、智能的生产监控与管理平台。该项目结合了现代前端技术栈&…...
【Python基础篇】——第3篇:从入门到精通:掌握Python数据类型与数据结构
第3篇:数据类型与数据结构 目录 Python中的数据类型概述列表(List) 创建列表列表的基本操作列表方法列表推导式 元组(Tuple) 创建元组元组的基本操作元组的不可变性 字典(Dictionary) 创建字典…...
算法3(力扣83)-删除链表中的重复元素
1、题目:给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 2、实现( 因为已排序,所以元素若重复,必然在其下一位)(这里为在vscod…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
