无显卡也可以玩大模型-MiniGPT-4篇

MiniGPT-4学习

  • 1.Colab上部署MiniGPT-4
  • 2.论文摘要
  • 3.模型架构
  • 4.模型训练
  • 5.总结

1.Colab上部署MiniGPT-4

代码:
https://github.com/Czi24/Awesome-MLLM-LLM-Colab/blob/master/MLLM/MiniGPT-4-colab/MiniGPT-4.md

2.论文摘要

最近的 GPT-4 展示了非凡的多模式能力,例如直接从手写文本生成网站以及识别图像中的幽默元素。这些特征在以前的视觉语言模型中很少观察到。我们认为 GPT-4 先进的多模态生成能力的主要原因在于使用了更先进的大语言模型(LLM)。为了研究这一现象,我们提出了 MiniGPT-4,它仅使用一个投影层将冻结的视觉编码器与冻结的 LLM、Vicuna 对齐。我们的研究结果表明,MiniGPT-4 拥有许多与 GPT-4 类似的功能,例如详细的图像描述生成和根据手写草稿创建网站。此外,我们还观察到 MiniGPT-4 中的其他新兴功能,包括受给定图像启发编写故事和诗歌、为图像中显示的问题提供解决方案、教用户如何根据食物照片烹饪等。在我们的实验中,我们发现仅对原始图像-文本对进行预训练可能会产生缺乏连贯性的不自然语言输出,包括重复和支离破碎的句子。为了解决这个问题,我们在第二阶段策划了一个高质量、对齐良好的数据集,以使用对话模板来微调我们的模型。事实证明,这一步骤对于增强模型的生成可靠性和整体可用性至关重要。值得注意的是,我们的模型计算效率很高,因为我们只利用大约 500 万个对齐的图像文本对来训练投影层。

3.模型架构

ViT & Q-Former + Linear + Vicuna

MiniGPT-4 由一个带有预训练 ViT 和 Q-Former 的视觉编码器、一个线性投影层和一个高级 Vicuna 大语言模型组成。 MiniGPT-4只需要训练线性层即可将视觉特征与Vicuna对齐:

4.模型训练

Stage1:
5M的图文对

Stage2:
3500张高质量的指令数据

  1. 从Conceptual Caption datase中筛选5000张图片,利用第一阶段的模型输出回答,第一阶段自动生成的图像描述包含噪音或不连贯的描述,如重复的单词或句子,支离破碎的句子,或不相关的内容。
  2. 通过ChatGPT重构数据,最终得到3500张图片
    系统提示:

Fix the error in the given paragraph. Remove any repeating sentences, meaningless characters, not English sentences, and so on. Remove unnecessary repetition. Rewrite any incomplete sentences. Return directly the results without explanation. Return directly the input paragraph if it is already correct without explanation.

5.总结

  1. 幻觉问题:long caption的幻觉比short caption 严重
  2. 空间理解能力不足


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

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

相关文章

【设计模式之美】【建造型】工厂模式:通过面向接口编程思路,串起业务流程

文章目录 一. 简单工厂(Simple Factory)第一种简单工厂:面向接口编程与工厂类:划分功能职责第二种:单例简单工厂:节省内存和对象创建的时间 二. 工厂方法(Factory Method)&#xff1…

文心一言:如何备考软考架构师

提问:软考高级:架构师指导,有哪些考点、重点考点有哪些?需要如何备考?案例分析题如何做?论文如何写? 文心一言回答1700字如下: 针对软考高级架构师的考试,以下是对考点、重点考点、备…

DiffusionModel-Transformer知识回顾

论文链接: Attention Is All You Need CNN vs RNN vs Transformer CNN(卷积神经网络) 特点: 局部连接:每个卷积神经元只与输入数据的局部区域连接,这有助于捕捉局部特征。权重共享:卷积核的权重…

Android笔记:Constructor (xxx) has been changed after generation.

遇到此报错时,onstructor (xxx) has been changed after generation.是因为修改了实体类字段后什么都不修改的话就会报这个错 这条信息是关于代码生成和代码变更的警告。当你使用某些工具(如注解处理器、代码生成库等)来自动生成代码时&…

运行在Linux上的程序越来越慢的排查思路

1、通过free -h 排查内存使用情况,是否内存满了 2、通过df -h 排查磁盘的使用情况,磁盘是否没有空间了 3、检查系统资源配置情况,比如使用ulimit -a检查当前会话的资源限制,如最大文件数、打开文件描述符数等,看是否…

清华计算几何-ConvexHull(凸包)-求极点InTriangle/ToLeft Test

ConvexHull(凸包) 凸包是什么 凸包是计算几何一个非常基础核心的概念。我理解的凸包就是给定一个点集合, 最外围的点的包围体就是凸包。如下所示: 极点(ExtremityPoint) 给定的点集合中, 如果一个点存在一条直线, 让其他所有点都在于该直线的同一侧, 则该点为极点。 非极点 …

如何理解electron 的预加载脚本

