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


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

    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  
    
    # Check if file ID and output filename are provided
    if [ $# -ne 2 ]; then
        echo "Usage: $0  "
        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

  • 相关阅读:
    【Python】面向对象版学生管理系统(文末有源代码)
    探索云世界的无限可能
    Spring AOP基于XML方式笔记整理
    数据仓库之雪花模型
    Docker原理详细剖析-Namespace
    简单记一下Vue router 路由中使用 vue-i18n 进行标题国际化
    3A开关降压型单节充电管理芯片CS5308D
    文理导航杂志文理导航杂志社文理导航编辑部2022年第12期目录
    二维码怎么做调查问卷?二维码统计数据的技巧
    C++代码编程学习:inline函数学习(Essential C++ 第二章)
  • 原文地址:https://blog.csdn.net/engchina/article/details/140402670