AI 기술: 트랜스포머 구조

컴퓨터는 어떻게 글을 이해할까요? 트랜스포머 이야기
여러분이 스마트폰에 "내일 날씨 알려줘"라고 말하면, 컴퓨터가 척척 대답해요. 신기하지 않나요? 그 비밀 중 하나가 바로 트랜스포머라는 인공지능의 뇌 구조예요. 이름은 로봇 영화 같지만, 사실은 글을 읽고 이해하는 아주 똑똑한 방법이랍니다. 오늘은 이 트랜스포머를 기초부터 차근차근 알아볼 거예요.
1. 글을 조각조각 자르기: 토큰
컴퓨터는 사람처럼 글을 통째로 읽지 못해요. 그래서 먼저 문장을 작은 조각으로 잘라요. 이 조각을 토큰이라고 불러요.
레고를 생각해 보세요. 커다란 성도 작은 블록으로 나눌 수 있죠? 문장도 마찬가지예요. "나는 사과를 먹었다"라는 문장은 "나는", "사과를", "먹었다" 같은 조각으로 나눌 수 있어요. 컴퓨터는 이렇게 잘게 자른 조각을 하나씩 다루는 게 훨씬 편하답니다.
2. 낱말에 숫자 옷 입히기: 임베딩
그런데 컴퓨터는 글자를 몰라요. 컴퓨터가 아는 건 오직 숫자뿐이에요. 그래서 토큰마다 숫자 옷을 입혀 줘요.
학교에서 출석 번호를 쓰는 것과 비슷해요. "철수는 3번, 영희는 7번"처럼요. 다만 트랜스포머는 번호 하나가 아니라, 숫자 여러 개가 줄줄이 붙은 숫자 목록을 붙여요. 이걸 어려운 말로 벡터라고 해요. 낱말마다 어떤 숫자 옷을 입힐지 적어 둔 커다란 사전이 있는데, 이 사전을 임베딩 표라고 부른답니다. 뜻이 비슷한 낱말끼리는 비슷한 숫자 옷을 입어요. "강아지"와 "개"는 비슷한 옷을 입는 거죠.
3. 트랜스포머의 최고 기술: 서로 쳐다보기(어텐션)
이제 진짜 중요한 부분이에요. 트랜스포머의 심장은 어텐션, 우리말로 하면 "주목하기"예요.
교실을 상상해 보세요. 낱말 조각들이 학생처럼 한 명씩 앉아 있어요. 그리고 각 낱말은 다른 낱말들을 휙 둘러봐요. "누가 나랑 관계가 깊지?" 하고요.
예를 들어 "그것"이라는 낱말이 있으면, "그것"은 앞에 나온 "사과"를 열심히 쳐다봐요. "아하, 나는 사과를 가리키는 거구나!" 하고 알게 되죠. 이렇게 중요한 낱말의 신호는 크게 키우고, 별로 중요하지 않은 낱말의 신호는 작게 줄여요. 마치 소리 조절 손잡이처럼요.
4. 눈이 여러 개면 더 잘 보여요: 멀티헤드 어텐션
그런데 한 번만 쳐다보면 놓치는 게 생길 수 있어요. 그래서 트랜스포머는 여러 개의 눈으로 동시에 쳐다봐요. 이걸 멀티헤드 어텐션이라고 해요. "머리가 여러 개인 주목하기"라는 뜻이에요.
탐정 여러 명이 같은 사건을 조사하는 것과 같아요. 한 탐정은 "누가 무엇을 했는지"를 살피고, 다른 탐정은 "언제 일어난 일인지"를 살펴요. 또 다른 탐정은 "어떤 기분인지"를 살피죠. 그리고 마지막에 모두 모여 알아낸 것을 합쳐요. 그러면 문장의 뜻을 훨씬 깊게 이해할 수 있어요. 게다가 이 탐정들은 한 명씩 차례로가 아니라 모두 동시에 일해요. 그래서 트랜스포머는 아주 빠르답니다.
5. 순서가 중요해요: 위치 번호표
그런데 문제가 하나 있어요. 어텐션은 낱말들을 한꺼번에 쳐다보기 때문에, 그냥 두면 낱말의 순서를 몰라요. "강아지가 고양이를 쫓았다"와 "고양이가 강아지를 쫓았다"는 완전히 다른 이야기인데 말이죠!
그래서 트랜스포머는 낱말마다 순서 번호표를 붙여 줘요. 은행에서 뽑는 대기 번호표처럼요. "너는 첫 번째, 너는 두 번째, 너는 세 번째!" 이렇게요. 이 번호표를 어려운 말로 위치 인코딩이라고 해요. 번호표 덕분에 컴퓨터는 낱말이 어떤 순서로 놓였는지 알 수 있고, 순서가 바뀌면 뜻도 달라진다는 걸 이해하게 돼요.

