Langsung ke konten

Apa itu Attention Mask?

Attention mask adalah penanda biner yang memberi tahu model bahasa token mana yang boleh diproses dan mana yang harus diabaikan, terutama saat beberapa teks digabung dalam satu batch.

Apa itu attention mask?

Ketika kamu mengirim teks ke model bahasa seperti GPT atau BERT, teks itu dipecah menjadi token. Masalah muncul saat dua teks berbeda panjangnya digabung dalam satu batch—teks yang lebih pendek perlu "ditambal" dengan token kosong (disebut padding token) supaya panjangnya sama.

Nah, attention mask adalah array berisi angka 0 dan 1 yang memberi tahu model:

  • 1 → token ini nyata, proses seperti biasa
  • 0 → token ini padding, abaikan

Tanpa attention mask, model akan salah mengolah padding seolah-olah itu kata bermakna. Akibatnya, output jadi tidak akurat.

Cara kerjanya

Bayangkan dua kalimat:

Kalimat A: "Halo" → 1 token
Kalimat B: "Halo, apa kabar hari ini?" → 6 token

Untuk digabung dalam satu batch, kalimat A perlu 5 token padding tambahan:

Kalimat A: [token_halo, PAD, PAD, PAD, PAD, PAD]
Mask A:    [1,          0,   0,   0,   0,   0  ]

Kalimat B: [token_halo, token_apa, token_kabar, token_hari, token_ini, token_?]
Mask B:    [1,          1,         1,            1,          1,         1      ]

Model membaca mask ini sebelum menjalankan mekanisme self-attention, lalu mengalikan skor attention token PAD dengan nilai sangat kecil (mendekati minus tak terhingga) sehingga tidak berpengaruh pada output.

Contoh pemakaian

Saat memakai library transformers dari Hugging Face:

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
encoded = tokenizer(
    ["Hello", "Hello, how are you today?"],
    padding=True,
    return_tensors="pt"
)
print(encoded["attention_mask"])
# tensor([[1, 0, 0, 0, 0, 0],
#         [1, 1, 1, 1, 1, 1]])

Nilai attention_mask ini otomatis diteruskan ke model agar padding diabaikan.

Batasan dan salah paham umum

Salah paham: Attention mask hanya untuk padding. Kenyataannya, ada juga causal mask (dipakai pada model autoregresif seperti GPT) yang memblokir token di posisi depan agar model tidak "mengintip" kata berikutnya saat pelatihan.

Batasan: Untuk input yang sangat panjang melebihi context window, attention mask tidak bisa menyelesaikan masalah—token yang melebihi batas akan dipotong, bukan di-mask.

Istilah terkait

  • Padding Token
  • Self-Attention
  • Tokenisasi AI
  • Context Window
  • Transformer

Rujukan resmi

Istilah Terkait

Padding TokenSelf-AttentionTokenisasi AIContext WindowTransformer