在 Electron 应用中,预加载脚本(Preload Script)是一个非常重要的概念,它允许你在渲染进程(web 页面)和主进程之间创建一个安全的桥梁。预加载脚本运行在 Node.js 环境中,但位于渲染进程的一个单独的上下文中,这意味着它可以访问 Node.js 的 API,但无法直接访问 DOM。…

JavaScript进阶(7) ----构造函数和原型对象

目录 构造函数 prototype 定义: 使用场景: constructor 使用场景: 原型proto 原型链 定义 特点 instanceof 运算符 原型继承的基本概念 在JavaScript中,构造函数和原型是面向对象编程的核心概念,它们共同构…

海康工业相机驱动

1.新建基于对话框的MFC程序,界面布局如下 2.修改控件ID,为控件绑定变量 3.创建全局变量,构造函数中初始化变量,初始化对话框界面,补齐各控件按钮响应函数 全文程序如下: // MFC_GrabimageDlg.h : 头文件 /…

【动态规划Ⅰ】斐波那契、爬楼梯、杨辉三角

动态规划—斐波那契系列 什么是动态规划斐波那契数组相关题目509. 斐波那契数 Easy1137. 第 N 个泰波那契数 Easy 杨辉三角118. 杨辉三角 Easy 爬楼梯相关题目70. 爬楼梯 Easy746. 使用最小花费爬楼梯 Easy 什么是动态规划 动态规划是一种通过将原问题分解为相对简单的子问题来…

linux下解压命令

在Linux下,解压缩文件通常涉及多种命令,具体取决于文件的压缩格式。以下是一些常用的解压缩命令: tar.gz / .tgz 如果文件扩展名为 .tar.gz 或 .tgz,你可以使用 tar 命令来解压缩: tar -xzf filename.tar.gz这里的 -x …

近期几首小诗汇总-生活~卷

生活 为生活飘零,风雨都不阻 路见盲人艰,为她心点灯 贺中科大家长论坛成立十五周年 科学家园有喜贺 园外丑汉翘望中 曾一学子入我科 正育科二盼长大 憧憬也能入此家 与科学家论短长 园外翘首听高论 发现有隙入此坛 竟然也能注册成 入园浏览惶然立 此贴…

系统架构的基础:定义、原则与发展历程

目录 1. 系统架构的定义 2. 系统架构的基本组成部分 2.1 架构层次 2.2 架构视图 2.3 架构原则 3. 系统架构的发展历程 3.1 初期阶段:单体架构(Monolithic Architecture) 3.2 面向对象和组件化阶段 3.3 客户端-服务器架构(Client-Server Architecture) 3.4 三层架…

在 Linux 上使用 lspci 命令查看 PCI 总线硬件设备信息

lspci 命令用于显示 Linux 系统上的设备和驱动程序 当在个人电脑或服务器上运行 Linux 时,有时需要识别该系统中的硬件。lspci 命令用于显示连接到 PCI 总线的所有设备,从而满足上述需求。该命令由 pciutils 包提供,可用于各种基于 Linux 和…

JAVA中的回溯算法解空间树,八皇后问题以及骑士游历问题超详解

1.回溯算法的概念 回溯算法顾名思义就是有回溯的算法 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法&#xff…

E12.【C语言】练习:求两个数的最大公约数

1.枚举 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() {int a 0;int b 0;int tmp 0;scanf("%d %d", &a, &b);if (a < b){for (int i1; i < a; i){if (0a% i && 0b%i)tmp i;}}if (a>b){for (int i 1; i <…

[线性RNN系列] Mamba: S4史诗级升级

前言 iclr24终于可以在openreview上看预印本了 这篇&#xff08;可能是颠覆之作&#xff09;文风一眼c re组出品&#xff1b;效果实在太惊艳了&#xff0c;实验相当完善&#xff0c;忍不住写一篇解读分享分享。 TL;DR &#xff08;overview&#xff09; Structured State-Sp…

Nginx 日志统计分析命令

统计访问量最多的IP地址&#xff1a; awk {print $1} /path/to/nginx/access.log | sort | uniq -c | sort -nr | head -n 10统计不同状态码的出现次数&#xff1a; awk {print $9} /path/to/nginx/access.log | sort | uniq -c | sort -nr统计访问量最多的URL&#xff1a; awk…

SQL Server端口配置指南

SQL Server是微软推出的关系型数据库管理系统&#xff0c;它支持多种操作系统平台。默认情况下&#xff0c;SQL Server使用TCP/IP协议的1433端口进行通信。然而&#xff0c;出于安全或其他考虑&#xff0c;我们可能需要更改SQL Server实例的默认端口。本文将指导你如何更改SQL …

利率债与信用债的区别及其与债券型基金的关系

利率债与信用债的定义及其区别 定义 利率债&#xff1a; 定义&#xff1a;利率债是指由主权或类主权主体&#xff08;如中华人民共和国财政部、国家开发银行等&#xff09;发行的债券。这些债券通常被认为没有信用风险&#xff0c;因为它们由国家信用背书。特点&#xff1a;由…