首页 > 其他分享 >Visual Instruction Tuning论文阅读笔记

Visual Instruction Tuning论文阅读笔记

时间:2024-06-07 16:57:26浏览次数:31  
标签:Tuning Instruction Visual 指令 LLM 图像 GPT

Motivation & Abs

Motivation:之前基于LLM的通用助手仅能处理文本。

数据:使用纯语言的GPT4生成多模态语言-图像指令数据。

模型:基于生成数据端到端训练的模型LLaVA,用于通用视觉语言理解。

指标:两个benchmark。

GPT-assisted Visual Instruction Data Generation

现有的多模态指令数据集往往很小,原因在于构建这样的数据集相当耗时,同时缺少较好的定义。因此作者考虑使用C ha t GPT/GPT4来构建相应的数据(基于现有的图像文本对)。

对于一张图像\(X_v\)以及与之关联的caption \(X_c\),我们可以很自然地构建一系列的问题\(X_q\),目的是指导助手描述图像内容。作者提示GPT-4以生成一系列的问题,因此一个简单的扩充图像文本对为指令跟随的方式是:

截屏2024-06-07 15.14.21

但这种简单的方式会导致指令以及回答的多样性 / 推理深度的缺失。为解决这个问题,作者使用ChatGPT / GPT4(仅利用其语言能力)作为一个强的教师模型生成包含视觉内容的指令跟随数据。为了将图像编码为视觉特征送入text-only GPT,作者使用了两种不同形式的表示:(1)Captions以及(2)Bounding boxes,这种表示可以使图像被编码为LLM能够识别的序列。作者使用了COCO的图像,同时生成了三种指令跟随数据:Conversation,Detailed description以及Complex reasonging。

截屏2024-06-07 15.32.04

Visual Instruction Tuning

Architecture

截屏2024-06-07 15.58.07

LLM使用的是Vicuna,视觉encoder使用的是CLIP的ViT-L/14, 通过一个简单的线性层将图像特征投影到word embedding space。

Training

对于每一个图像\(X_v\),作者生成多轮对话数据\(X_q^1,X_a^1...X_q^T,X_a^T\)。指令构建:

截屏2024-06-07 16.13.06

对于预测token使用instruction-tuning,优化目原始的自回归目标:

截屏2024-06-07 16.15.28

两阶段指令微调过程:

Stage 1: Pre-training for Feature Alignment. 在这一阶段只训练线性层,使用的数据为图像以及对应的original caption(GT)。每个训练样本可以被视为单轮对话。

Stage 2: Fine-tuning End-to-End. 第二阶段冻结视觉encoder,训练投影层和LLM。

实验

需要注意的是,定量实验中,作者使用GPT4评估生成的质量(helpfulness, relevance, accuracy, and level of detail of the responses)。截屏2024-06-07 16.41.51

两个benchmark:

截屏2024-06-07 16.42.39

标签:Tuning,Instruction,Visual,指令,LLM,图像,GPT
From: https://www.cnblogs.com/lipoicyclic/p/18237497

相关文章

  • BERT+P-Tuning文本分类模型
    基于BERT+P-Tuning方式文本分类模型搭建模型搭建本项目中完成BERT+P-Tuning模型搭建、训练及应用的步骤如下(注意:因为本项目中使用的是BERT预训练模型,所以直接加载即可,无需重复搭建模型架构):一、实现模型工具类函数二、实现模型训练函数,验证函数三、实现模型预测函......
  • 使用Visual Studio分析.NET Dump
    前言内存泄漏和高CPU使用率是在日常开发中经常遇到的问题,它们可能会导致应用程序性能下降甚至崩溃。今天我们来讲讲如何使用VisualStudio2022分析.NETDump,快速找到程序内存泄漏问题。什么是Dump文件?Dump文件又叫内存转储文件或者叫内存快照文件。用于存储程序运行时的状态......
  • VSCode(Visual Studio Code) C/C++ 开发环境 | MinGW无需输入代码 — 99.99%成功率(超详
    VisualStudioCodeC++六一马不停蹄更新中……参考资料:visualstudio|cppuninstall|vscode———————————————————————————————————————————————卸载VSCode【如没下跳转】-先下载下准备zip:MinGW32.zipMinGW真......
  • visual studio 插件开发 - 项目介绍
    1.项目结构创建步骤:1.创建名为xxxx的VSIX项目。可以通过搜索“vsix”在“新建项目”对话框中找到VSIX项目模板。2.项目打开时,添加名为FirstCommand的自定义命令项模板。创建好一个vsix项目后最简单的结构:XXXXPackage.cs称为Package类。VisualStudio调用......
  • visual studio 插件开发 - 概述
    VisualStudio插件开发1.插件的概述1.1VisualStudio扩展执行哪些类型的操作?对VisualStudio中不包含的语言的支持,并提供语法着色、IntelliSense和编译器和调试支持。使用更多模板、代码重构、新对话框或工具窗口扩展核心IDE体验的生产力工具。特定于域的设计器,适......
  • ASP.NET Web应用程序升级最新的MSBuild格式后,Visual Studio 2022中如何调试?
    摘要把ASP.NET的Web应用程序,Project文件从<ProjectToolsVersion="12.0"DefaultTargets="Build"xmlns="http://schemas.microsoft.com/developer/msbuild/2003">改为<ProjectSdk="Microsoft.NET.Sdk.Web">之后,升级成了最新的格式之后,如......
  • ASP.NET Web应用程序升级最新的MSBuild格式后,Visual Studio 2022中如何调试?
    摘要把ASP.NET的Web应用程序,Project文件从<ProjectToolsVersion="12.0"DefaultTargets="Build"xmlns="http://schemas.microsoft.com/developer/msbuild/2003">改为<ProjectSdk="Microsoft.NET.Sdk.Web">之后,升级成了最新的格式之后,如......
  • Visual Studio常用快捷键
    VisualStudio常用快捷键前言对于开发者而言,熟悉快捷键的使用,能够起到事半功倍的作用,提高工作效率。以下是我整理的一份VisualStudio常用快捷键清单,希望能够帮助到你。常用快捷方式快捷键功能Ctrl+K+C注释选定内容Ctrl+K+U取消注释选定内容Ctrl+K......
  • visual studio 2019 c++与汇编混合代码
    1、visualstudio2019下x64架构的CPU配置不支持内联汇编代码的嵌入,即不支持__asm{}语句。2、通过创建.asm汇编代码文件封装汇编函数的方式实现c++代码调用汇编函数:第一步:修改工程的生成依赖项第二步:创建.asm汇编代码文件第三步:编写汇编代码的函数第四步:在c++文件调用汇编函......
  • Visual Studio 2022创建C/C++项目
    没想到还有能用到C/C++的时候……刚好忘记怎么用VisualStudio了,写个博客记录一下 参考——https://blog.csdn.net/Long_xu/article/details/130599633https://learn.microsoft.com/zh-cn/visualstudio/extensibility/vsix/get-started/get-tools?view=vs-2022版本:VisualS......