위 그림은 그 번호표를 색깔 무늬로 나타낸 거예요. 자리마다 무늬가 조금씩 달라서, 컴퓨터가 "아, 여기는 다섯 번째 자리구나" 하고 알 수 있답니다.
6. 층층이 쌓아 올리기
어텐션 한 번으로 끝이 아니에요. 트랜스포머는 이런 "쳐다보고 생각하기" 과정을 여러 층으로 쌓아요. 팬케이크를 겹겹이 쌓듯이요.
1층에서는 쉬운 것을 알아채요. "이 낱말은 이름이구나." 2층에서는 조금 더 어려운 것을 알아채요. "이 낱말이 저 낱말을 꾸며 주는구나." 층이 높아질수록 점점 더 깊은 뜻을 이해하게 돼요. 마치 책을 여러 번 읽을수록 이야기를 더 잘 이해하게 되는 것처럼요.

각 층 안에는 어텐션 말고도 생각 정리 시간이 있어요. 친구들 이야기를 다 듣고 나서 혼자 조용히 정리하는 시간 같은 거예요. 이 부분은 낱말 하나하나가 모은 정보를 스스로 곱씹어 보는 곳이랍니다.
7. 전체 모습 한눈에 보기
트랜스포머의 전체 모습은 크게 두 부분으로 나뉘어요. 읽는 쪽과 쓰는 쪽이에요.
- 인코더(읽기 담당): 들어온 문장을 꼼꼼히 읽고 뜻을 파악해요.
- 디코더(쓰기 담당): 파악한 뜻을 바탕으로 새 문장을 한 낱말씩 만들어 내요.
번역기를 떠올리면 쉬워요. 인코더가 한국어 문장을 읽고 뜻을 이해하면, 디코더가 그 뜻을 영어 문장으로 써 내는 거예요. 요리사 두 명이 한 팀인 셈이죠. 한 명은 재료를 손질하고, 한 명은 요리를 완성해요.
그림에서 왼쪽 기둥이 읽기 담당 인코더, 오른쪽 기둥이 쓰기 담당 디코더예요. 복잡해 보이지만, 지금까지 배운 것들이 순서대로 들어 있을 뿐이에요. 숫자 옷 입히기, 번호표 붙이기, 서로 쳐다보기, 생각 정리하기 — 전부 우리가 아는 것들이죠!
8. 다음 낱말 맞히기 놀이
그럼 챗봇은 어떻게 대답을 만들까요? 사실은 다음 낱말 맞히기 놀이를 아주 잘하는 거예요. "옛날 옛적에 호랑이가..." 다음에 올 낱말은 뭘까요? "살았습니다"가 어울리겠죠?
트랜스포머는 다음에 올 수 있는 낱말 후보들을 쭉 늘어놓고, 각각 얼마나 어울리는지 점수를 매겨요. 그리고 점수가 높은 낱말을 골라요. 이 놀이를 한 낱말씩 계속 반복하면, 긴 대답이 완성된답니다.

위 그림처럼, 인공지능은 매 순간 여러 후보 낱말과 그 점수를 놓고 고민해요. 우리가 끝말잇기에서 다음 말을 고르는 것과 비슷하죠.
정리해 볼까요?
- 문장을 토큰이라는 작은 조각으로 잘라요.
- 각 조각에 숫자 옷(벡터)을 입혀요.
- 순서 번호표를 붙여서 낱말 순서를 기억해요.
- 어텐션으로 낱말끼리 서로 쳐다보며 중요한 관계를 찾아요.
- 여러 개의 눈(멀티헤드)으로 동시에, 여러 층을 거치며 깊이 이해해요.
- 마지막으로 다음 낱말 맞히기로 대답을 만들어요.
트랜스포머는 결국 "낱말들이 서로를 쳐다보며 뜻을 알아내는 기계"예요. 이 간단해 보이는 아이디어 하나가 번역기, 챗봇, 그림 그리는 인공지능까지 바꿔 놓았답니다. 다음에 챗봇과 이야기할 때, 그 속에서 수많은 낱말 조각들이 서로를 열심히 쳐다보고 있다는 걸 떠올려 보세요!
출처
리깅 파이프라인 자동화 도구
반복 작업은 스크립트에게. 현업에서 쓰는 리깅 툴 모음.
리깅 도구 보기