मल्टी-मोडल सेंटिमेंट एनालिसिस

Hugging Face के साथ मल्टी-मोडल मॉडल्स

James Chapman

Curriculum Manager, DataCamp

Vision Language Models (VLMs)

विजन-लैंग्वेज मॉडल आर्किटेक्चर का सामान्य डायग्राम

  • इमेज और टेक्स्ट अलग-अलग एन्कोड किए जाते हैं
  • फीचर फ्यूज़न
  • साझा रिप्रेजेंटेशन बनाएँ
    • एक मॉडल से कई टास्क
Hugging Face के साथ मल्टी-मोडल मॉडल्स

विजुअल रीजनिंग टास्क

  • VQA: इमेज + प्रश्न → इमेज कंटेंट पर सीधे उत्तर

हॉटडॉग से जुड़ा विजुअल प्रश्न-उत्तर

1 https://arxiv.org/pdf/1505.00468
Hugging Face के साथ मल्टी-मोडल मॉडल्स

विजुअल रीजनिंग टास्क

  • VQA: इमेज + प्रश्न → इमेज कंटेंट पर सीधे उत्तर
  • Matching: इमेज + कथन → True/False वैलिडेशन

हॉटडॉग और संबंधित कथनों पर आधारित मैचिंग का उदाहरण

Hugging Face के साथ मल्टी-मोडल मॉडल्स

विजुअल रीजनिंग टास्क

  • VQA: इमेज + प्रश्न → इमेज कंटेंट पर सीधे उत्तर
  • Matchings: इमेज + कथन → True/False वैलिडेशन
  • Entailment: इमेज + विपरीत टेक्स्ट → सेमांटिक संबंध जाँच

हॉटडॉग के साथ entailment, neutral, और contradicting हाइपोथीसिस का उदाहरण

Hugging Face के साथ मल्टी-मोडल मॉडल्स

यूज़ केस: शेयर प्राइस पर असर

from datasets import load_dataset
dset = "RealTimeData/bbc_news_alltime"
dataset = load_dataset(dset, '2017-01', 
                       split="train")


image = dataset[87]["top_image"] content = dataset[87]["content"] print(content)
'Ford\'s decision to cancel a $1.6bn 
investment in Mexico and 
invest an extra $700m in Michigan ...

समाचार लेख की इमेज: कार उत्पादन निवेश

Hugging Face के साथ मल्टी-मोडल मॉडल्स

Qwen 2 VLMs

from transformers import Qwen2VLForConditionalGeneration
from qwen_vl_utils import process_vision_info


vl_model = Qwen2VLForConditionalGeneration.from_pretrained( "Qwen/Qwen2-VL-2B-Instruct", device_map="auto", torch_dtype="auto" )
Hugging Face के साथ मल्टी-मोडल मॉडल्स

प्रिप्रोसेसर

from transformers import Qwen2VLProcessor

min_pixels = 224 * 224
max_pixels = 448 * 448
vl_model_processor = Qwen2VLProcessor.from_pretrained(
    "Qwen/Qwen2-VL-2B-Instruct", min_pixels=min_pixels, max_pixels=max_pixels
)
Hugging Face के साथ मल्टी-मोडल मॉडल्स

मल्टी-मोडल प्रॉम्प्ट्स

text_query = f"Is the sentiment of the following content good or bad for the Ford share price:
{article_text}. Provide reasoning."


chat_template = [ { "role": "user", "content": [ {"type": "image", "image": article_image}, {"type": "text", "text": text_query} ] } ]
Hugging Face के साथ मल्टी-मोडल मॉडल्स

VLM क्लासिफिकेशन

text = vl_model_processor.apply_chat_template(chat_template, tokenize=False,
                                              add_generation_prompt=True)

image_inputs, _ = process_vision_info(chat_template)
inputs = vl_model_processor(text=[text], images=image_inputs, padding=True, return_tensors="pt")
generated_ids = vl_model.generate(**inputs, max_new_tokens=500)
generated_ids_trimmed = [out_ids[len(in_ids) :] for in_ids, out_ids\ in zip(inputs.input_ids, generated_ids)]
Hugging Face के साथ मल्टी-मोडल मॉडल्स

VLM क्लासिफिकेशन

output_text = vl_model_processor.batch_decode(
    generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
print(output_text[0])
The sentiment of the provided text is negative. The author is expressing concern and
skepticism ...
Hugging Face के साथ मल्टी-मोडल मॉडल्स

अभ्यास करते हैं!

Hugging Face के साथ मल्टी-मोडल मॉडल्स

Preparing Video For Download...