Decoder (Transformer) (TL)
Dekoder (Ingles: Decoder) — sa machine learning at deep learning, ito ay isang bahagi ng neural network na ang pangunahing gawain ay ang pag-convert ng naka-encode na representasyon (halimbawa, context vector o sequence ng mga nakatagong estado na nagmula sa encoder) patungo sa output sequence ng datos (halimbawa, teksto o imahe). Ang dekoder ay nagge-generate ng output nang hakbang-hakbang, karaniwang sa autoregressive na paraan.
Sa mas malawak na kahulugan, sa teorya ng impormasyon, ang dekoder ay anumang device o algorithm na nag-co-convert ng naka-encode na datos pabalik sa kanilang orihinal o naiintindihang format.
Konsepto at layunin
Kung ang encoder ay responsable sa pag-unawa at pagpapaliit ng input na datos, ang dekoder naman ay responsable sa pagge-generate at pagpapalawak ng output na datos. Kinukuha nito ang isang compact, impormasyon-mayamang representasyon at sunud-sunod na kino-convert ito sa nais na format, maging ito man ay isang pangungusap sa ibang wika, tekstong paglalarawan ng isang imahe, o sequence ng mga musikal na nota.
Ang pangunahing katangian ng karamihan sa mga dekoder ay ang kanilang autoregressive na katangian: upang ma-generate ang susunod na elemento ng sequence (halimbawa, isang salita o pixel), ginagamit nila ang parehong naka-encode na representasyon at lahat ng mga elementong na-generate na.
Dekoder sa iba't ibang arkitektura
Dekoder sa autoencoder
Sa arkitektura ng autoencoder, ang dekoder ay gumaganap ng gawain na kabaligtaran ng encoder:
- Encoder ay nagpapaliit ng input na datos sa isang nakatagong representasyon.
- Dekoder ay kumukuha ng nakatagong representasyong ito at sinisikap na ibalik (i-reconstruct) ang orihinal na datos mula rito.
Ang pagsasanay ng naturang network ay nagbibigay-daan sa paggamit ng dekoder nang hiwalay para sa pagge-generate ng bagong datos, sa pamamagitan ng pagpapasok ng mga vector mula sa latent space sa input nito.
Dekoder sa recurrent neural networks (RNN/LSTM)
Sa mga klasikal na seq2seq na modelo ng sequence-to-sequence na batay sa RNN o LSTM, ang dekoder ay isang recurrent network na nagge-generate ng output sequence nang token sa token.
- Prinsipyo ng pagtatrabaho: Ang dekoder ay ini-initialize gamit ang panghuling nakatagong estado (context vector) ng encoder. Sa bawat hakbang, tumatanggap ito ng dating na-generate na token at ng sariling nakaraang nakatagong estado bilang input, at pagkatapos ay nagge-generate ng susunod na token at ina-update ang sarili nitong estado. Nagpapatuloy ang prosesong ito hanggang sa ma-generate ang espesyal na token ng katapusan ng sequence (`<EOS>`).
Dekoder sa arkitektura ng Transformer
Ang dekoder na batay sa arkitektura ng Transformer ay autoregressive din ang pagtatrabaho, ngunit naiiba ang panloob na istraktura nito. Ito ay binubuo ng stack () ng mga magkaparehong layer, bawat isa ay may tatlong pangunahing sublayer:
- Masked Multi-Head Self-Attention: Ang mekanismong ito ay gumagana nang katulad ng sa encoder, ngunit may isang mahalagang pagkakaiba — ang masking. Pinipigilan ng mask ang bawat posisyon na "bigyang-pansin" ang mga kasunod na posisyon sa sequence. Tinitiyak nito na ang hula para sa posisyon ay nakasalalay lamang sa mga naunang kilalang output sa mga posisyon , pinapanatili ang autoregressive na katangian.
- Multi-Head Cross-Attention: Ito ang pangunahing mekanismo na nag-uugnay ng dekoder sa encoder. Dito, ang mga Query ay nagmumula sa nakaraang layer ng dekoder, habang ang mga Key at Value ay nagmumula sa mga output na representasyon ng encoder. Pinapayagan nito ang dekoder na sa bawat hakbang ng pagge-generate ay mag-focus sa pinakaangkop na bahagi ng input sequence.
- Feed-Forward Network: Katulad ng ginagamit sa encoder.
Mga uri ng modelo na batay sa dekoder
Mga modelo ng encoder-decoder
Ito ang klasikal na arkitektura kung saan nagtatrabaho nang magkasama ang encoder at dekoder.
- Prinsipyo ng pagtatrabaho: Ang encoder ay lumilikha ng representasyon ng input na datos, at ang dekoder ay nagge-generate ng output na datos gamit ang representasyong ito.
- Mga halimbawa: Ang orihinal na Transformer, T5, BART.
Mga modelo na Decoder-Only
Ang mga modelong ito, na naging dominante sa generative AI, ay gumagamit nang eksklusibo ng stack ng mga Transformer decoder.
- Prinsipyo ng pagtatrabaho: Sa mga naturang modelo, walang cross-attention sa encoder dahil wala itong encoder. Ang modelo ay nagtatrabaho nang purong autoregressive, hinuhulaan ang susunod na token batay sa lahat ng nakaraang token sa parehong sequence. Ang input na prompt at ang nai-generate nang teksto ay pinoproseso nang magkasama.
- Aplikasyon: Perpekto para sa mga gawaing nangangailangan ng pagpapatuloy ng ibinigay na teksto (text generation, mga dialogue system, mga chatbot).
- Mga halimbawa: Serye ng GPT, LLaMA, Claude.
Kaugnayan sa encoder
Ang interaksyon ng encoder at dekoder ay isang pundamental na prinsipyo para sa mga gawaing pag-convert.
- Encoder ay nagpapaliit ng impormasyon tungkol sa input sequence sa isang hanay ng mga vector.
- Dekoder ay gumagamit ng hanay ng mga vector na ito upang sunud-sunod na ma-generate ang isang bagong sequence.
Ang cross-attention ay nagbibigay-daan sa dekoder na sa bawat hakbang ay "kumonsulta" sa encoder upang maunawaan kung saang bahagi ng orihinal na teksto dapat mag-focus sa sandaling iyon. Halimbawa, sa pagsasalin ng isang pangungusap, ang dekoder, habang nagge-generate ng isang salitang Aleman, ay maaaring "tumingin" sa kaukulang salitang Ingles mula sa input.
Tingnan din
- GPT
Panitikan
- Vaswani, A. et al. (2017). Attention Is All You Need. NIPS.