说在前面的话:

一个月前,OpenAI向外界展示了GPT-4如何通过手绘草图直接生成网站,令当时的观众瞠目结舌。

在GPT-4发布会之后,相信大家对ChatGPT的对话能力已有所了解。圈内的朋友们应该已经亲身体验过无论是文本生成、编写代码,还是上下文关联对话能力,这些功能都一次又一次地震撼着我们。

还记得发布会上,GPT-4展示的多模态能力,输入不仅仅局限于文字,还可以包括文本和图像,让我大开眼界。

例如:画个网站的草图,GPT4 就可以立马生成网站的 HTML 代码。

然而,时光荏苒!OpenAI至今尚未提供发布会上展示的多模态处理能力!

原本以为我们还需要再等上一段时间才能看到这一功能的更新,然而意想不到的是,我发现了这样一个项目。

这个项目被称为MiniGPT-4,由著名的阿卜杜拉国王科技大学的几位博士研究生共同完成。

更为重要的是,该项目完全开源!效果如视频中所展示的那样:

MiniGPT-4在线体验DEMO

MiniGPT-4能够支持文本和图像输入,成功实现了多模态输入功能,实在令人叹为观止!

GitHub项目地址:https://github.com/Vision-CAIR/MiniGPT-4

在线体验链接:https://minigpt-4.github.io

另外作者还提供了网页 Demo,可以直接体验(这酸爽?):

MiniGPT-4介绍

  1. MiniGPT-4利用一个投影层将BLIP-2的冻结视觉编码器与冻结的LLM(Vicuna)对齐。
  2. 我们分两个阶段训练MiniGPT-4。第一个传统预训练阶段使用大约500万个图像-文本对,在4个A100显卡上训练10小时。在第一阶段之后,Vicuna能够理解图像。但是,Vicuna的生成能力受到严重影响。
  3. 为解决这个问题并提高可用性,我们提出了一种新颖的方法,通过模型本身和ChatGPT共同创建高质量的图像-文本对。基于此,我们创建了一个小型(总共3500对)但高质量的数据集。
  4. 第二个微调阶段在该数据集的会话模板上进行训练,以显著提高其生成可靠性和整体可用性。令我们惊讶的是,这个阶段在计算上非常高效,仅使用单个A100花费约7分钟。
  5. MiniGPT-4展现出许多类似于GPT-4演示的视觉-语言能力。

官方案例演示:

接下来,我将为大家展示几个示例。

实验结果表明,GPT-4的这些先进能力理论上可以归因于它采用了更加先进的大型语言模型。

这意味着,未来在图像、声音、视频等领域,基于这些大型语言模型所开发的应用,在实际效果上都将表现不俗。

这个项目验证了大型语言模型在图像领域的可行性。接下来,预计会有更多开发者加入,将GPT-4的能力扩展至音频、视频等领域,从而让我们得以欣赏到更多有趣且令人惊艳的AI应用。

近日,我深入研究了许多关于ChatGPT注册和变现的实用干活信息。 为了方便我自己以后的学习和阅读,我整理了一些ChatGPT的操作技巧和实用工具:https://y3if3fk7ce.feishu.cn/docx/QBqwdyde7omVf4x69paconlgnAc

有兴趣的朋友们可以借此学习。

