🚀 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 |
任務類型 |
圖像到文本 |