विभिन्न मोडैलिटी का प्रीप्रोसेसिंग

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

James Chapman

Curriculum Manager, DataCamp

टेक्स्ट का प्रीप्रोसेसिंग

एक उदाहरण टेक्स्ट स्ट्रिंग.

  • Tokenizer: टेक्स्ट को मॉडल इनपुट में मैप करता है
Hugging Face के साथ मल्टी-मोडल मॉडल्स

टेक्स्ट का प्रीप्रोसेसिंग

नॉर्मलाइज़ेशन तक टेक्स्ट प्रीप्रोसेसिंग का फ़्लो डायग्राम

  • Tokenizer: टेक्स्ट को मॉडल इनपुट में मैप करता है
    • Normalization: लोअरकेस करना, विशेष कैरेक्टर हटाना, अतिरिक्त व्हाइटस्पेस हटाना
Hugging Face के साथ मल्टी-मोडल मॉडल्स

टेक्स्ट का प्रीप्रोसेसिंग

टोकनाइज़ेशन तक फ़्लो डायग्राम का आगे का भाग

  • Tokenizer: टेक्स्ट को मॉडल इनपुट में मैप करता है
    • Normalization: लोअरकेस करना, विशेष कैरेक्टर हटाना, अतिरिक्त व्हाइटस्पेस
    • (Pre-)tokenization: टेक्स्ट को शब्द/सबवर्ड में बाँटना
Hugging Face के साथ मल्टी-मोडल मॉडल्स

टेक्स्ट का प्रीप्रोसेसिंग

ID कन्वर्ज़न और पैडिंग तक फ़्लो डायग्राम का आगे का भाग

  • Tokenizer: टेक्स्ट को मॉडल इनपुट में मैप करता है
    • Normalization: लोअरकेस करना, विशेष कैरेक्टर हटाना, व्हाइटस्पेस
    • (Pre-)tokenization: टेक्स्ट को शब्द/सबवर्ड में बाँटना
    • ID conversion: टोकन को vocabulary से इंटेजर में मैप करना
Hugging Face के साथ मल्टी-मोडल मॉडल्स

टेक्स्ट का प्रीप्रोसेसिंग

preprocessing_text5.jpg

  • Tokenizer: टेक्स्ट को मॉडल इनपुट में मैप करता है
    • Normalization: लोअरकेस करना, विशेष कैरेक्टर हटाना, व्हाइटस्पेस
    • (Pre-)tokenization: टेक्स्ट को शब्द/सबवर्ड में बाँटना
    • ID conversion: टोकन को vocabulary से इंटेजर में मैप करना
    • Padding: समान लंबाई के लिए अतिरिक्त टोकन जोड़ना
Hugging Face के साथ मल्टी-मोडल मॉडल्स

टेक्स्ट का प्रीप्रोसेसिंग

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained('distilbert/distilbert-base-uncased')

text = "Do you need more éclairs?"
print(tokenizer.backend_tokenizer.normalizer.normalize_str(text))
do you need more eclairs
tokenizer(text, return_tensors='pt', padding=True)
{'input_ids': tensor([[  101,  ..., 102]]), ...}
Hugging Face के साथ मल्टी-मोडल मॉडल्स

इमेज का प्रीप्रोसेसिंग

  • Normalization: पिक्सेल इंटेंसिटी अपडेट्स
  • Resize: मॉडल के इनपुट लेयर से मैच करें
  • सामान्य नियम → मूल मॉडल का प्रीप्रोसेसिंग ही उपयोग करें

इमेज प्रीप्रोसेसिंग से पहले/बाद में कूदते लोगों का समूह

1 https://huggingface.co/datasets/nlphuji/flickr30k
Hugging Face के साथ मल्टी-मोडल मॉडल्स

इमेज का प्रीप्रोसेसिंग

मल्टीमोडल टास्क के लिए संगत प्रीप्रोसेसिंग ज़रूरी है:

from transformers import BlipProcessor, BlipForConditionalGeneration

checkpoint = "Salesforce/blip-image-captioning-base"
model = BlipForConditionalGeneration.from_pretrained(checkpoint) processor = BlipProcessor.from_pretrained(checkpoint)

इमेज एन्कोड करें → टेक्स्ट एन्कोडिंग में ट्रांसफॉर्म करें → टेक्स्ट डिकोड करें

image = load_dataset("nlphuji/flickr30k")['test'][11]["image"]
inputs = processor(images=image, return_tensors="pt")

output = model.generate(**inputs)
print(processor.decode(output[0]))
[{'generated_text': 'a group of people jumping'}]
Hugging Face के साथ मल्टी-मोडल मॉडल्स

ऑडियो का प्रीप्रोसेसिंग

ऑडियो स्पेक्ट्रम

  • ऑडियो प्रीप्रोसेसिंग:
    • सीक्वेंशियल ऐरे → फ़िल्टर/पैडिंग
    • सैंपलिंग रेट → री-सैंपलिंग

मॉडल इनपुट के रूप में फीचर एक्सट्रैक्शन (स्पेक्ट्रोग्राम)

spectro

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

ऑडियो का प्रीप्रोसेसिंग

from datasets import load_dataset, Audio

dataset = load_dataset("CSTR-Edinburgh/vctk")["train"] dataset = dataset.cast_column("audio", Audio(sampling_rate=16_000))
  • मॉडल-विशिष्ट पूर्ण preprocessors उपलब्ध होने चाहिए:
from transformers import AutoProcessor
processor = AutoProcessor.from_pretrained("openai/whisper-small")
audio_pp = processor(dataset[0]["audio"]["array"], 
                     sampling_rate=16_000, return_tensors="pt")
  • Sampling rate मॉडल इनपुट आवश्यकताओं से मेल खाना चाहिए
1 https://huggingface.co/datasets/CSTR-Edinburgh/vctk
Hugging Face के साथ मल्टी-मोडल मॉडल्स

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

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

Preparing Video For Download...