요즘 AI모델 쭉 따라서 읽고있는데
seq2seq(RNN)과 일반 transformer모델이 어떻게 작동하는지는 알았음
근데 갑자기
BERT모델은 Transformer의 Encoder만 쓰고
GPT모델은 Transformer의 Decoder만 쓴다길래
문서찾아보려고 해도 '모델을 학습시키는 방법'만
많이나오고 모델이 실제 작동하는 방법을 자세하게 설명하진 않더라
그래서 나름대로 이해한게 맞는지 알고싶어서 글 써봄
1. Encoder only(BERT)는 학습시 수많은 데이터를 받아서
그 데이터에 상응하는 attention map을 만든다
1-1. 실제사용 시 Encoder only model은 attention map을 통해 하나의 context vextor를 내놓는다
1-1. 그 context를 다시 FC layer에 넣어서 classification 하는데 사용하거나
1-2. 긴 문장을 요약하거나 이 모델이 읽은 내용(데이터) 내에서 질의응답을 할 수 있다
1-3. 따라서 용도에 따른 Fine tuning이 필요하다
1-4. 하지만 encoder-only model이므로 'generation'(예측,추론)은 불가능하다?
2. Decoder only(GPT)에서
'원래 Transformer모델의 Decoder'는 2개의 input
Context vector와 input(학습시 ground truth / 실사용시 <start> token)을 받았으나
Decoder only는 context vector와 cross-attention 없이
(masked) self-attention과 FC layer만 반복한다
2-1. 학습된 FC layer로 인해
어떠한 sequence에 대해 다음 token을 예측(generation) 할 수 있다
AI 빡고수님들의 많은관심 감사합니다
뭐야 틀린거 지적해줘요 이게 맞을리가없어
쓰읍... 나는 반대인데 (이해못함) - dc App
딥러닝갤로
가봤더니 하루에 글 두개올라오는 동네노
트랜스포머에서 인코더 디코더 구조의 의미가 기본적인 fc layer랑 달라서 오토인코더에서 쓰이는 인코더-디코더랑 역할이 좀 다름 - dc App
핵심은 트랜스포머에서 인코더는 토큰 전체를 인풋으로 받아 다시 전체를 아웃풋으로 뱉는다는거고 그래서 인코더기반 llm은 사전학습태스크가 주로 maksed language modeling이라고 빈칸맞추기게임을 함 - dc App
반대로 디코더는 인풋으로 앞쪽 토큰만 들어와서 다음 토큰 하나만을 출력하는 방식이라 auto regressive한 next token generation 태스크를 수행하거나 학습시키기에 적절함 - dc App
그 외에는 멀티헤드어텐션이나 포지션임베딩은 다 비슷비슷하고 차이점은 디코더에선 셀프어텐션 대신에 크로스어텐션이 들어간다는 정도 - dc App
그래서 인코더 기반인 bert는 이름에도 있듯이 양방향 토큰 정보를 다 볼 수 있는거고 gpt는 이전 토큰 정보만 보고 다음 토큰을 예측해서 재귀적으로 생성하는거 - dc App
이해했슴 고맙다