工业异常检测AnomalyGPT-Demo试跑

写在前面:如果你有大的cpu和gpu可以使用,直接根据官方的安装说明就可以,如果没有,可以点进来试着看一下我个人的安装经验。

一、试跑环境

NVIDIA4090显卡24g,cpu内存33G,交换空间8g,操作系统ubuntu22.04(试跑过程cpu使用峰值为32.8g,交换空间使用峰值8g)

二、数据准备

1.AnomalyGPT源码下载

复制代码
git clone https://github.com/CASIA-IVA-Lab/AnomalyGPT.git

2.权重准备

(1) ImageBind 权重:https://dl.fbaipublicfiles.com/imagebind/imagebind_huge.pth

(下载后放到AnomalyGPT/pretrained_ckpt/imagebind_ckpt文件夹下)

(2)vicuna权重:vicuna权重是由llama权重和vicuna 的delta权重组成,完整的vicuna权重需要由这两个权重合并而来。

llama权重获取:https://huggingface.co/huggyllama/llama-7b/tree/main

vicunav0权重获取:https://huggingface.co/lmsys/vicuna-7b-delta-v0

vicunav1权重获取:https://huggingface.co/lmsys/vicuna-7b-delta-v1.1/tree/main

(3)AnomalyGPT的Delta 权重:https://huggingface.co/openllmplayground/pandagpt_7b_max_len_1024

(下载后放在AnomalyGPT/pretrained_ckpt/pandagpt_ckpt/7b文件夹下)

(4)AnomalyGPT权重:

https://huggingface.co/FantasticGNU/AnomalyGPT/blob/main/train_supervised/pytorch_model.pt

(下载后放在AnomalyGPT/code/ckpt/train_supervised文件夹下)

三、运行

1.环境搭建

(打开requirements.txt 把torch版本号去掉让其自动选择安装版本,然后保存。这里修改是因为我本地是cuda12,官方默认装的是cuda11.7对应的torch,担心不适配所以修改一下。)

创建anomalygpt环境并安装相关包

bash 复制代码
conda create -n anomalygpt python=3.8
conda activate anomalygpt
pip install -r requirements.txt

2.vicuna权重合并

vicuna权重合并用的是fastchat工具

fastchat环境搭建

bash 复制代码
conda create -n fastchat python=3.8
conda activate fastchat
pip3 install "fschat[model_worker,webui]"

合并命令:(注意:(1).这里的fastchat版本不能为0.1.10,因为0.1.10没有--low-cpu-mem这个参数,无法在cpu内存小的设备上进行合并权重;(2).vicuna的delta权重版本选1.1,vicunav0版本的时候有一个tensor错误,会报RuntimeError: The size of tensor a (32000) must match the size of tensor b (32001) at non-singleton dimension 0错误)

bash 复制代码
python -m fastchat.model.apply_delta --base llama权重文件夹路径 \
 --target 合并后的权重保存路径 \
 --delta vicuna的delta权重文件夹路径 \
 --low-cpu-mem

合并成功:

3.demo运行

(1)直接运行python web_demo.py,会报被kill的错;

(2)解决被杀死问题:将delta_chpt_path,anomaly_ckpt_path,imagebind_ckpt_path模型加载到gpu上(共5g左右的显存),这样vicuna模型才能正常加载完成。

(3)有时候直接运行python web_demo.py会报ValueError: Unknown scheme for proxy URL URL('socks://127.0.0.1:7891/')的错,

解决方案:在terminal中运行一下命令:

bash 复制代码
unset all_proxy; unset ALL_PROXY

(4)正常运行运行python web_demo.py成功:

(5)线上线下demo效果对比:

线上:

本地:

五、参考文献

vacuna大模型训练:大模型也内卷,Vicuna训练及推理指南,效果碾压斯坦福羊驼

anomalygpt文章介绍:大模型也能用来做工业异常检测 - 知乎

大模型相关:UC伯克利发布大语言模型排行榜,Vicuna夺冠,清华ChatGLM进前5-36氪

工业缺陷数据集:MVTEC公开数据集_mvtec数据集-CSDN博客

高效大模型微调框架:大模型高效微调-PEFT框架介绍 - 知乎

DeepSpeedAgent: [LLM]大模型训练(一)--DeepSpeed介绍-CSDN博客

SelfInstructTestDataset:生成语料方式【self-instruct方式生成语料代码实战】-CSDN博客

LDAP命令介绍---dsconfig_ldap 查看所有 bind dn-CSDN博客

权重合并操作参考:https://github.com/CASIA-IVA-Lab/AnomalyGPT/tree/main/pretrained_ckpt#1-prepare-vicuna-checkpoint

合并权重操作手册常见的坑:【LLM入门】Vicuna 模型部署与测试 - 知乎

GitHub - lm-sys/FastChat: An open platform for training, serving, and evaluating large language models. Release repo for Vicuna and Chatbot Arena.

相关推荐
拾零吖1 小时前
李宏毅 Deep Learning
人工智能·深度学习·机器学习
华芯邦1 小时前
广东充电芯片助力新能源汽车车载系统升级
人工智能·科技·车载系统·汽车·制造
时空无限2 小时前
说说transformer 中的掩码矩阵以及为什么能掩盖住词语
人工智能·矩阵·transformer
查里王2 小时前
AI 3D 生成工具知识库:当前产品格局与测评总结
人工智能·3d
武子康3 小时前
AI-调查研究-76-具身智能 当机器人走进生活:具身智能对就业与社会结构的深远影响
人工智能·程序人生·ai·职场和发展·机器人·生活·具身智能
小鹿清扫日记3 小时前
从蛮力清扫到 “会看路”:室外清洁机器人的文明进阶
人工智能·ai·机器人·扫地机器人·具身智能·连合直租·有鹿巡扫机器人
fanstuck3 小时前
Prompt提示工程上手指南(六):AI避免“幻觉”(Hallucination)策略下的Prompt
人工智能·语言模型·自然语言处理·nlp·prompt
纪元A梦4 小时前
贪心算法应用:配送路径优化问题详解
算法·贪心算法
zhangfeng11334 小时前
win7 R 4.4.0和RStudio1.25的版本兼容性以及系统区域设置有关 导致Plots绘图面板被禁用,但是单独页面显示
开发语言·人工智能·r语言·生物信息
C_player_0014 小时前
——贪心算法——
c++·算法·贪心算法