VeRA: 性能相当,但参数却比LoRA少10倍

简介: 2022年的LoRA提高了微调效率,它在模型的顶部添加低秩(即小)张量进行微调。模型的参数被冻结。只有添加的张量的参数是可训练的。

与标准微调相比,它大大减少了可训练参数的数量。例如,对于Llama 27b, LoRA通常训练400万到5000万个参数,这比标准微调则训练70亿个参数药效的多。还可以使用LoRA来微调量化模型,例如,使用QLoRA:

虽然LoRA可训练参数的数量可能比模型参数小的多。但它随着张量(在LoRA中通常表示为r)的秩和目标模块的数量而增加。如果我们想要以大秩r(假设大于64)和模型的所有模块为目标(达到最佳性能),那么我们可能仍然需要训练数亿个参数。

本周又发布了VeRA,以进一步减少LoRA可训练参数的数量。

VeRA: Vector-based Random Matrix Adaptation

VeRA在LoRA冻结的低秩张量上添加可训练向量,只训练添加的向量。论文中显示的大多数实验中,VeRA训练的参数比原始LoRA少10倍。

但是原始的低秩张量(上图右侧中的A和B)呢?他们是如何训练或初始化的?

A和B随机初始化,然后冻结。这样它们虽然看起来像两个无用的张量我们可以在这个框架中去掉它们,但实际上,它们仍然是必不可少的。即使是随机张量也可以用于训练。论文的第2节,作者通过列举以前的论文,从之前的工作中得出结论:

作者最后也表示这些论文为冻结随机矩阵的应用创造了令人信服的案例。可以为VeRA提供理论和经验基础。

模型指标

GLUE评分

E2E

消融研究

总结

作为新的一种微调方法,VeRA显著减少了可训练参数的数量,而精度没有损失。与LoRA相比参数减少了10倍在GLUE基准测试中,robertta large的性能相同,但在GPT-2 medium的E2E基准测试中,性能降低了30%,说明这种方法特别适合于需要频繁交换大量微调模型的场景,比如针对个人用户个性化的基于云的人工智能服务。由于缩放向量尺寸小,可以将许多版本驻留在单个GPU的有限内存中,从而大大提高了服务效率,并消除了将特定模型加载到内存中的瓶颈。

VeRA: Vector-based Random Matrix Adaptation

https://avoid.overfit.cn/post/0c18ad6b818c4e11ae5c54825ef4857a

目录
相关文章
|
监控 负载均衡 算法
基于docker的haproxy的反向代理
基于docker的haproxy的L7的反向代理
9659 0
|
12月前
|
数据安全/隐私保护 Windows
深度剖析:PDF 工具箱功能,编辑器操作及页面 / 图像提取技巧
PDF24 Tools是一款德国开发的免费PDF工具箱,18年始终免费,支持网页与Windows客户端。内置近50个工具,涵盖编辑、转换、合并、提取、加密等功能,操作简单,可离线使用,是高效处理PDF的理想选择。
1367 0
|
机器学习/深度学习 存储 算法
回声状态网络(Echo State Networks,ESN)详细原理讲解及Python代码实现
本文详细介绍了回声状态网络(Echo State Networks, ESN)的基本概念、优点、缺点、储层计算范式,并提供了ESN的Python代码实现,包括不考虑和考虑超参数的两种ESN实现方式,以及使用ESN进行时间序列预测的示例。
1647 4
回声状态网络(Echo State Networks,ESN)详细原理讲解及Python代码实现
|
11月前
|
存储 缓存 Java
【深入浅出】揭秘Java内存模型(JMM):并发编程的基石
本文深入解析Java内存模型(JMM),揭示synchronized与volatile的底层原理,剖析主内存与工作内存、可见性、有序性等核心概念,助你理解并发编程三大难题及Happens-Before、内存屏障等解决方案,掌握多线程编程基石。
|
人工智能 安全 算法
利用AI技术提升网络安全防御能力
【10月更文挑战第42天】随着人工智能技术的不断发展,其在网络安全领域的应用也日益广泛。本文将探讨如何利用AI技术提升网络安全防御能力,包括异常行为检测、恶意软件识别以及网络攻击预测等方面。通过实际案例和代码示例,我们将展示AI技术在网络安全防御中的潜力和优势。
|
消息中间件 存储 缓存
Python之RabbitMQ操作
Python之RabbitMQ操作
|
缓存 负载均衡 应用服务中间件
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇
通过使用Nginx的反向代理功能,可以有效地提高Web应用的性能、安全性和可扩展性。配置过程中需要注意不同场景下的具体需求,如负载均衡、SSL终止和缓存策略等。正确配置和优化Nginx反向代理可以显著提升系统的整体表现。
2562 20
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
7301 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
算法 JavaScript 前端开发
Fitten Code:自动生成代码注释工具
【9月更文挑战第02天】
2381 7
|
编译器 Linux C++
《C++跨平台编译:打破系统边界,释放代码潜能》
C++作为一门强大的编程语言,在多元化软件开发环境中面临跨平台编译的挑战。本文探讨了跨平台编译的重要性,包括拓宽用户群体和资源利用,以及面临的操作系统差异、编译器差异和依赖库问题。通过使用跨平台构建系统、抽象平台相关代码和管理依赖库等策略,可以有效应对这些挑战,提升软件的市场竞争力和资源利用效率。
461 0

热门文章

最新文章