LPZero: Language Model Zero-cost Proxy Search from Zero(未更新完预览版本)

news2025/3/10 5:12:20

LPZero代码

摘要

神经架构搜索 (NAS) 有助于自动执行有效的神经网络搜索,同时需要大量的计算资源,尤其是对于语言模型。零样本 NAS 利用零成本 (ZC) 代理来估计模型性能,从而显着降低计算需求。然而,现有的 ZC 代理严重依赖于深入的专家知识和重复的反复试验成本。此外,大多数现有的 ZC 代理都无法超越简单基线(参数数量)的性能。为了应对这些挑战,我们引入了一个称为 LPZero(语言模型零成本代理搜索)的新型框架。它旨在自动设计高效的语言模型 ZC 代理,并实现更高的排名一致性。具体来说,我们首先将现有的 ZC 代理设计整合到一个统一的框架中作为搜索空间,然后应用进化算法启发式地识别语言模型的新代理候选者。为了提高搜索过程的效率,我们引入了预测剪枝策略 (PPS)。该策略旨在预先消除没有希望的代理,从而降低代理降级的风险。在 FlexiBERT 和 GPT-2 搜索空间上进行的大量实验证明了我们算法的有效性。值得注意的是,我们的方法实现的性能排名一致性显著超过了当前代理的一致性。

1 Introduction

Zero-shot NAS 预测神经网络架构的性能,而无需实际训练,使用随机初始化的模型。这种方法能够快速高效地估计架构性能,从而消除训练过程中通常消耗的时间和资源。此外,我们观察到大多数代理无法超越基于参数数量的基准性能,如图 1 所示。这个限制提出了一个基本但至关重要的问题:如何高效、自动地为语言模型设计新的代理?

为了解答这个问题,我们将其分解为两个步骤:

(1)设计一个统一的搜索空间来包含现有的 ZC 代理;

对于第一个步骤,我们重新审视现有的 ZC 代理,如表 1 所示,设计了一个综合性的搜索空间,涵盖了当前的 ZC 代理。具体而言,这些代理根据输入类型分为六类:激活(A)、Jacobs(J)、梯度(G)、头(H)、权重(W)和 Softmax(S),如图 2 所示。在这个统一的框架中,我们从这些类别中选择两种输入,记为 θ。每个输入通过 n 种一元运算 f(·) 进行转换,结果通过二元运算 g(·) 进行组合。这个过程生成了一个候选代理 φ(f, g, θ),并进入我们的搜索空间。更多细节请参见附录 A。

(2)使用进化算法发现新的代理。

