当前位置: 首页 > news >正文

本地部署 EVE: Unveiling Encoder-Free Vision-Language Models

本地部署 EVE: Unveiling Encoder-Free Vision-Language Models

  • 0. 引言
  • 1. 快速开始
  • 2. 运行 Demo

0. 引言

EVE (Encoder-free Vision-language model) 是一种创新的多模态 AI 模型,主要特点是去除了传统视觉语言模型中的视觉编码器。

核心创新

架构创新:EVE 采用纯解码器架构,摒弃了常见的视觉编码器-语言解码器结构。这种设计简化了模型架构,同时保持了强大的性能。
效率提升:

数据效率:仅使用 33M 公开可用的图像-文本对进行预训练。
训练效率:使用有限的计算资源(两个 8-A100 节点)在约 9 天内完成训练。

性能表现:在多个视觉语言任务上,EVE-7B 优于同类的 Fuyu-8B 模型,并接近现有的模块化编码器基础的大型视觉语言模型(LVLMs)。
灵活性:能够处理任意纵横比的图像输入。

技术细节

预训练数据:使用从 OpenImages、SAM、LAION 等公开数据集筛选的 33M 数据。
微调数据:

EVE-7B:使用 665K LLaVA SFT 数据。
EVE-7B (HD):额外使用 1.2M SFT 数据。

基础模型:基于 Vicuna-7B 构建。
训练策略:

LLM 引导的预对齐阶段
生成式预训练阶段
监督微调阶段

评估指标:在 VQAv2、GQA、VizWiz、SQA_I、TextVQA、POPE、MME_P、MMBench、SEED、MM_Vet 等多个基准测试上进行了评估。

意义与展望

模型效率:EVE 展示了如何在不牺牲性能的情况下,大幅提高视觉语言模型的训练和推理效率。
架构创新:为纯解码器多模态架构提供了一种可行且高效的训练策略。
开源贡献:通过开源代码和模型权重,促进了视觉语言模型研究的透明度和可复现性。
未来方向:

整合更多模态到统一的 EVE 网络中。
开发完整的 EVE 系列,包括不同规模的模型和基于更优秀基础模型的版本。

EVE 代表了视觉语言模型研究的一个重要方向,为构建更高效、更通用的多模态 AI 系统提供了新的思路。

1. 快速开始

创建虚拟环境和安装依赖模块,

git clone https://github.com/baaivision/EVE.git
cd EVE
conda create -n eve_envs python=3.10 -y
conda activate eve_envspip install --upgrade pip
pip install -e .
# pip install -e ".[train]"
pip install flash-attn --no-build-isolation

下载依赖模型,

mkdir lmsys; cd lmsys
git clone https://huggingface.co/lmsys/vicuna-7b-v1.5
vi google_drive_download.sh---
#!/bin/bash# Usage: ./script.sh <Google Drive file ID> <output filename># Check if file ID and output filename are provided
if [ $# -ne 2 ]; thenecho "Usage: $0 <Google Drive file ID> <output filename>"exit 1
fiFILE_ID=$1
OUTPUT_FILE=$2# Get the download URL
CONFIRM=$(curl -sc /tmp/gcookie "https://drive.google.com/uc?export=download&id=${FILE_ID}" | grep -o 'confirm=[^&]*' | sed 's/confirm=//')
DOWNLOAD_URL="https://drive.google.com/uc?export=download&confirm=${CONFIRM}&id=${FILE_ID}"# Download the file
curl -Lb /tmp/gcookie "${DOWNLOAD_URL}" -o "${OUTPUT_FILE}"echo "File downloaded as ${OUTPUT_FILE}"
---
mkdir openai; cd openai./google_drive_download.sh 1f_mA4owjm0v3awrzPv4LOURz6IzVFVZ6 eve-patch14-anypixel-672.zip; unzip eve-patch14-anypixel-672.zip./google_drive_download.sh 1V7hz37X7n9s2KmghoQ9bDVHE6J4HuQ7z eve-patch14-anypixel-1344.zip; unzip eve-patch14-anypixel-1344.zipgit clone https://huggingface.co/openai/clip-vit-large-patch14-336

最后目录如下,
在这里插入图片描述

2. 运行 Demo

下载测试图片,

wget https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/JAPANPOST-DSC00250.JPG/500px-JAPANPOST-DSC00250.JPG -O sample1.png
wget https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Search_and_rescue_at_Unosumai%2C_Kamaishi%2C_-17_Mar._2011_a.jpg/500px-Search_and_rescue_at_Unosumai%2C_Kamaishi%2C_-17_Mar._2011_a.jpg -O sample2.png
wget https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Policeman_at_Tokyo.jpg/500px-Policeman_at_Tokyo.jpg -O sample3.png

运行 Demo,

CUDA_VISIBLE_DEVICES=3,1,0,2 python tools/app.py

使用浏览器打开 http://localhost:7860 进行访问。

reference: https://github.com/baaivision/EVE

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 前端部署自动上传资源文件到cdn/oss 解决路由和访问慢的问题
  • Hadoop3:HDFS-通过配置黑白名单对集群进行扩缩容,并实现数据均衡(实用)
  • DOM 实例:深入理解文档对象模型
  • Android --- 运行时Fragment如何获取Activity中的数据,又如何将数据传递到Activity中呢?
  • 初识c++(命名空间,缺省参数,函数重载)
  • 安全防御实验2
  • 函数(实参以及形参)
  • 交换机的二三层原理
  • 速盾:如何加强网站的安全性
  • 【web]-f12-iphone6
  • 分手后如何走出夜晚的抑郁,告别失眠困扰?
  • 短视频SEO矩阵系统:源码开发与部署全攻略
  • keepalive检测VIP地址漂移主备切换
  • JAVA-----String类补充
  • 使用Spring Boot实现分布式锁
  • C++入门教程(10):for 语句
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • JDK9: 集成 Jshell 和 Maven 项目.
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • Js基础知识(一) - 变量
  • js面向对象
  • NSTimer学习笔记
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • Travix是如何部署应用程序到Kubernetes上的
  • 初识MongoDB分片
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 后端_MYSQL
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 如何解决微信端直接跳WAP端
  • 一个JAVA程序员成长之路分享
  • 用简单代码看卷积组块发展
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 如何用纯 CSS 创作一个货车 loader
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​520就是要宠粉,你的心头书我买单
  • ​字​节​一​面​
  • (~_~)
  • (02)Unity使用在线AI大模型(调用Python)
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • (Matlab)使用竞争神经网络实现数据聚类
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (回溯) LeetCode 46. 全排列
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (六)Flink 窗口计算
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (原)Matlab的svmtrain和svmclassify
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)JAVA中的堆栈