🚀 LLaVA-Phi模型
LLaVA-Phi是一个基于微软Phi-1.5架构的视觉语言模型,集成了CLIP以实现图像处理能力,可有效处理图像到文本的转换任务。
🚀 快速开始
此模型可用于图像到文本的转换任务。以下是使用该模型的代码示例:
from transformers import AutoModelForCausalLM, AutoTokenizer, AutoProcessor
import torch
from PIL import Image
model = AutoModelForCausalLM.from_pretrained("sagar007/Lava_phi")
tokenizer = AutoTokenizer.from_pretrained("sagar007/Lava_phi")
processor = AutoProcessor.from_pretrained("openai/clip-vit-base-patch32")
def generate_text(prompt):
inputs = tokenizer(f"human: {prompt}\ngpt:", return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=128)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
def process_image_and_prompt(image_path, prompt):
image = Image.open(image_path)
image_tensor = processor(images=image, return_tensors="pt").pixel_values
inputs = tokenizer(f"human: <image>\n{prompt}\ngpt:", return_tensors="pt")
outputs = model.generate(
input_ids=inputs["input_ids"],
attention_mask=inputs["attention_mask"],
images=image_tensor,
max_new_tokens=128
)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
✨ 主要特性
- 基础模型:采用微软的Phi-1.5模型作为基础。
- 视觉编码器:使用CLIP ViT-B/32进行图像特征提取。
- 训练方式:通过QLoRA进行微调,提高模型性能。
- 数据集:使用Instruct 150K数据集进行训练。
🔧 技术细节
- 训练方法:使用QLoRA(量化低秩自适应)进行训练。
- 量化处理:采用4位量化以提高效率。
- 梯度检查点:启用梯度检查点以减少内存使用。
- 混合精度训练:使用bfloat16进行混合精度训练。
📄 许可证
本项目采用MIT许可证。
📚 详细文档
引用信息
如果您使用了本模型,请参考以下引用信息:
@software{llava_phi_2024,
author = {sagar007},
title = {LLaVA-Phi: Vision-Language Model},
year = {2024},
publisher = {Hugging Face},
url = {https://huggingface.co/sagar007/Lava_phi}
}
模型信息
属性 |
详情 |
模型类型 |
视觉语言模型 |
基础模型 |
Microsoft Phi-1.5 |
视觉编码器 |
CLIP ViT-B/32 |
训练数据 |
Instruct 150K |
训练方法 |
QLoRA微调 |
许可证 |
MIT License |
标签 |
vision-language, phi, llava, clip, qlora, multimodal |
数据集 |
laion/instructional-image-caption-data |
库名称 |
transformers |
任务类型 |
图像到文本 |