목차열기접기

공식 교재기초 이론 편3.5

3부 / ChatGPT는 어떻게 대답을 만들까?

어텐션 — AI는 문맥을 어떻게 읽을까

같은 단어도 문맥에 따라 뜻이 다릅니다. 모델은 단어마다 다른 단어를 얼마나 참고할지 정해서 문맥을 읽습니다.

PNV 공식공식 교재작성: Larry한국어검토 상태 미등록

“철수가 영희에게 책을 빌려줬다. 그녀는 정말 고맙다고 했다.”

여기서 “그녀”는 누구일까요? 사람은 바로 “영희”라고 압니다. 그런데 “그녀”라는 단어만 따로 봐서는 알 수 없습니다. 문장의 다른 부분을 봐야 알 수 있죠.

앞 장의 임베딩은 토큰마다 숫자 묶음을 하나씩 붙였습니다. 하지만 “그녀”의 임베딩은 어느 문장에서나 똑같습니다. 이 문장에서 “그녀 = 영희”라는 정보를 넣으려면, 다른 단어들을 보고 숫자를 고쳐야 합니다. 그 일을 하는 게 어텐션(attention, 주목) 입니다.

밑줄 친 단어를 눌러보세요. 그 단어를 이해하려고 앞에 나온 단어들을 얼마나 참고하는지 막대로 보여줘요.

철수가
영희에게
책을
정말

막대 높이는 설명을 위해 직접 정한 예시 값이에요.

어텐션이 하는 일

어텐션은 단어마다 이렇게 합니다.

  1. 다른 단어들을 훑어보고, 지금 나를 이해하는 데 각 단어가 얼마나 중요한지 점수를 매깁니다.
  2. 점수가 높은 단어의 정보를 많이, 낮은 단어의 정보를 조금 섞어서 내 숫자 묶음을 고칩니다.

“그녀는”은 “영희에게”를 많이 참고해서, “영희를 가리키는 그녀”라는 정보가 담긴 숫자로 바뀝니다. “배”라는 단어가 “사과와 배”에 있으면 과일 쪽 정보를, “배를 타고”에 있으면 탈것 쪽 정보를 섞게 되는 것도 같은 원리입니다.

이 “얼마나 참고할지” 점수도 사람이 정하지 않습니다. 다음 토큰을 잘 맞히도록 학습하는 동안 저절로 정해지는 가중치에서 나옵니다.

트랜스포머

어텐션을 중심에 두고 층을 여러 겹 쌓은 신경망 구조를 트랜스포머(Transformer) 라고 합니다. 2017년 구글 연구자들이 발표한 논문 “Attention Is All You Need”에서 소개됐습니다. 지금의 LLM은 대부분 이 구조를 바탕으로 합니다. ChatGPT의 GPT도 “Generative Pre-trained Transformer”의 줄임말입니다.

3부에서 본 걸 이어 붙이면 LLM 안에서 일어나는 일이 이렇게 정리됩니다.

  1. 글을 토큰으로 자르고 (3.2)
  2. 토큰마다 임베딩을 붙이고 (3.4)
  3. 어텐션으로 문맥을 섞는 층을 여러 겹 지나서 (3.5)
  4. 다음 토큰의 확률을 내고, 하나를 뽑습니다 (3.1, 3.3)
더 깊게 · 어텐션이 바꾼 것

트랜스포머 전에는 글을 앞에서부터 한 단어씩 차례로 읽으면서 정보를 넘기는 구조(순환 신경망)를 많이 썼습니다. 이 방식은 문장이 길어지면 앞쪽 정보가 흐려지고, 한 단어씩 차례로 계산해야 해서 느렸습니다.

어텐션은 모든 단어가 다른 모든 단어를 한 번에 볼 수 있습니다. 멀리 떨어진 단어 사이의 관계도 바로 잡고, 계산을 동시에 많이(병렬로) 할 수 있어서 큰 모델을 많은 글로 학습시키기에 유리했습니다.

대신 단점도 있습니다. 단어가 N개면 서로 보는 짝이 N × N개라서, 글이 길어질수록 계산량이 빠르게 늘어납니다. 4부의 “한 번에 읽을 수 있는 길이 제한”과 관련 있는 이야기입니다.

정리

  • 단어의 뜻은 문맥에 따라 달라집니다. 모델은 어텐션으로 다른 단어를 참고해서 문맥을 읽습니다.
  • 어디를 얼마나 볼지도 학습으로 정해집니다.
  • 어텐션을 중심으로 쌓은 구조가 트랜스포머이고, 지금의 LLM 대부분이 이 구조입니다.

이 장을 복사합니다. ChatGPT나 Claude 같은 AI에 붙여넣고 그대로 보내면 AI가 다 읽었다고 답합니다. 그다음 궁금한 걸 물어보세요.