在人工智能领域,视觉任务的处理变得越来越重要。CogVLM作为一种先进的语言模型,能够处理包括视觉问题回答(VQA)、光学字符识别(OCR)和零样本目标检测等多种计算机视觉任务。本教程将指导如何在亚马逊网络服务(AWS)上部署带有4位量化的CogVLM推理服务器。
即使对EC2有经验,理解CogVLM推理服务器的硬件和软件需求也至关重要。首先,在EC2控制台中搜索EC2,然后在'实例'下点击'启动实例'按钮,并按照以下规格填写表单。
GPU内存:4位量化的CogVLM模型需要11GB的内存。推荐选择NVIDIA T4 GPU,通常可在AWSg4dn实例中找到。可能需要申请增加AWS配额以访问这些实例。
CUDA和软件需求:确保机器至少安装了CUDA 11.7和支持NVIDIA的Docker。选择像'Deep Learning AMI GPU Pytorch'这样的操作系统镜像可以简化过程。
网络:在此设置中,允许所有入站SSH和HTTP流量以确保安全访问和网络连接。
密钥:创建并安全存储SSH密钥以访问机器。
存储:为Docker镜像和CogVLM模型权重分配约50GB的空间,并留出一些额外空间作为缓冲。
使用本地保存的密钥通过SSH登录后,请按照以下步骤操作:
检查CUDA版本、GPU可访问性,并验证Docker和Python安装。
# 验证GPU可访问性和CUDA版本
nvidia-smi
# 验证Docker安装
docker --version
nvidia-docker --version
# 验证Python安装
python --version
安装Python包并启动推理服务器。
# 安装所需的Python包
pip install inference==0.9.7rc2 inference-cli==0.9.7rc2
# 启动推理服务器
inference server start
此步骤涉及下载一个大型Docker镜像(11GB)来运行CogVLM,可能需要几分钟时间。
运行docker ps
以确保服务器正在运行。应该能在后台看到一个名为roboflow/roboflow-inference-server-gpu:latest
的容器正在运行。
要测试CogVLM推理,使用GitHub上提供的客户端脚本:
克隆仓库并设置环境。
# 克隆cog-vlm-client仓库
git clone https://github.com/roboflow/cog-vlm-client.git
cd cog-vlm-client
# 设置Python环境并激活它[可选]
python3 -m venv venv
source venv/bin/activate
# 安装所需的依赖项
pip install -r requirements.txt
# 下载示例数据[可选]
./setup.sh
获取Roboflow API密钥并将其导出为环境变量以认证到推理服务器。
export ROBOFLOW_API_KEY="xSI558nrSshjby8Y4WMb"
运行Gradio应用程序并查询图像。
python app.py
Gradio应用程序将为生成一个独特的链接,可以使用该链接从任何计算机或手机查询CogVLM模型。
例如OCR图像查询和VQA图像查询。
注意:服务器首次请求可能需要几分钟时间,因为它将模型权重加载到GPU内存中。使用docker system df
和nvidia-smi
监控此过程。随后的请求不应超过十几秒。
在加载推理服务器镜像和CogVLM权重后,docker system df
和nvidia-smi
的输出。