本地部署 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
相关文章:
本地部署 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 模型,主要特点是去除了传统视觉语言模型中的视觉编码器。 核心创新 架构创新ÿ…...
阿里云CDN- https(设计支付宝春节开奖业务)
HTTP相关概念 1. HTTP概述 http是最广泛的网络协议,是客户端与服务器之间的请求与应答的标准(TCP),用于www服务器传输超文本到本地浏览器的传输协议,使浏览器更加高效,网络传输减少。 2.HTTPS概述 http…...
为何众多卖家选择加入亚马逊VC平台?他们的决策依据是什么?
众多卖家选择加入亚马逊VC平台,其背后蕴含着深思熟虑的决策逻辑。亚马逊VC平台作为一个专门为品牌供应商打造的销售平台,具有一系列独特且引人注目的优势。 首先,VC平台为卖家提供了品牌控制力的增强。在这个平台上,卖家能够更直接…...
Windows与Linux双机热备软件推荐
网络数据安全在如今信息化的时代越来越变得举足轻重,因此服务器维护和管理也成为企业健康稳定运营的一项重要工作。但实际情况是很多公司并没有配备专业的运维人员,一般都会通过一些管理软件维护或者主机托管给服务商。整理6款服务器的Windows与Linux双机…...
Mysql基础与安装
一、数据库的概念和相关的语法和规范 1、数据库的概念 数据库:组织,存储,管理数据的仓库。 数据库的管理系统(DBMS):实现对数据有效组织,管理和存取的系统软件。 数据库的种类: m…...
线程的死锁和并发安全
在多线程编程中,线程的死锁和并发安全是两个重要的概念。理解这两个概念并正确地管理它们,对于编写高效且可靠的并发程序至关重要。 线程的死锁 死锁(Deadlock) 是指两个或多个线程相互等待对方释放已经持有的资源,导…...
docker 启动提示can not create sys fs cgroup cpuset....问题处理
docker 启动失败 报错 大概报错内容为 cgroup :no such file can not create /sys/fs/cgroup/cpuset … 问题是因为 /sys/fs/cgroup/ 没有被正确挂载 cgroup 是实现资源限制的工具 docker 能够进行限制cpu 内存 大小 依赖cgroup ll /sys/fs/cgroup/ 发现一个都系也没有 m…...
[C/C++入门][ifelse]19、制作一个简单计算器
简单的方法 我们将假设用户输入两个数字和一个运算符(、-、*、/),然后根据所选的运算符执行相应的操作。 #include <iostream> using namespace std;int main() {double num1, num2;char op;cout << "输入 (,-,*,/): &quo…...
API取数实战:企业微信API取数教程
在数字化时代,企业微信不仅是一个通讯工具,更是企业数字化转型的重要平台。通过企业微信,企业能够高效连接员工、客户与合作伙伴,实现内部流程的自动化和智能化。本文将介绍企业微信API的应用场景和应用难点,并提供企业…...
AI算法18-最小角回归算法Least Angle Regression | LARS
最小角回归算法简介 最小角回归(Least Angle Regression, LAR)是一种用于回归分析的统计方法,它在某些方面类似于最小二乘回归,但提供了一些额外的优点。最小角回归由Bradley Efron等人提出,主要用于处理具有…...
wordpress 调用另外一个网站的内容 按指定关键词调用
要在WordPress中调用另一个网站的内容并根据指定关键词进行筛选,你可以使用以下代码。这段代码使用了WordPress内置的wp_remote_get函数来获取远程网站的内容,然后使用PHP的DOMDocument和DOMXPath类来解析HTML并筛选出包含指定关键词的内容。 首先&…...
kotlin数据类型
人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 Kotlin基本数值类型 基本数据类型包括 Byte、Short、Int、Long、Float、Double 整数类型 类型位宽最小值最大…...
[GWCTF 2019]babyvm
第一次接触VM逆向 先粘一下对我很有帮助的两篇佬的博客 系统学习vm虚拟机逆向_vmp 虚拟机代码逆向-CSDN博客 这篇去学习vm逆向到底是什么 我的浅显理解啊,就是和汇编的定义差不多,规定一个函数,用什么其他的名字 然后这道题 [GWCTF 2019]babyvm 详解 (vm逆向 …...
PyTorch论文
2019-12 PyTorch: An Imperative Style, High-Performance Deep Learning Library 设计迎合4大趋势: 1. array-based (Tensor) 2. GPU加速 3. 自动求导 (Auto Differentiation) 4. 拥抱Python生态 4大设计原则: 1. 使用算法和数据开发者熟悉的Python做编…...
【Python实战因果推断】37_双重差分8
目录 Diff-in-Diff with Covariates Diff-in-Diff with Covariates 您需要学习的 DID 的另一个变量是如何在模型中包含干预前协变量。这在您怀疑平行趋势不成立,但条件平行趋势成立的情况下非常有用: 考虑这种情况:您拥有与之前相同的营销数…...
【python学习】第三方库之matplotlib的定义、功能、使用场景和代码示例(线图、直方图、散点图)
引言 Matplotlib 是一个 Python 的 2D 绘图库,它可以在各种平台上以各种硬拷贝格式和交互环境生成具有出版品质的图形。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图、直方图、功率谱、条形图、错误图、散点图等 Matplotlib 是 …...
MySQL(3)表的操作
目录 1. 表的操作; 2. 数据类型; 1. 表的操作: 1.1 创建表: 语法: create table 表名( 属性 类型 [comment ], 属性 类型 [comment ], 属性 类型 ) character set 字符集 collate 校验集 engine 存储引擎; 前面博客提到: MyISAM和InoDB这两个比较重要. 1.2 查看表…...
SQL GROUPING运算符详解
在大数据开发中,我们经常需要对数据进行分组和汇总分析。 目录 1. GROUPING运算符概念2. 语法和用法3. 实际应用示例4. GROUPING运算符的优势5. 高级应用场景5.1 与CASE语句结合使用5.2 多维数据分析 6. 性能考虑和优化技巧7. GROUPING运算符的局限性8. 最佳实践9. GROUPING与其…...
在VS2017下FFmpeg+SDL编写最简单的视频播放器
1.下载ShiftMediaProject/FFmpeg 2.下载SDL2 3.新建VC控制台应用 3.配置include和lib 4.把FFmpeg和SDL的dll 复制到工程Debug目录下,并设置调试命令 5.复制一下mp4视频到工程Debug目录下(复制一份到*.vcxproj同一目录,用于调试) 6…...
LogViewer v2.x更新
logvewer 介绍 logviewer 是一个可以方便开发人员通过浏览器查看和下载远程服务器集群日志,使用ssh方式管理远程tomcat、jar包等应用,节省服务器资源。大家可以下载体验,请勿用于生产环境。欢迎提出意见或建议。 解决的问题 一般情况下公司…...
AI识别+yolo11室内监控系统 AI办公室监控系统
办公室监控系统 一个基于 Flask 的 Web 应用程序,通过计算机视觉和 YOLO 对象检测来监控办公室工作区域。系统跟踪人员在不同工作区域的存在情况,并记录在每个区域停留的时间。 功能 使用 YOLOv8 实现实时人员检测和跟踪监控多个工作区域跟踪每个定义工…...
ViGEmBus:Windows游戏控制器模拟的终极解决方案
ViGEmBus:Windows游戏控制器模拟的终极解决方案 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否曾为心爱的游戏手柄无法在Windows上正常工…...
Beyond Compare 5密钥生成指南:如何解决评估模式错误并快速激活
Beyond Compare 5密钥生成指南:如何解决评估模式错误并快速激活 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 当Beyond Compare 5的30天评估期结束后,许多用户会遇到&q…...
告别闪烁!用STM32CubeMX快速配置PWM+DMA驱动WS2812彩灯(F4系列实测)
告别闪烁!用STM32CubeMX快速配置PWMDMA驱动WS2812彩灯(F4系列实测) 在嵌入式开发中,驱动WS2812彩灯往往需要精确的时序控制,传统软件延时方式不仅占用CPU资源,还容易因中断干扰导致灯光闪烁。本文将展示如何…...
Beyond Compare 5密钥生成终极指南:5分钟免费激活完整教程
Beyond Compare 5密钥生成终极指南:5分钟免费激活完整教程 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen Beyond Compare 5作为专业的文件对比工具,在30天试用期结束后会…...
爬虫实战复盘:山东政务噪声数据逆向爬取踩坑全记录
爬虫实战复盘:山东政务噪声数据逆向爬取踩坑全记录 前言 近期在做全国各省市环境噪声实时数据爬虫、清洗、入库标准化项目,已经稳定跑通北京(静态HTML)、天津(SM3国密签名接口)两大站点。今天攻坚山东省噪声…...
图数据库 TuGraph 基本操作 作业一
一、基础知识介绍(一) 图数据库图数据库以顶点 (Vertex / Node)、边 (Edge / Relationship) 与属性 (Property) 三种元素表达事物及其关联关系。顶点对应实体, 边对应实体之间的关系, 属性以键值对形式附着在顶点或边上。相较关系数据库, 图数据库把 "关系" 提升为存…...
[260520] x-cmd v0.9.5:x install 支持 skill 安装,新增 git ci 命令让 AI 帮你写 commit
[260520] x-cmd v0.9.5:x install 支持 skill 安装,新增 git ci 命令让 AI 帮你写 commit x install 全面升级:支持 skill 安装、前缀语法、三种自动化模式、AI Agent 友好选项x git ci/commit 支持 AI 自动生成 Conventional Commits 提交信…...
Python自动化办公:用PyPDF2批量给PDF加密、调整页面顺序,解放你的双手
Python自动化办公实战:用PyPDF2实现PDF批量加密与智能排序 在数字化办公环境中,PDF文件处理已成为行政、财务和法律从业者的日常必修课。当面对数百份合同需要加密保护,或是季度报告需要重新编排页码时,手动操作不仅效率低下&…...
Linux 软件包管理(含上机实例)
文章目录软件包管理一、知识要点1.rpm作用2.安装问题1:文件已被安装问题2:文件冲突问题3:未解决依赖关系3.卸载rpm包4.升级rpm包5.查询已安装的软件包的数据库6.验证软件包完整性二、YUM的使用yum简述yum命令集三、上机任务6 软件包管理 一、…...
