1. 项目概述
OFA(One For All)是字节跳动提出的多模态预训练模型,支持视觉问答、图像描述、图像编辑等多种任务。其中视觉问答(VQA)是最常用的功能之一——输入一张图片和一个英文问题(该模型仅支持英文),模型就能输出对应的答案(比如输入"瓶子"图片+问题"What is the main subject?",输出"a water bottle")。
本次部署使用的是ModelScope平台的iic/ofa_visual-question-answering_pretrain_large_en模型,基于Python虚拟环境(Miniconda)部署,全程在Linux环境下操作(Windows可参考,命令略有差异)。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备
2.1 基础环境要求
系统:Linux(Ubuntu/CentOS均可,本次用Ubuntu)
工具:Miniconda(用于创建独立虚拟环境,避免环境污染)
Python版本:3.11(亲测兼容,3.9-3.11均可,不建议3.12+,部分依赖不支持)
网络:能访问ModelScope、PyPI源(建议换清华源,提速)
2.2 虚拟环境创建
创建虚拟环境是避免依赖冲突的关键步骤。执行以下命令:
bash复制# 1. 激活Miniconda(如果没配置环境变量,先执行这个)
source /opt/miniconda3/bin/activate
# 2. 创建虚拟环境(环境名:torch27,Python版本3.11)
conda create -n torch27 python=3.11 -y
# 3. 激活创建好的虚拟环境
conda activate torch27
执行成功后,终端前缀会显示(torch27),说明已经进入虚拟环境。
3. 依赖安装与配置
3.1 配置清华PyPI源
默认PyPI源在国外,下载依赖很慢,甚至会超时,建议配置清华源:
bash复制pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
3.2 创建工作目录
创建一个单独的工作目录,用于存放脚本、图片等文件:
bash复制mkdir -p /root/workspace/ofa_visual-question-answering
cd /root/workspace/ofa_visual-question-answering
3.3 安装核心依赖
OFA模型对依赖版本要求极高,以下是经过验证的版本组合:
bash复制# 1. 先安装tensorboardX
pip install tensorboardX==2.6.4
# 2. 安装ModelScope硬编码要求的核心依赖
pip install huggingface-hub==0.25.2 tokenizers==0.21.4 transformers==4.48.3
# 3. 安装modelscope
pip install modelscop
