本地部署 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

相关推荐
卓_尔_不_凡17 分钟前
Pytorch学习---基于经典网络架构ResNet训练花卉图像分类模型
人工智能·分类·数据挖掘
神奇夜光杯26 分钟前
Python酷库之旅-第三方库Pandas(123)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
SEU-WYL29 分钟前
基于神经网络的光线追踪
人工智能·神经网络·计算机视觉
Bill6631 分钟前
OpenCV GUI常用函数详解
人工智能·opencv·计算机视觉
DisonTangor31 分钟前
OpenAI面向开发者继续提高o1系列模型的调用速率 最高每分钟可调用1000次
人工智能
zhangbin_23732 分钟前
【Python机器学习】NLP信息提取——提取人物/事物关系
开发语言·人工智能·python·机器学习·自然语言处理
王豫翔33 分钟前
OpenAl o1论文:Let’s Verify Step by Step 快速解读
人工智能·深度学习·机器学习·chatgpt
xuehaikj38 分钟前
婴儿接触危险物品检测系统源码分享
人工智能·计算机视觉·目标跟踪
crownyouyou1 小时前
第一次安装Pytorch
人工智能·pytorch·python
可愛小吉2 小时前
Python 课程14-TensorFlow
开发语言·人工智能·python·tensorflow