🚀 BRAHMAI-CLIP-v0.1
BRAHMAI-CLIP-v0.1 是一款用于零样本图像分类的模型,采用 ViT-L/14 Transformer 架构作为图像编码器,掩码自注意力 Transformer 作为文本编码器,通过对比损失进行训练,可助力研究者开展相关学术研究。
🚀 快速开始
环境准备
确保你已经安装了必要的库,可以使用以下命令进行安装:
pip install pillow requests transformers
代码示例
from PIL import Image
import requests
from transformers import CLIPProcessor, CLIPModel
model_id = "brahmairesearch/brahmai-clip-v0.1"
model = CLIPModel.from_pretrained(model_id)
processor = CLIPProcessor.from_pretrained(model_id)
image_url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(image_url, stream=True).raw)
descriptions = ["a cat's photograph", "a dog's photograph"]
inputs = processor(text=descriptions, images=image, return_tensors="pt", padding=True)
outputs = model(**inputs)
logits_per_image = outputs.logits_per_image
probs = logits_per_image.softmax(dim=1)
print(probs)
✨ 主要特性
- 架构先进:图像编码器采用 ViT-L/14 Transformer 架构,文本编码器采用掩码自注意力 Transformer 架构。
- 对比训练:通过对比损失进行训练,最大化图像和文本对之间的相似度。
- 研究导向:专为学术和研究社区设计,有助于研究零样本、任意图像分类及跨学科研究。
📦 安装指南
使用以下命令安装所需的依赖库:
pip install pillow requests transformers
💻 使用示例
基础用法
from PIL import Image
import requests
from transformers import CLIPProcessor, CLIPModel
model_id = "brahmairesearch/brahmai-clip-v0.1"
model = CLIPModel.from_pretrained(model_id)
processor = CLIPProcessor.from_pretrained(model_id)
image_url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(image_url, stream=True).raw)
descriptions = ["a cat's photograph", "a dog's photograph"]
inputs = processor(text=descriptions, images=image, return_tensors="pt", padding=True)
outputs = model(**inputs)
logits_per_image = outputs.logits_per_image
probs = logits_per_image.softmax(dim=1)
print(probs)
📚 详细文档
模型使用
预期用途
该模型旨在作为学术和研究社区的研究工具,帮助研究人员深入研究零样本、任意图像分类,并探索此类模型的潜在影响的跨学科研究。CLIP 论文通过讨论潜在的下游影响提供了这些分析的示例。
主要预期用户:
我们期望研究人员使用此模型来深入了解计算机视觉模型的鲁棒性、泛化能力、性能、偏差和局限性。
非预期使用场景
- 部署使用场景:目前,模型的任何部署(无论是商业部署还是非商业部署)都不在预期范围内。非部署使用,如在受控环境中的图像搜索,也不建议,除非已经使用特定的、固定的类别分类法进行了彻底的领域内测试。由于 CLIP 在不同类别分类法下的性能差异,如我们的安全评估中所强调的,因此需要谨慎使用。
- 监控和人脸识别:涉及监控和人脸识别的使用场景始终不在预期范围内。鉴于目前缺乏测试规范和公平性检查,在这些领域过早应用 AI 可能会造成潜在危害。
- 非英语语言:该模型尚未针对英语以外的语言进行专门训练或评估。因此,其使用应限于英语应用。
局限性
CLIP 及其分析存在一些局限性。该模型目前在细粒度分类和对象计数等任务上存在困难。此外,CLIP 在公平性和偏差方面引发了担忧,我们在论文中进行了讨论,并在下一节中简要提及。我们测试方法的一个重要局限性是使用线性探针来评估 CLIP 的性能,因为有证据表明线性探针可能会低估模型性能。
偏差和公平性
CLIP 的性能和特定偏差可能会根据类别设计以及包含或排除类别的选择而有很大差异。我们通过将 Fairface 数据集中的人物图像分类为与犯罪相关和非人类动物类别,评估了某些类型诋毁的风险。在种族和性别方面发现了显著差异,这些差异可能会根据类别构建而发生变化。这些发现的详细信息记录在论文的更广泛影响部分。
我们还使用 Fairface 数据集评估了 CLIP 在性别、种族和年龄分类方面的性能。对于性别分类,我们发现所有种族的准确率均高于 96%,其中“中东人”的准确率最高(98.4%),“白人”的准确率最低(96.5%)。对于种族分类,CLIP 的平均准确率约为 93%,对于年龄分类,平均准确率约为 63%。我们对性别、种族和年龄分类以及诋毁危害的评估旨在评估模型在不同人群中的性能,并突出潜在风险,而不是认可或推广此类任务。
📄 许可证
本项目采用 MIT 许可证。