VLM学习笔记

目录

基础VLM模型CLIP

CLIP (Contrastive Language-Image Pre-training)

clip的再训练

CLIP-Chinese

轻量化VLM探索:MobileVLM V2

怎么预训练VLMs?

X-VLM

TurboMind LLM推理引擎


基础VLM模型CLIP

CLIP (Contrastive Language-Image Pre-training)

基本思想:CLIP的基本算法原理是文本和图像在特征域进行对齐。

主流VLM原理深入刨析(CLIP,BLIP,BLIP2,Flamingo,LLaVA,MiniCPT,InstructBLIP,mPLUG-owl)-优快云博客

模型结构:为了对image和text建立联系,首先分别对image和text进行特征提取,image特征提取的backbone可以是resnet系列模型也可以是VIT系列模型;text特征提取目前一般采用bert模型。特征提取之后,由于做了normalize,直接相乘来计算余弦距离,同一pair对的结果趋近于1,不同pair对的结果趋近于0,因为就可以采用对比损失loss(info-nce-loss)【这里要比较大的batch size才能有效果,类似于维护一个大的特征相似度矩阵】

原文链接:https://blog.youkuaiyun.com/weixin_54338498/article/details/135258723

clip的再训练

CLIP模型的使用和训练-利用CLIP实现zero-shot的分类任务_clip训练-优快云博客

CLIP-Chinese

https://github.com/yangjianxin1/CLIP-Chinese

轻量化VLM探索:MobileVLM V2

https://zhuanlan.zhihu.com/p/681878699

部署参数:

'default"={Conversation

"llama 2'={Conversation

'plain'= {Conversation}

'llava_llama_2'

'v1'=

怎么预训练VLMs?

目前主流的以CLIP为典型代表的Vision-Language Model(VLM)预训练方法可以大致分为3个关键模块:

  • 文本特征提取模块,通常采用Transformer结构及其一系列变体作为基础结构。
  • 图像特征提取模块,通常采用CNN(以ResNet结构为典型代表)或者Transformer(如ViT、MAE等结构)来提取图像特征。
  • 特征融合模块

https://zhuanlan.zhihu.com/p/623877502

X-VLM

X-VLM多模态模型解读_xvlm-优快云博客

TurboMind LLM推理引擎

参考博文:

学习笔记 | LMDeploy 量化部署 LLM-VLM 实践_vlm 大模型 封装-优快云博客

​ TurboMind是LMDeploy团队开发的一款关于LLM推理的高效推理引擎,它的主要功能包括:LLaMa 结构模型的支持,continuous batch 推理模式和可扩展的 KV 缓存管理器。

​ TurboMind推理引擎仅支持推理TurboMind格式的模型。因此,TurboMind在推理HF格式的模型时,会首先自动将HF格式模型转换为TurboMind格式的模型。该过程在新版本的LMDeploy中是自动进行的,无需用户操作。

​ 几个容易迷惑的点:

TurboMind与LMDeploy的关系:LMDeploy是涵盖了LLM 任务全套轻量化、部署和服务解决方案的集成功能包,TurboMind是LMDeploy的一个推理引擎,是一个子模块。LMDeploy也可以使用PyTorch作为推理引擎。
TurboMind与TurboMind模型的关系:TurboMind是推理引擎的名字,TurboMind模型是一种模型存储格式,TurboMind引擎只能推理TurboMind格式的模型。

                        

### 关于Monkey和VLM的技术文档与使用教程 #### 介绍 视觉语言模型(VLMs),如LLaVA,在多模态处理方面取得了显著进展,仅需几小时训练就能使大型语言模型(LLM)转换为具备视觉理解能力的模型[^1]。这种高效转化不仅降低了成本,还促进了社区内的研究与发展。 #### Monkey Patching概念简介 在编程领域,“monkey patch”指运行时动态修改类或模块的行为而不改变源码的做法。这一技巧广泛应用于Python等脚本语言中,用于快速修复错误或是实验性功能测试。然而,值得注意的是,此术语中的“monkey”并非特指某种具体技术和VLM无直接关联;它更多是一种软件开发实践方法论上的描述。 #### 结合VLM应用实例 假设要利用上述提到的轻量级多模态对齐学习框架实现一个简单的图片分类器,则可以考虑如下方案: - **环境准备** 安装必要的依赖库,比如PyTorch、Transformers以及datasets等。 ```bash pip install torch transformers datasets ``` - **加载预训练模型** 通过Hugging Face提供的API获取已有的VLM权重文件,并基于此构建自定义网络结构。 ```python from transformers import AutoModelForVision2Seq, AutoProcessor model_name_or_path = "your_pretrained_vlm_model" processor = AutoProcessor.from_pretrained(model_name_or_path) model = AutoModelForVision2Seq.from_pretrained(model_name_or_path) ``` - **数据集处理** 针对特定任务需求调整输入格式,例如采用切片图策略将原始图像分割成多个小块以便更好地捕捉细节特征[^4]。 ```python def preprocess_image(image_paths, max_patches=9): processed_images = [] for path in image_paths: img = Image.open(path).convert('RGB') # Resize and pad to fit the required dimensions resized_img = resize_and_pad(img) patches = slice_into_patches(resized_img, num_patches=max_patches) processed_images.append(patches) return processor(processed_images, padding=True, truncation=True, return_tensors="pt") # Helper function definitions here... ``` - **推理过程** 完成以上准备工作之后就可以调用模型来进行预测操作了。 ```python import torch with torch.no_grad(): outputs = model.generate(**preprocess_image(["path/to/image.jpg"])) print(outputs) ``` #### 注意事项 尽管VLM能够有效提升跨媒体理解性能,但在某些情况下单纯依靠其内置机制未必能获得最佳效果。因此建议尝试引入额外监督信号来增强泛化能力,尤其是在涉及复杂场景解析的任务上[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值