Belajar Deep Learning - Multimodal & Foundation Models
Episode 21 of 25

Belajar Deep Learning - Multimodal & Foundation Models

Menggabungkan teks, gambar, dan audio dalam satu sistem: CLIP untuk menyatukan dua modalitas, vision-language model (VLM), Whisper untuk audio, plus pipeline VQA image+text dan fine-tune multimodal ringan.

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Episode 15-18 membahas model yang bekerja pada satu modalitas: teks saja, gambar saja, atau audio. Tren 2025-2026 justru menghapus batas itu. Model seperti Gemini dan GPT-5-class menerima gambar, audio, dan teks dalam satu percakapan. Di balik tren ini ada fondasi yang bisa kalian pahami dan pakai hari ini: CLIP untuk menghubungkan gambar dan teks, Whisper untuk audio, dan VLM (vision-language model) yang menebak dari keduanya.

Kabar baiknya: sebagai engineer, kalian tidak perlu membangun multimodal dari nol. Kalian menyusun pipeline dari pretrained components yang sudah matang. Episode ini menunjukkan caranya — dan bagaimana memadukan semuanya untuk menyelesaikan masalah dunia nyata.

CLIP: Menyatukan Gambar dan Teks

CLIP (Contrastive Language-Image Pre-training) dilatih dengan konsep sederhana yang kuat: untuk satu batch pasangan (gambar, teks), dorong embedding gambar dan teks yang berpasangan agar dekat, dan yang tidak berpasangan agar menjauh. Hasilnya: satu ruang vektor bersama untuk dua modalitas.

100%

Konsekuensi luar biasa: kemampuan zero-shot classification. Kalian tidak perlu melatih classifier — cukup bandingkan gambar dengan kalimat deskripsi kelas:

PythonZero-shot klasifikasi dengan CLIP
from transformers import CLIPProcessor, CLIPModel
 
model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")
 
inputs = processor(
    text=["foto seekor kucing", "foto seekor anjing", "foto sebuah mobil"],
    images=image, return_tensors="pt", padding=True,
)
outputs = model(**inputs)
probs = outputs.logits_per_image.softmax(dim=-1)
print(probs)

Ini adalah zero-shot learning dalam bentuk paling praktis: akurasi tanpa satu pun sample training. CLIP juga dipakai sebagai image encoder di dalam banyak model multimodal dan sebagai dasar image search (cari gambar dengan kata-kata).

Tip

Untuk pencarian gambar berbasis teks, simpan embedding CLIP semua gambar di database vektor, lalu cari dengan similarity — bukan membandingkan gambar dengan gambar. Pipeline ini sederhana (encode + cosine) dan sangat cepat saat image library membesar.

Whisper: Audio Menjadi Teks

Whisper dari OpenAI adalah model speech-to-text yang kuat dan multilingual — termasuk bahasa Indonesia. Ia di-training pada data audio yang sangat besar dan robust terhadap noise dan aksen:

PythonTranskripsi dengan Whisper
from transformers import pipeline
 
transcriber = pipeline(
    "automatic-speech-recognition",
    model="openai/whisper-small",
    device=0,
)
 
result = transcriber("pidato.mp3")
print(result["text"])

Menggabungkan Whisper + LLM membuka pipeline yang luar biasa: transkrip rapat → ringkasan otomatis, atau transkrip panggilan → ekstraksi action item. Ini contoh paling nyata dari multimodal pipeline yang bekerja hari ini.

Vision-Language Model (VLM)

VLM menggabungkan vision encoder (seperti CLIP) dengan decoder LLM. Model menerima gambar + teks, menghasilkan teks. Contoh kelas VLM: LLaVA, Qwen2-VL, dan Gemini-class. Gunakan via pipeline:

PythonVisual Question Answering
from transformers import pipeline
 
vlm = pipeline("image-to-text", model="Qwen/Qwen2-VL-7B-Instruct")
answer = vlm(
    image="gambar_truk.jpg",
    prompt="Ada berapa truk dalam gambar ini?",
)
print(answer)

Kemampuan di luar pertanyaan sederhana: menghitung objek, membaca teks dalam gambar (OCR), memahami diagram, bahkan menebak suasana. VLM adalah fondasi agent vision — dibahas di episode 22.

Fine-Tune Multimodal Ringan

Fine-tuning VLM besar itu mahal, tetapi sering kalian tidak perlu menyentuh semua bobot. Dua jalur hemat:

Linear Probing pada CLIP

Untuk task klasifikasi gambar dengan data sedikit: bekukan CLIP, latih classifier kecil di atas embedding-nya — persis transfer learning episode 8:

PythonLinear probe di atas CLIP
import torch.nn as nn
 
class CLIPLinearProbe(nn.Module):
    def __init__(self, clip, n_classes):
        super().__init__()
        self.clip = clip
        for p in self.clip.parameters():
            p.requires_grad = False
        self.head = nn.Linear(512, n_classes)
 
    def forward(self, image):
        with torch.no_grad():
            emb = self.clip.get_image_features(**image)
        return self.head(emb)

LoRA pada VLM

Untuk VLM, aplikasikan teknik LoRA dari episode 16 — hanya proyeksi attention yang dilatih:

PythonLoRA untuk VLM
from peft import LoraConfig, get_peft_model
 
lora = LoraConfig(r=8, lora_alpha=16, target_modules=["q_proj", "v_proj"])
model = get_peft_model(vlm, lora)
model.print_trainable_parameters()

Dengan dataset VQA kecil, VLM bisa diajarkan menjawab pertanyaan spesifik domain kalian — tanpa melatih ulang seluruh model.

Common Pitfalls

  • Preprocessing tidak konsisten: tiap model multimodal punya processor khusus (resize, tokenization gambar). Pakai processor yang menyertai model.
  • Resolution limit: vision encoder dilatih pada resolusi tertentu; gambar besar di-downscale dan detail kecil hilang. Untuk dokumen/teks kecil, perhatikan resolusi input.
  • Prompt gambar tidak sinkron: format placeholder gambar (<image> dsb.) berbeda antar model — ikuti template resmi.
  • Anggap multimodal = vision saja: audio dan video punya preprocessing masing-masing; jangan paksakan.

Warning

VLM bisa membaca teks dan menebak isi gambar, tapi tidak selalu jujur — ia bisa menjawab meyakinkan untuk hal yang salah terlihat (halusinasi visual). Untuk keputusan penting (medis, keselamatan), validasi hasil dengan aturan tambahan, bukan sekadar kepercayaan pada model.

Penutup

Pada episode 21 ini, kalian telah memasuki dunia multimodal.

Inti yang harus dibawa pulang:

  • CLIP menyatukan gambar dan teks dalam satu ruang vektor; memungkinkan zero-shot dan image search.
  • Whisper mengubah audio menjadi teks; digabung LLM menghasilkan pipeline ringkasan otomatis.
  • VLM (Qwen2-VL, LLaVA) menjawab pertanyaan tentang gambar dalam bahasa natural.
  • Fine-tune ringan: linear probe CLIP atau LoRA VLM — jangan full fine-tune.
  • Selalu pakai processor resmi model dan waspadai halusinasi visual.

Di episode 22 selanjutnya kita akan menggabungkan model dengan agen: reinforcement learning & agentic — DQN, PPO, RLHF, GRPO untuk reasoning model, plus tool use dan model sebagai otak agent. Sampai jumpa di episode 22!