陈丹琦团队提出低内存高效零阶优化器MeZO,单卡A100可训练300亿参数模型

news2024/12/23 9:08:10

8755f99947ade3dbacfd36e16b1cfa1b.png

深度学习自然语言处理 原创
作者:辰宜

今天下午突然发现了一篇陈丹琦大佬的巨作~ 大家一起来简单瞅瞅。

本文旨在介绍一种用于fine-tuning语言模型(LM)的低内存优化器——MeZO,内存减少多达12倍。使用单个A100 800G GPU,MeZO可以训练一个300亿参数的模型。

7c32bae52048472e71a4d62595d683dd.png

论文:Fine-Tuning Language Models with Just Forward Passes
地址:https://arxiv.org/abs/2305.17333
代码:https://github.com/princeton-nlp/MeZO

过去的方法存在的问题,用于优化大型LM的反向传播算法需要大量的内存,因此需要一种低内存优化器。

本文提出的MeZO算法是一种低内存零阶优化器,通过SPSA算法来计算梯度估计,仅需要两次前向传递。MeZO算法可以在不影响LM性能的情况下,大幅减少内存占用,优化各种模型和下游任务。

bdceeb47ab63faeaa64ca738f000c0a4.png
图 1:OPT-13B 使用零样本、上下文学习 (ICL)、MeZO和 Adam (FT) 微调的结果

方法与实验

本文的MeZO算法是基于零阶优化的理论基础。

0fa3e5b8e3a11eab5dc2ff08079b9ed7.png
MeZO伪代码

MeZO算法基于SPSA算法的低内存优化器,通过同时扰动每个权重矩阵来节省计算时间,并且可以与其他梯度优化器结合使用,例如SGD with momentum和Adam。

其在各种模型和下游任务中表现出色,相比于Adam的完全fine-tuning,性能相当,并大幅降低了内存成本。MeZO还可以优化非可微分目标,并且适用于全参数调整和前缀调整。

下面看下所有的实验情况:

f0f86db6e2e7b73d6e5bb42d65f89b7d.png
在RoBERTa-large上的实验
d4bf4aa375bd813fdce7218643a57e13.png
OPT-13B上的实验(有1000个例子)
73adebcc71bccb40f0f8f5713cb90726.png
OPT-30B和OPT-66B上的实验(有1000个例子)
ae9d0be100d8ef4b7e3070a2fe2891e5.png
具有不可微分目标的 MeZO
feb99c09532ccde05b6e61f5024b2608.png
MultiRC上不同OPT模型和调优方法的GPU内存消耗
562f6dffc23c09ec90fb36581683d710.png
可以使用特定硬件和算法进行调整的最大 OPT 模型

做个总结

最后总结下本文的所有内容:

  1. MeZO算法可以极大的减少内存的使用,并不影响LM性能。

  2. 用零阶优化理论可以优化具有高维参数的大型LM。

  3. 基于全局和局部有效秩,可以证明零阶随机梯度下降的收敛速度,以及全局收敛速度会因有效秩而变慢。

  4. 接下来需要将MeZO和其他低内存方法相结合,并研究MeZO在其他领域(如精简和数据集选择)中的适用性。

这可是个大创新,又向人人都能训练大模型迈进一大步,好开心~


进NLP群—>加入NLP交流群

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

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

相关文章

中文完整版FL Studio21永久免费升级

集合最新FL基础操作、编曲技巧、混音技巧、乐理基础、声乐演奏等各类内容,比如更高端版本才有的必备原厂插件Pitcher和Sakura,还有智能编曲插件ORB,编曲软件FL Studio21版本更新现已发布,在这次更新中优化了很多功能,但…

基于 Amazon API Gateway 的跨账号跨网络的私有 API 集成

一、背景介绍 本文主要讨论的问题是在使用 Amazon API Gateway,通过 Private Integration、Private API 来完成私有网络环境下的跨账号或跨网络的 API 集成。API 管理平台会被设计在单独的账号中(亚马逊云科技提供的是多租户的环境),因为客观上不同业务…

Arm推出新一代高性能CPU内核Cortex-X4以及GPU Immortalis-720 GPU

每年差不多这个时候,智能手机芯片背后的大脑 Arm 都会推出高通、联发科等公司用于下一代SoC的构建模块。在 2023 年 Arm 技术日期间,Arm 推出了一系列涵盖高性能和低功耗用例的新 CPU 内核,以及其第五代 GPU,并提供光线追踪图形支…

chatgpt赋能python:Python中构造方法的介绍与应用

Python中构造方法的介绍与应用 在Python编程语言中,构造方法通常是类中的一个特殊方法,用于在对象创建时初始化其属性。构造方法使用__init__关键字来定义,而且通常会包含self参数,用于引用创建的新对象。在本文中,我…

本地服务器搭建PHP简单Imagewheel云图床

文章目录 1.前言2. Imagewheel网站搭建2.1. Imagewheel下载和安装2.2. Imagewheel网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar临时数据隧道3.2.Cpolar稳定隧道(云端设置)3.3.Cpolar稳定隧道(本地设置) 4.公网访问测…

HVV的艺术系列 之 打点的艺术

渗透的本质是信息收集, 攻防的体系是知识点的串联。 打点的艺术 01 对靶标的分析 在HVV当中,获取到的靶标存在多种行业。对不同的靶标存在不同的打法,我通常分为两个大方向。其一为机关单位,其二为集团公司等。 其中二者区别对攻击…

【golang】2、http client、代理、爬图

文章目录 一、http client二、反向代理2.1 http2.2 gin 三、爬取并存储 jpg 用 golang 可以很方便的爬图(http 下载图片,存储为 jpg 格式)。 一、http client http client 有如下最佳实践: 尽量用 default http client&#xf…

