人工智能大语言模型起源篇,低秩微调(LoRA)

news/2024/12/16 21:28:41/

上一篇: 《规模法则(Scaling Law)与参数效率的提高》

序言:您在找工作时会不会经常听到LoRA微调,这项技术的来源就是这里了。

(12)Hu、Shen、Wallis、Allen-Zhu、Li、L Wang、S Wang 和 Chen 于2021年发表的《LoRA: Low-Rank Adaptation of Large Language Models》,https://arxiv.org/abs/2106.09685

现代的大型语言模型在大数据集上进行预训练后,展现了突现能力,并且在多种任务中表现优异,包括语言翻译、总结、编程和问答。然而,如果我们希望提升变换器在特定领域数据和专业任务上的能力,微调变换器是非常值得的。

低秩适配(LoRA)是微调大型语言模型的一种非常有影响力的方法,它具有参数高效的特点。虽然还有其他一些参数高效的微调方法(见下文的综述),但LoRA特别值得一提,因为它既优雅又非常通用,可以应用于其他类型的模型。

虽然预训练模型的权重在预训练任务上是全秩的,但LoRA的作者指出,当预训练的大型语言模型适配到新任务时,它们具有低“内在维度”。因此,LoRA的核心思想是将权重变化(ΔW)分解成低秩表示,这样可以更高效地使用参数。

LoRA 的示例及其性能来自 https://arxiv.org/abs/2106.09685。

(13)Lialin、Deshpande 和 Rumshisky 于2022年发表的《Scaling Down to Scale Up: A Guide to Parameter-Efficient Fine-Tuning》,https://arxiv.org/abs/2303.15647

现代的大型语言模型在大数据集上进行预训练后,展现了突现能力,并且在多种任务中表现优异,包括语言翻译、总结、编程和问答。然而,如果我们希望提升变换器在特定领域数据和专业任务上的能力,微调变换器是非常值得的。本文综述了40多篇关于参数高效微调方法的论文(包括前缀调优、适配器、低秩适配等流行技术),旨在使微调过程(变得)更加高效,尤其是在计算上。

来源:https://arxiv.org/abs/2303.15647


http://www.ppmy.cn/news/1555680.html

相关文章

Matlab笔记---clear、clc、clear all应用

在MATLAB中,clear、clc 和 clear all 是三个常用的命令,它们各自有不同的作用: clc: clc 命令用于清除MATLAB命令窗口中的所有输出。它不会删除任何变量、函数或文件,只是清除屏幕上的显示内容,让你可以更…

并行口的基本概念

单片机的并行口结构包括多个并行I/O端口,用于与外部设备进行并行数据传输。这些端口能够直接读写外部存储器、显示设备、打印机等外设的数据,是单片机与外界交互的重要通道。在深入探讨之前,我们先简要了解下单片机的基本概念。 单片机&…

Next.js 指令教程:深入理解 use-server 指令

更多有关Next.js教程,请查阅: 【目录】Next.js 独立开发系列教程-CSDN博客 目录 1. 概述 2. use-server 指令概述 2.1 什么是 use-server 指令? 2.2 为什么需要 use-server? 3. use-server 工作原理 3.1 渲染过程 3.2 动态…

《深入浅出HTTPS​​​​​​​​​​​​​​​​​》读书笔记(19):密钥

为了避免暴力破解,不同密码学算法的密钥应该保证一定长度,密钥长度足够长也不代表安全,密钥应该是随机、无法预测的。 从两个维度考虑: ◎对称加密算法、MAC算法使用的密钥就是一串数字。 ◎公开密钥算法中的密钥是一对&#x…

机器人通信:通信方式、协议、类型、场景

机器人通信是指机器人之间、机器人与人类或机器人与其他系统之间的信号传递和信息交换。其目的是实现协作、控制、监测和数据共享。以下是一些关键点: 通信方式: 无线通信:使用无线电波(如Wi-Fi、蓝牙、ZigBee等)进行数…

【银河麒麟高级服务器操作系统】有关dd及cp测试差异的现象分析详解

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn dd现象 使用银河麒麟高级服务器操作系统执行两次…

使用docker-compose部署fastApi微服务

制作镜像 准备服务代码man.py 文件夹结构 import os from loguru import logger from fastapi import FastAPI import uvicornapp FastAPI() # 定义日志输出目录 log_directory os.getenv("LOG", "/work/logs/") os.makedirs(log_directory, exist_o…

C++6--析构函数

目录 1.概念 2.特性 1.概念 与构造函数功能相反,析构函数不是完成对对象本身的销毁,局部对象销毁工作是由编译器完成的。而对象在销毁时会自动调用析构函数,完成对象中资源的清理工作 2.特性 析构函数是特殊的成员函数,其特征如下…