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

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

  • [0. 引言](#0. 引言)
  • [1. 快速开始](#1. 快速开始)
  • [2. 运行 Demo](#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_envs

pip 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 ]; then
    echo "Usage: $0 <Google Drive file ID> <output filename>"
    exit 1
fi

FILE_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.zip

git 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

相关推荐
IT_陈寒2 小时前
Vue这个坑我跳了两次,原来问题出在这
前端·人工智能·后端
新新技术迷2 小时前
Node给AI接口做SSE代理与鉴权
人工智能
redreamSo3 小时前
大模型是不是到顶了?瓶颈到底在哪
人工智能·openai
Oo9203 小时前
Tool Use 背后的技术逻辑
人工智能
姗姗来迟了3 小时前
Vue3封装AI流式对话组件踩坑实录
人工智能
码上天下3 小时前
用Pinia管理AI多会话状态
人工智能
用户054324329704 小时前
Next.js接大模型流式SSE实操踩坑
人工智能
Assby4 小时前
从 Function Calling 到 MCP:理解 Agent 工具调用的底层通信机制
人工智能·后端
小星AI5 小时前
Claude Code 从入门到精通,一步到位
人工智能
后端小肥肠5 小时前
Codex + Obsidian 做人生副本视频:输入主题文案,直通剪映草稿
人工智能·aigc·agent