C.W.K.
Stream
Lesson 03 of 11 · published

Encoder-decoder — T5, BART, Whisper

~10 min · t5, bart, whisper, encoder-decoder

Level 0Token
0 XP0/94 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

encoder-decoder Transformer는 아키텍처를 둘로 분할 — 입력을 양방향으로 소비하는 encoder + cross-attention 통해 encoder의 표현에 attend하면서 autoregressive로 출력 생성하는 decoder. 이 모양은 2017 논문의 원조이고, 깔끔한 입력→출력 매핑이 있는 task엔 여전히 옳은 도구.

  • T5 (Raffel et al., 2019). "Text-to-Text Transfer Transformer." 모든 NLP task를 text-to-text로 프레임 — 번역/요약/분류/QA가 다 "입력 → 출력" 생성 task가 돼. span corruption(연속 span 가리고 예측)으로 사전학습.
  • BART (Lewis et al., 2019). 텍스트 손상(masking, deletion, shuffling, rotation) 후 재구성으로 사전학습된 denoising autoencoder. 요약과 구조화된 재작성 task에 강함.
  • Whisper (OpenAI, 2022). 음성 인식용 encoder-decoder. encoder가 log-mel 스펙트로그램(오디오 프레임을 patch 토큰으로) 소비, decoder가 cross-attention으로 텍스트 생성. 다국어, 강건, open weight.
  • NLLB (Meta, 2022). No Language Left Behind. 200+ 언어 가로질러 저자원 번역 최적화 encoder-decoder.

"나한테 말해 줘" 용도엔 decoder-only가 encoder-decoder 영역을 먹어 들어왔어. 하지만 번역, ASR, 잘 정의된 구조화 생성 task에선 encoder-decoder가 여전히 옳은 모양 — 명시적 2단계 구조가 task와 정렬.

Code

T5 inference·python
from transformers import T5Tokenizer, T5ForConditionalGeneration

tok = T5Tokenizer.from_pretrained("google/flan-t5-base")
model = T5ForConditionalGeneration.from_pretrained("google/flan-t5-base")

# Prefix the task — T5's text-to-text framing
text = "translate English to Korean: The Transformer changed AI."
ids = tok(text, return_tensors="pt").input_ids
out = model.generate(ids, max_new_tokens=64)
print(tok.decode(out[0], skip_special_tokens=True))

External links

Exercise

Whisper를 본인이 하는 두 언어의 1분 오디오 클립에 실행. decoder의 cross-attention을 특정 출력 토큰에 대해 검사 — 각 출력 단어 생성할 때 모델이 어떤 오디오 프레임에 attend? attention 패턴 플롯.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.