Przetwarzanie wstępne różnych modalności

Modele multimodalne z Hugging Face

James Chapman

Curriculum Manager, DataCamp

Przetwarzanie wstępne tekstu

Przykładowy ciąg tekstowy.

  • Tokenizer: mapuje tekst → dane wejściowe modelu
Modele multimodalne z Hugging Face

Przetwarzanie wstępne tekstu

Diagram przepływu przetwarzania tekstu do etapu normalizacji

  • Tokenizer: mapuje tekst → dane wejściowe modelu
    • Normalizacja: zamiana na małe litery, usuwanie znaków specjalnych, usuwanie nadmiarowych białych znaków
Modele multimodalne z Hugging Face

Przetwarzanie wstępne tekstu

Kontynuacja diagramu przepływu do etapu tokenizacji

  • Tokenizer: mapuje tekst → dane wejściowe modelu
    • Normalizacja: zamiana na małe litery, usuwanie znaków specjalnych, usuwanie nadmiarowych białych znaków
    • Tokenizacja (wstępna): podział tekstu na słowa/podsłowa
Modele multimodalne z Hugging Face

Przetwarzanie wstępne tekstu

Kontynuacja diagramu przepływu do konwersji ID i dopełnienia

  • Tokenizer: mapuje tekst → dane wejściowe modelu
    • Normalizacja: zamiana na małe litery, usuwanie znaków specjalnych, białych znaków
    • Tokenizacja (wstępna): podział tekstu na słowa/podsłowa
    • Konwersja ID: mapowanie tokenów na liczby całkowite przy użyciu słownika
Modele multimodalne z Hugging Face

Przetwarzanie wstępne tekstu

preprocessing_text5.jpg

  • Tokenizer: mapuje tekst → dane wejściowe modelu
    • Normalizacja: zamiana na małe litery, usuwanie znaków specjalnych, białych znaków
    • Tokenizacja (wstępna): podział tekstu na słowa/podsłowa
    • Konwersja ID: mapowanie tokenów na liczby całkowite przy użyciu słownika
    • Dopełnienie: dodawanie tokenów dla spójnej długości
Modele multimodalne z Hugging Face

Przetwarzanie wstępne tekstu

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]]), ...}
Modele multimodalne z Hugging Face

Przetwarzanie wstępne obrazów

  • Normalizacja: aktualizacja intensywności pikseli
  • Zmiana rozmiaru: dopasowanie do warstwy wejściowej modelu
  • Zasada ogólna → użyj przetwarzania oryginalnego modelu

zdjęcia grupy skaczących ludzi przed i po przetworzeniu wstępnym

1 https://huggingface.co/datasets/nlphuji/flickr30k
Modele multimodalne z Hugging Face

Przetwarzanie wstępne obrazów

Zadania multimodalne wymagają spójnego przetwarzania wstępnego:

from transformers import BlipProcessor, BlipForConditionalGeneration

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

Kodowanie obrazu → przekształcenie na kodowanie tekstowe → dekodowanie tekstu

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'}]
Modele multimodalne z Hugging Face

Przetwarzanie wstępne audio

Widmo dźwiękowe

  • Przetwarzanie wstępne audio:
    • Tablica sekwencyjna → filtrowanie/dopełnienie
    • Częstotliwość próbkowania → resampling

Ekstrakcja cech jako dane wejściowe modelu (spektrogram)

spectro

Modele multimodalne z Hugging Face

Przetwarzanie wstępne audio

from datasets import load_dataset, Audio

dataset = load_dataset("CSTR-Edinburgh/vctk")["train"] dataset = dataset.cast_column("audio", Audio(sampling_rate=16_000))
  • Pełne procesory specyficzne dla modelu powinny być dostępne:
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")
  • Częstotliwość próbkowania musi spełniać wymagania wejściowe modelu
1 https://huggingface.co/datasets/CSTR-Edinburgh/vctk
Modele multimodalne z Hugging Face

Czas na ćwiczenia!

Modele multimodalne z Hugging Face

Preparing Video For Download...