对于第二个步骤,我们提出了一个新颖的 LPZero 框架,代表了从零开始的语言模型代理搜索。正如图 3 所示,我们最初选择 p 个候选代理来建立初始种群,并评估它们在 FlexiBERT 搜索空间中的排名一致性。通过锦标赛选择,我们识别出两个有前景的父代理(φn,m)。接下来,我们进行交叉和变异操作,生成后代代理 φq。为了评估其排名一致性 Spearman ρq,我们使用该代理对每个架构 Ωi 进行评分,并将结果与各自的真实值 gti(例如,平均准确率)进行比较。鉴于搜索空间的稀疏性,我们倡导采用预测修剪策略(PPS),旨在消除无效的代理,从而提高搜索效率。

    我们的主要贡献如下:

    • 我们设计了一个全面且高质量的搜索空间,涵盖了大部分现有的适用于语言模型的 ZC 代理。
    • 我们引入了从零开始的语言模型代理搜索(LPZero)框架,并结合预测修剪策略(PPS),防止代理降级,从而提高搜索效率。
    • 在 FlexiBERT 和 GPT-2 上进行的实验验证了我们 LPZero 框架中识别的代理的优越性,表明我们提出的方法具有有效性。

    2 Related Work

    Zero-shot NAS

    作为一种评估候选神经网络架构准确性并且无需进行大量训练的低成本策略,已经获得了越来越多的关注。与传统的One-shot NAS方法相比,这种方法提供了更高效的计算替代方案。Zero-shot NAS的核心是其准确度排名代理,这对其有效性至关重要。尽管大多数现有的代理已经为计算机视觉(CV)任务开发,但在自然语言处理(NLP)任务中,相关的研究探索相对较少。
    NWOT(Mellor et al., 2021)利用不同图像的局部Jacobian值,构建了一种基于输入Jacobian相关性的模型排名指标。类似地,ZenNAS(Lin et al., 2021)通过使用输入图像的梯度范数作为排名标准来评估候选架构。此外,Zero-cost NAS(Abdelfattah et al., 2021)受到“最佳大脑损伤”(Optimal Brain Damage)原则(LeCun et al., 1989)的启发,引入了基于剪枝的度量作为零成本代理。这些度量包括GradNorm(Abdelfattah et al., 2021)、Plain(Abdelfattah et al., 2021)、SNIP(Lee et al., 2019)、GraSP(Wang et al., 2020)、Fisher(Turner et al., 2020)和Synflow(Tanaka et al., 2020)。这些代理评估网络参数的重要性,并聚合层级值来估算整体性能。

    Zero-cost Proxies for Transformer

    最近的研究(Serianni和Kalita, 2023)重新激发了零成本代理在基于Transformer的网络中的应用,这标志着该领域的重要进展。LiteTransformerSearch(Javaheripi et al., 2022)观察到,零成本代理在计算机视觉任务中表现出色,但在应用于自然语言处理时,并未超越基准方法,即解码器的参数数量。Serianni和Kalita(2023)通过FlexiBERT基准重新唤起了零成本代理在RNN和BERT-based Transformer模型中的重要性。研究提出了一系列代理,如突触多样性、突触显著性、激活距离、Jacobian余弦、注意力置信度和头部重要性,强调了它们在无需大量训练的情况下优化架构搜索过程的潜力。

    Automatic Search for ZC Proxies 

    一些研究探索了如何自动搜索零成本代理,特别是EZNAS(Akhauri et al., 2022)和EMQ(Dong et al., 2023)。EZNAS为卷积网络引入了一个专门的搜索空间,并在多个基准测试中取得了令人称赞的表现(Ying et al., 2019;Dong和Yang, 2020)。然而,当将其应用于基于Transformer的网络时,其有效性显著下降。另一方面,EMQ(Dong et al., 2023)开发了一个专门针对混合精度量化代理的搜索空间,但它并未优化用于Transformer-based网络。相比之下,我们的LPZero框架专门为语言模型设计,特别是为Transformer架构优化,展示了更优越且更有前景的表现。

    总结:本文提出的LPZero框架在设计零成本代理并自动化搜索过程中展示了卓越的效果,尤其是在Transformer架构上,较现有的方法表现出更强的潜力和优势。


    3 Methodology

    在本节中,我们设计了一个搜索空间,并详细介绍了LPZero的进化框架及其分析。

    3.1 LPZero Search Space Design

    大多数 AutoML 方法的搜索空间(如 Real 等人,2020;Liu 等人,2019)通常是为特定目的而专门设计的,并不适用于代理(proxy)搜索。先前的一些自动损失搜索方法(Li 等人,2021b,a;Gu 等人,2022)使用网络输出 y和真实标签 y标量)作为输入,这相对容易处理。然而,这些方法的搜索空间本身较为初级,和我们的最相似。但对于 ZC(零成本)代理搜索问题,我们需要更多可以处理标量、向量和矩阵输入的运算,从而可能导致形状不匹配的问题。

      值得注意的是,f20和 f21是两个特殊的一元运算:

      • f20 表示“直通”,即不对输入进行任何修改,直接返回输入;
      • f21表示“剪枝”操作,它会移除该分支,相当于返回空。

      3.2 Search Algorithm

      受 AutoML (He et al., 2021; Li et al., 2019) 的启发,进化算法成为我们搜索算法设计的核心机制。进化算法属于遗传算法的一个分支,它通过对种群中的个体进行生成、评估和选择,来模拟自然选择的过程,以解决优化问题。图 3 展示了我们 LPZero 框架的搜索流程。

      在初始化时,我们从搜索空间中 均匀采样 p个零成本(ZC)代理来构建初始种群。然后,我们在搜索空间上测量这些代理的排名相关性,以衡量每个代理的预测能力。接下来,在每次迭代中,我们采用锦标赛选择(tournament selection)从种群中选出占比 R的代理(默认 R=10%)作为潜在的候选者,然后从中随机选出两个个体 ϕn,ϕm 作为“父代理”(parents)。随后,这些父代理将以概率 Cr 和 Mr 分别执行 交叉 和 变异操作,产生后代。

      为了验证后代的有效性,我们从搜索空间中采样 S个候选网络结构,并计算它们在“真实得分”和“代理得分”之间的排名相关性。由于搜索空间非常稀疏,包含大量无效或缺乏潜力的 ZC 代理,我们提出了 Early-Stopping 策略 来过滤掉这些候选代理。

      Crossover and Mutation(交叉与变异)

      每个算法表达式(AE)由 两个分支一个聚合节点 组成。这些分支代表代理架构中的各个组成部分或操作,而聚合节点则将这两个分支的输出结合起来,形成最终的代理得分。正如图 4 所示,我们展示了交叉和变异操作的示意图。

      • 交叉操作 中,会从两个父 AE 中交换其“遗传信息”,以生成后代。具体而言,这个过程通过交换父 AE 的某些片段,组合出新的操作及结构。
      • 与之相对,变异操作 会对单个 AE 的“遗传信息”进行随机改动,从而有可能将全新的结构引入种群。

      Predictive-Pruning Strategy(预测式剪枝策略)

      LPZero 框架中的 预测式剪枝策略(Predictive-Pruning Strategy)在应对庞大且稀疏的搜索空间时发挥了关键作用。它能够迅速识别并舍弃那些无潜力或无效的零成本(ZC)代理,从而节省计算资源并加快寻找最优解的进程。通过使用附录 B 中所述的预定义标准,该策略会评估候选代理的可行性;凡是不满足指定标准的代理都会被从种群中移除,进而缩小搜索空间,让计算资源更多地集中于更有潜力的候选者。总体而言,这种策略性筛选过程提高了 LPZero 框架的效率和有效性,加快了高质量代理架构的发现。

      Searched ZC Proxy(搜索到的零成本代理)

      • LPZero 框架与目标

        • 该框架的核心目标是找到一个零成本代理,能够最大化其与真实网络性能排名之间的 Spearman 相关系数。
        • 代理 ϕ以符号化表达式的形式存在,由一元运算和二元运算组成。
        • 在搜索空间中,允许使用多种基础运算(包括可能什么也不做的“直通”以及剪枝操作),使得搜索具有极高的灵活度和可扩展性。
      • 搜索空间设计

        • 输入包括 6 类特征(Activation、Jacobs、Gradients、Head、Weight、Softmax),对应不同网络内部信息。
        • 一元运算 21 个,二元运算 4 个,这些运算可以被自由组合成丰富的代理表达式。
        • 理论上可组合出 26,460 种潜在代理结构,搜索空间十分庞大。
      • 进化式搜索策略:LPZero 算法

        • 通过进化算法迭代搜索:在每一代中,选取优秀代理(前 P),然后随机进行交叉(crossover)和变异(mutation)来生成新代理。
        • 新生成的代理如果满足有效性(PPS 验证),则被保留到种群中,否则重新生成。
        • 每代都对新产生的代理进行评估并更新种群,最终迭代到给定轮次后,输出 Spearman 值最高的代理。

       

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

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

      相关文章

      字典树运用

      字典树运用 字典树LC208 创建字典树0-1字典树 字典树 字典树又叫 前缀树, 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。 LC208 创建字典树 这是一个字符串字典树…

      RReadWriteLock读写锁应用场景

      背景 操作涉及一批数据,如订单,可能存在多个场景下操作,先使用读锁,从redis缓存中获取操作中数据 比如 关闭账单, 发起调账, 线下结算, 合并支付 先判断当前操作的数据,是否在…

      0087.springboot325基于Java的企业OA管理系统的设计与实现+论文

      一、系统说明 基于springbootvue的企业OA管理系统,系统功能齐全, 代码简洁易懂,适合小白学编程。 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数…

      Spring Boot 3 整合 MinIO 实现分布式文件存储

      引言 文件存储已成为一个做任何应用都不可回避的需求。传统的单机文件存储方案在面对大规模数据和高并发访问时往往力不从心,而分布式文件存储系统则提供了更好的解决方案。本篇文章我将基于Spring Boot 3 为大家讲解如何基于MinIO来实现分布式文件存储。 分布式存…

      Redis|集群 Cluster

      文章目录 是什么能干嘛集群算法-分片-槽位slotredis集群的槽位slotredis集群的分片分片槽位的优势slot槽位映射——业界的3种解决方案小厂:哈希取余分区中厂:一致性哈希算法分区大厂:哈希槽分区 面试题:为什么 Redis 集群的最大槽…

      【定制开发】碰一碰发视频系统定制开发,支持OEM

      在短视频营销爆发的2025年,"碰一碰发视频"技术已成为实体商家引流标配。某连锁餐饮品牌通过定制化开发,单月视频发布量突破10万条,获客成本降低80%!本文将深入解析该系统的技术架构与开发要点,助你快速搭建高…

      Linux上位机开发(开篇)

      【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 传统的上位机开发,一般都是默认pc软件开发。既然是pc软件,一般来说都是基于windows平台开发。开放的框架,无非是…

      算法005——有效三角形个数

      力扣——有效三角形个数点击链接跳转 判断三条边是否能组成三角形,大家第一时间想到的就是两边之和大于第三边 但是运用这个方法,我们需要判断三次,有一个更简单的方法,只需要判断一次 因为 C 已经是三边之中最大的了&#xff…

      【STM32】江科大STM32学习笔记汇总(已完结)

      00. 目录 文章目录 00. 目录01. STM32学习笔记汇总02. 相关资料下载03. 打赏04. 附录 01. STM32学习笔记汇总 【STM32】STM32学习笔记-课程简介(01) 【STM32】STM32学习笔记-STM32简介(02) 【STM32】STM32学习笔记-软件安装(03) 【STM32】STM32学习笔记-新建工程(04) 【ST…

      【Python编程】高性能Python Web服务部署架构解析

      一、FastAPI 与 Uvicorn/Gunicorn 的协同 1. 开发环境:Uvicorn 直接驱动 作用:Uvicorn 作为 ASGI 服务器,原生支持 FastAPI 的异步特性,提供热重载(--reload)和高效异步请求处理。 启动命令: u…

      OSPF的各种LSA类型,多区域及特殊区域

      一、OSPF的LSA类型 OSPF(开放最短路径优先)协议使用多种LSA(链路状态通告)类型来交换网络拓扑信息。以下是主要LSA类型的详细分类及其作用: 1. Type 1 LSA(路由器LSA) 生成者:每个…

      pyqt联合designer的运用和设置

      PyQt Designer 简介 PyQt Designer 是一个用于创建和设计 PyQt 应用程序用户界面的可视化工具。它允许用户通过拖放方式添加和排列各种控件,如按钮、文本框、滑块等,并设置它们的属性和样式,从而快速构建出美观且功能完整的 UI 界面。 Windows版本:【免费】安装包别管啊啊…

      vulnhub靶场之【digitalworld.local系列】的snakeoil靶机

      前言 靶机:digitalworld.local-snakeoil,IP地址为192.168.10.11 攻击:kali,IP地址为192.168.10.6 kali采用VMware虚拟机,靶机选择使用VMware打开文件,都选择桥接网络 这里官方给的有两种方式&#xff0…

      Ubuntu切换lowlatency内核

      文章目录 一. 前言二. 开发环境三. 具体操作 一. 前言 低延迟内核(Lowlatency Kernel) 旨在为需要低延迟响应的应用程序设计的内核版本。Linux-lowlatency特别适合音频处理、实时计算、游戏和其他需要及时响应的实时任务。其主要特点是优化了中断处理、调…

      C++修炼之路:初识C++

      Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《题海拾贝》 欢迎点赞&#xff0c;关注&#xff01; 引言 …

      微信小程序+SpringBoot的单词学习小程序平台(程序+论文+讲解+安装+修改+售后)

      感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;我会一一回复&#xff0c;希望帮助更多的人。 系统背景 &#xff08;一&#xff09;社会需求背景 在全球化的大背景下&#xff0c;英语作为国际…

      VBA 数据库同一表的当前行与其他行的主键重复判断实现方案1

      目的&#xff0c;判断是否主键重复&#xff0c;不重复则登录新数据&#xff0c;重复则不登录。 定义类型&#xff1a; DataRecord   tableName 表名   rowNumber 行号   columnName 列名   data 数据 想要实现的代码逻辑如下&#xff1a; 模拟数据库的登录过程。假设…

      VUE的第二天

      1. 指令修饰符 1.1什么是指令修饰符&#xff1f; ​ 所谓指令修饰符就是通过“.”指明一些指令后缀 不同的后缀封装了不同的处理操作 —> 简化代码 1.2按键修饰符 keyup.enter —>当点击enter键的时候才触发 代码演示&#xff1a; <div id"app"><…

      Element Plus中的树组件的具体用法(持续更新!)

      const defaultProps {//子树为节点对象的childrenchildren: children,//节点标签为节点对象的name属性label: name, } 属性 以下是树组件中的常用属性以及作用&#xff1a; data&#xff1a;展示的数据&#xff08;数据源&#xff09; show-checkbox&#xff1a;节点是否可…

      尚硅谷爬虫note14

      一、scrapy scrapy&#xff1a;为爬取网站数据是&#xff0c;提取结构性数据而编写的应用框架 1. 安装 pip install scrapy 或者&#xff0c;国内源安装 pip install scrapy -i https&#xff1a;//pypi.douban.com/simple 2. 报错 报错1&#xff09;building ‘twisted.te…