小米万兆路由器里的 Docker 安装 chatgpt-next-web,打造自己的专属ChatGPT

小米万兆路由器里的 Docker 安装 chatgpt-next-web,打造自己的专属ChatGPT 0. 先体验一下效果1. 准备工作2. 查看Docker Hub镜像信息3. 拉取 ChatGPT-Next-Web 镜像和运行容器4. 感谢99. (Optional)其他 小米2022年12月份发布了万兆路由器,里面可以使用D…

挑战高通!智能座舱升级战

和智能驾驶相比,智能座舱无疑是智能化普及的领跑角色。 高工智能汽车研究院监测数据显示,2022年中国市场(不含进出口)乘用车搭载智能数字座舱(大屏语音车联网OTA)前装标配交付795.05万辆,同比增…

01. docker安装青龙面板 基于阿里云centos7服务器(保姆级图文)

目录 1. 安装docker2. 在终端中安装青龙面板3. 开放端口4. 访问青龙面板总结 欢迎关注 『青龙面板』 专栏,持续更新中 欢迎关注 『青龙面板』 专栏,持续更新中 1. 安装docker 在宝塔面板的软件商店中安装docker 2. 在终端中安装青龙面板 安装命令如下…

DTM在新交易平台的落地 | 业务平台

一、项目背景 在项目的发展过程中,我们将整个新交易平台(业务平台部专门为360集团内部打造的类似有赞、微盟的交易系统)微服务化,产生了店铺服务、商品服务、订单服务、优惠券服务、红包服务、用户服务、支付服务、履约服务、售后服务等等。并且这些服务…

前端系列17集-和公司架构师在学习vue3-springboot

SyntaxError: "undefined" is not valid JSON at JSON.parse (<anonymous>) 这个错误通常意味着你正在尝试将一个非 JSON 格式的数据转换成 JSON 格式。为了修复这个问题&#xff0c;你需要找到导致错误的代码行并检查它的输入数据是否符合 JSON 格式标准。 这…

chatgpt赋能python:Python中构造函数的作用

Python中构造函数的作用 Python是一种高级编程语言&#xff0c;其强大的面向对象编程&#xff08;OOP&#xff09;功能是其流行的主要原因之一。在Python中&#xff0c;通过使用构造函数可以轻松创建对象实例&#xff0c;并为对象的属性赋值。在本文中&#xff0c;我们将介绍P…

剖析CPU性能火焰图生成的内部原理

关注开发内功修炼&#xff0c;掌握硬核技术原理 大家好&#xff0c;我是飞哥&#xff01; 在进行CPU性能优化的时候&#xff0c;我们经常先需要分析出来我们的应用程序中的CPU资源在哪些函数中使用的比较多&#xff0c;这样才能高效地优化。一个非常好的分析工具就是《性能之巅…

到底什么是“5G新通话”?

今天这篇文章&#xff0c;我们来聊聊今年很热门的一个概念——“5G新通话”。 小枣君当年第一次听说“5G新通话”的时候&#xff0c;还以为是VoNR的“新马甲”。 后来&#xff0c;仔细研究了一下&#xff0c;我才知道&#xff0c;原来“5G新通话”并不是VoNR&#xff0c;而是Vo…

chatgpt赋能python:Python中的构造函数

Python 中的构造函数 Python 是一门广泛应用于各种应用领域的高级编程语言&#xff0c;它支持不同的编程范式&#xff0c;包括面向对象编程。在面向对象编程中&#xff0c;构造函数是一个重要的概念。本文将介绍 Python 中的构造函数&#xff0c;并介绍如何使用它们来创建对象…

PFTL201C 10KN 3BSE007913R0010 专为测量该分力而设计

在许多带材加工中&#xff0c;带材张力会在轧辊上产生一个水平分力...或者&#xff0c;通过设计&#xff0c;它可以做到这一点。概述使用该水平分力测量带材张力非常有利。称重传感器的尺寸可仅测量带材张力&#xff0c;不包括辊的皮重。结果是优化了测量精度。另一个优势是ABB…

以支付宝为例,聊聊Web安全的三个攻防姿势

我们最常见的Web安全攻击有以下几种 XSS 跨站脚本攻击CSRF 跨站请求伪造clickjacking 点击劫持/UI-覆盖攻击 下面我们来逐个分析 一、XSS 跨站脚本攻击 跨站脚本攻击&#xff08;Cross Site Scripting&#xff09;&#xff0c;为了不和层叠样式表&#xff08;Cascading Styl…

直播倒计时 1 天 | SOFAChannel#33《Occlum x EDMM=更安全好用的机密计算 LibOS》

Occlum 是蚂蚁集团于 2019 年开源的机密计算操作系统&#xff0c;也是 Linux 基金会机密计算联盟官方项目&#xff0c;荣列 2021“科创中国”开源创新榜。2022 年 12 月 10 日&#xff0c;Occlum 正式发布 v1.0 版本。学术成果发表在 ASPLOS20。Occlum 可让复杂应用轻松获得机密…

冷气机、空调扇、饮水机、液晶驱动VK0256C LQFP52段码LCD液晶显示驱动芯片技术资料

品牌&#xff1a;永嘉微电/VINKA 型号&#xff1a;VK0256C 封装形式&#xff1a;LQFP52 年份&#xff1a;新年份 KPP2649 概述: VK0256C是一个点阵式存储映射的LCD驱动器&#xff0c;可支持最大256点&#xff08;32EGx8COM&#xff09;的LCD屏。单片机可通过3/4线串行接口配…