What...MiniGPT-4居然开源了,提前感受 GPT-4 的图像对话能力!的更多相关文章

  1. 利用开源程序(ImageMagick+tesseract-ocr)实现图像验证码识别

    --------------------------------------------------低调的分割线-------------------------------------------- ...

  2. [Swift通天遁地]八、媒体与动画-(5)使用开源类库绘制文字、图形、图像、图表、SVG(可缩放矢量图形)

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  3. 微博开源框架Motan初体验

    前两天,我在开源中国的微信公众号看到新浪微博的轻量Rpc框架--Motan开源了.上网查了下,才得知这个Motan来头不小,支撑着新浪微博的千亿调用,曾经在2014年的春晚中有着千亿次的调用,对抗了春 ...

  4. 【Alpaca】.Net版开源配置中心 - 技术选型 Vue 3.0

    是否可以用 Vue 3.0 现有的Vue 2.* 不推荐,坐等Vue 3.0出迁移工具吧,手动改的话工作量还是不小的 新项目 考虑下团队内对Vue + TS + VS Code的熟练程度.过程中你会遇 ...

  5. 阿里开源 OpenJDK 发行版 Dragonwell

    日有消息显示,阿里将于 21 日重磅发布其 OpenJDK 发行版 Alibaba Dragonwell. 我们知道 OpenJDK 是基于 GPL v2/Classpath Exception 的 ...

  6. The Data Way Vol.4|开源是创造软件诸多方法中最好的一种形式

    关于「The Data Way」 「The Data Way」是由 SphereEx 公司出品的一档播客节目.这里有开源.数据.技术的故事,同时我们关注开发者的工作日常,也讨论开发者的生活日常:我们聚 ...

  7. 如何参与开源项目 - 细说 GitHub 上的 PR 全过程

    目录 一.概述 二.为什么要参与开源项目 三.为什么我想介绍如何 PR 四.我想参与开源项目,怎么开始? 4.1.寻找一个合适的开源项目 4.2.寻找贡献点 五.我要提交 PR,怎么上手? 5.1.第 ...

  8. Android中Universal Image Loader开源框架的简单使用

    UIL (Universal Image Loader)aims to provide a powerful, flexible and highly customizable instrument ...

  9. 开源IMDG之GridGain

    作为另一款主流的开源数据网格产品,GridGain是Hazelcast的强有力竞争者.同样提供了社区版和商业版,近日GridGain的开源版本已经进入Apache孵化器项目Ignite(一款开源的内存 ...

  10. iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)--(转)

    图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作. 下 ...

随机推荐

  1. .join()字符串操作函数

    join函数是一个字符串操作函数 str.join(item)str表示字符串(字符),item表示一个成员,注意括号里必须只能有一个成员,比如','.join('a','b')这种写法是行不通的 举 ...

  2. 驱动开发:内核解析PE结构导出表

    在笔者的上一篇文章<驱动开发:内核特征码扫描PE代码段>中LyShark带大家通过封装好的LySharkToolsUtilKernelBase函数实现了动态获取内核模块基址,并通过ntim ...

  3. 入门 Python GUI 开发的第一个坑

    由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. 使用 Anaconda 3(conda 4.5.11)的 tkinter python 包(c ...

  4. 【python基础】复杂数据类型-字典(增删改查)

    1.初识字典 字典,是另外一种复杂的数据类型,相较于列表,字典可以将相关信息关联起来.比如说一个人的信息有名字.年龄.性别等,如果用列表存储的话,不能表示他们之间是相关联的,而字典可以,字典是一个或多 ...

  5. 【智能安防】基于AI的智能家居安全系统设计与实现

    目录 智能家居安全系统设计与实现:AI技术的应用 摘要 随着智能家居市场的快速发展,安全问题也日益突出.本文将介绍基于AI的智能家居安全系统设计与实现技术,重点阐述相关概念.实现步骤和优化改进.通过实 ...

  6. 【webpack系列】从基础配置到掌握进阶用法

    前言 本篇文章将介绍一些webpack的进阶用法,演示内容继承自上一篇文章的内容,所以没看过上一篇文章的建议先学习上一篇内容再阅读此篇内容,会更有利于此篇的学习- 文件指纹 文件指纹指的是打包输出的文 ...

  7. Transaction rolled back because it has been marked as rollback-only大概问题及解决方法

    Transaction rolled back because it has been marked as rollback-only 问题:前几天遇到一个问题,代码没有抛出我想要的带自定义提示消息的 ...

  8. ArrayList 扩容机制

    ArrayList 基本介绍 ArrayList实现了List接口.它可以存储包括null的任何类型的对象,允许重复元素.ArrayList在内部使用一个数组来存储元素,当元素数量超过数组容量时,Ar ...

  9. 【EF Core】实体的主、从关系

    假设有以下两个实体: public class Student { public int StuID { get; set; } public string? Name { get; set; } p ...

  10. 这样看C函数才对

    什么是函数?从定义来看,函数就是一段可以重复使用的代码块,比如下面这样 void hanshu() { int a = 0; int b = 3; } 这时候就应该有人要跳出来了,这是什么**!确实, ...