MiniGPT-4,开源了!

news/2024/11/22 19:58:08/

上个月GPT-4发布时,我曾写过一篇文章分享过有关GPT-4的几个关键信息。

当时的分享就提到了GPT-4的一个重要特性,那就是多模态能力

比如发布会上演示的,输入一幅图(手套掉下去会怎么样?)。

GPT-4可以理解并输出给到:它会掉到木板上,并且球会被弹飞。

再比如给GPT-4一张长相奇怪的充电器图片,问为什么这很可笑?

GPT-4回答道,VGA 线充 iPhone。

用户甚至还可以直接画一个网站草图拍照丢给GPT-4,它就可以立马帮助生成代码。

但是时间过去了这么久,GPT-4像这样的识图功能也迟迟没有开放。

就在大家都在等待这个功能开放的时候,一个名为MiniGPT-4的开源项目悄悄做了这件事情。

https://github.com/Vision-CAIR/MiniGPT-4

没错,就是为了增强视觉语言理解。

MiniGPT-4背后团队来自KAUST(沙特阿卜杜拉国王科技大学),是几位博士开发的。

项目除了是开源的之外,而且还提供了网页版的demo,用户可以直接进去体验。

MiniGPT-4也是基于一些开源大模型来训练得到的。

团队把图像编码器与开源语言模型Vicuna(小羊驼)整合起来,并且冻结了两者的大部分参数,只需要训练很少一部分。

训练分为两个阶段。

传统预训练阶段,在4张A100上使用500万图文对,10个小时内就可以完成,此时训练出来的Vicuna已能够理解图像,但生成能力有限。

然后在第二个调优阶段再用一些小的高质量数据集进行训练。这时候的计算效率很高,单卡A100只需要7分钟。

并且团队正在准备一个更轻量级的版本,部署起来只需要23GB显存,这也就意味着未来可以在一些消费级的显卡中或许就可以进行本地训练了。

这里也给大家看几个例子。

比如丢一张食物的照片进去来获得菜谱。

或者给出一张商品的照片来让其帮忙写一篇文案。

当然也可以像之前GPT-4发布会上演示的那样,画出一个网页,让其帮忙生成代码。

可以说,GPT-4发布会上演示过的功能,MiniGPT-4基本也都有。

这一点可以说非常amazing了!

可能由于目前使用的人比较多,在MiniGPT-4网页demo上试用时会遇到排队的情况,需要在队列中等待。

但是用户也可以自行本地部署服务,过程并不复杂。

首先是下载项目&准备环境:

git clone https://github.com/Vision-CAIR/MiniGPT-4.git
cd MiniGPT-4
conda env create -f environment.yml
conda activate minigpt4

然后下载预训练模型:

最后在本地启动Demo:

python demo.py --cfg-path eval_configs/minigpt4_eval.yaml

通过这个项目我们也再一次看出大模型在视觉领域的可行性,未来在图像、音频、视频等方面的应用前景应该也是非常不错的,我们可以期待一下。

好了,今天的分享就到这里了,感谢大家的收看,我们下期见。

注:本文在GitHub开源仓库「编程之路」 https://github.com/rd2coding/Road2Coding 中已经收录,里面有我整理的6大编程方向(岗位)的自学路线+知识点大梳理、面试考点、我的简历、几本硬核pdf笔记,以及程序员生活和感悟,欢迎star。


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

相关文章

[Net]SSE消息推送简介

文章目录 SSE网络协议客户端服务端事件 SSE示例客户端服务端 SSE(Server-Sent Events)是一种服务端到客户端(浏览器)的单向消息推送方式。 SSE网络协议 SSE是基于HTTP协议的,客户端向服务端发起一个请求,建…

命令行find查找删除指定文件夹下内容方法

删除一个文件夹下的2天以前的内容 可以使用 find 命令结合 -mtime 参数来删除一个文件夹下指定时间之前的内容。具体命令如下: find /path/to/folder -type f -mtime 1 -delete解释一下各参数的含义: /path/to/folder:需要删除内容的文件夹…

【Linux】System V 共享内存、消息队列、信号量

🍎作者:阿润菜菜 📖专栏:Linux系统编程 system V共享内存介绍 System V 共享内存是一种进程间通信的机制,它允许多个进程共享一块物理内存区域(称为“段”)。System V 共享内存的优点是效率高&…

微搭低代码学习之数据展示

低代码平台是一个快速发展的领域,未来有着广阔的发展前景。以下是一些低代码平台未来的发展方向: 1.人工智能和机器学习 随着人工智能和机器学习技术的不断发展,低代码平台将能够更好地利用这些技术来提高应用程序的智能化和自动化水平。例如…

演示视频:Jira企业微信插件邀您一起迈入移动办公时代,高效处理Jira Issue

在当今快节奏的商务环境中,移动端办公已经成为现代企业管理和团队协作的不可忽视的趋势。现代职场注重灵活性、高效性和便捷性,员工在手机或平板上处理工作事务已经成为日常工作的一部分。 为了满足这一需求,龙智自主研发了一款无缝集成企业微…

浙大数据结构第二周之线性结构

题目详情: 02-线性结构1 两个有序链表序列的合并 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 );其中List结构定义如下: typedef struct N…

约瑟夫环的三种解法(循环链表、数组和用数组模拟链表)

目录 前言 一、用循环链表实现 二、用数组实现 三、用数组模拟链表实现 前言 题目描述: 编号为 1 到 n 的 n 个人围成一圈。从编号为 1 的人开始报数,报到 m 的人离开。 下一个人继续从 1 开始报数。 n-1 轮结束以后,只剩下一个人&am…

线程同步方式之一互斥锁

线程同步的4种方式:互斥锁、条件变量、读写锁、信号量 了解概念-临界资源、互斥、临界区、原子性 回想一下在信号量那部分提起过的几个概念,将多个执行流串行安全访问的共享资源称为临界资源,多个执行流中访问临界资源的代码所在的地址空间…