第十八节 LLaVA如何按需构建LORA训练(视觉、语言、映射多个组合训练)

news/2024/7/23 11:33:22 标签: llava, LORA, vit lora, huggingface, PEFT

文章目录

  • 前言
  • 一、基于llava源码构建新的参数
    • 1、添加lora_vit参数
    • 2、训练命令脚本设置
  • 二、修改源码,构建lora训练
    • 1、修改源码-lora训练
    • 2、LLM模型lora加载
    • 3、VIT模型加载
    • 4、权重冻结操作
    • 5、结果显示
  • 三、实验结果

前言

如果看了我前面文章,想必你基本对整个代码有了更深认识。实际上,大多大模型都是使用huggingface搭建,而大多LORA训练也是调用PEFT库。然而,LLaVA代码却没有相关VIT模型训练内容,也没有不同组合训练。而我也是想探索单独使用vit的lora训练、单独使用llm的lora训练或全都使用会有什么效果呢?因此,本篇文章将探索LLaVA如何按需构建LORA训练,我会给出如何构建参数与修改源码,也会给出我实验结果。实验结果表明,视觉、语言、映射三着结合训练基本没有效果,视觉与语言训练也不会有效果,而其它基本会有转好效果。

llava_15">一、基于llava源码构建新的参数

1、添加lora_vit参数

我想使用一个参数来决定是否对视觉vit模型进行lora训练,而llm与映射训练已有相关参数可控制。为此,我们在TrainingArguments的参数中添加lora_vit变量,用此来控制是否视觉使用vit训练。其如图所示:

在这里插入图片描述

2、训练命令脚本设置

于是,我们可以使用训练命令脚本,我们只需设置lora_vit的bool,即可实现视觉部分训练。当然,我也修改了源码,使用lora_enable控制LLM模型是否训练,tune_mm_mlp_adapter控制映射层是否训练。最终,我们可以自由组合决定训练哪些模块。


http://www.niftyadmin.cn/n/5546618.html

相关文章

【Python】一文向您详细介绍 np.inner()

【Python】一文向您详细介绍 np.inner() 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕,曾…

源代码加密软件哪家好?盘点2024年10款王炸级加密软件

看到一条新闻: 这个新闻让我想到了数据加密的重要性!尤其是,源!代!码! 源代码真的太重要了!作为软件公司里的一个劳工,我比谁都清楚源代码的重要性! 所以今天&#xff…

【leetcode】双指针算法题

文章目录 1.算法思想2.移动零3.复写零方法一方法二 4.快乐数5.盛水最多的容器方法一(暴力求解)方法二(左右指针) 6.有效三角形的个数方法一(暴力求解)方法二(左右指针) 7.两数之和8.…

C#中 有内置环形链表吗,如果有请给出使用示例代码

在C#中,并没有内置的环形链表数据结构,但是可以通过自定义实现来模拟环形链表的功能。一种常见的方法是创建一个环形链表的节点类,并在链表类中实现插入、删除、遍历等操作。 下面是一个简单的示例代码,展示了如何实现一个简单的…

GPT-4o无法取代程序员! IEEE研究显示,困难编码正确率仅为0.66%!

目录 01 0.66%-89%,惊人的成功率差异 02 实验评估 生成功能性正确代码的能力 研究动机: 研究方法: 研究实施: 研究结果: 有了ChatGPT,还需要人类程序员编码吗?上个月,一项发表…

windows中使用nssm设置nginx开机自启动

1、下载nssm工具 https://nssm.cc/release/nssm-2.24.zip 2、解压并根据自己电脑的位数定位到64或32 3、执行nssm.exe install 4、执行命令启动服务并设置开机自启动 #启动服务 net start nginxService #开机自启动 sc config nginx-service startauto

升级之道:精通Conda的自我升级艺术

升级之道:精通Conda的自我升级艺术 引言 Conda是Python和其他科学计算语言的强大包管理器,它不仅管理着包的安装和依赖,还负责自身的更新。随着开源社区的不断发展,Conda定期发布新版本以修复已知问题、增加新功能和提高性能。本…

Pytest中的钩子函数

在pytest框架中,钩子函数(Hooks)是一种强大的机制,允许用户扩展和定制pytest的行为。钩子函数在pytest的测试执行生命周期的特定点上被调用,提供了一种灵活的方式来修改或增强测试过程的各个方面。以下是对pytest钩子函…