티스토리 뷰

ChatGPT의 GPT가 무슨 뜻인지 아시나요?
Generative Pre-trained Transformer, 즉 '생성형 사전학습 트랜스포머'입니다.
이름 안에 이미 정답이 들어 있습니다.
오늘날 우리가 쓰는 거의 모든 AI의 심장에는 트랜스포머(Transformer)라는 구조가 들어 있고,
그 핵심에는 어텐션(Attention)이라는 아이디어가 있습니다.
오늘은 AI 혁명의 진짜 출발점인 이 두 개념을 수식 하나 없이 풀어드리겠습니다.
트랜스포머란 무엇일까? AI 혁명이 시작된 지점
트랜스포머는 AI가 문장을 이해하고 만들어내는 방식을 설계한 하나의 구조(아키텍처)입니다.
2017년 구글 연구진이 발표한 논문에서 처음 등장했는데, 그 논문 제목이 지금도 전설처럼 회자됩니다.
"Attention Is All You Need(어텐션만 있으면 된다)"입니다. 제목부터 이 기술의 자신감이 느껴지죠.
왜 이 구조가 혁명이라 불릴까요? 그전까지의 AI를 알아야 이해가 됩니다.
트랜스포머 이전에는 문장을 앞에서 뒤로 한 단어씩 순서대로 읽는 방식이 주류였습니다.
사람이 책을 읽듯 첫 단어를 읽고, 다음 단어를 읽고, 그렇게 순차적으로 처리했죠.
이 방식에는 치명적인 두 가지 약점이 있었습니다.
첫째, 문장이 길어지면 앞부분을 잊어버립니다. 100 단어짜리 문장의 마지막에 도달했을 때는 첫 단어의 정보가 희미해져 있었죠.
둘째, 속도가 느립니다. 순서대로만 처리할 수 있으니 아무리 좋은 컴퓨터를 붙여도 병렬로 나눠 계산할 수가 없었습니다.
트랜스포머는 이 두 문제를 한 번에 해결했습니다.
문장을 순서대로 읽는 대신 전체를 한꺼번에 펼쳐놓고 단어들 사이의 관계를 동시에 파악하는 방식을 택한 겁니다. 마치 책을 한 줄씩 읽는 대신 페이지 전체를 한눈에 스캔하는 것과 같습니다. 이 단순해 보이는 발상의 전환이 지금의 거대 AI 시대를 열었습니다.
어텐션이란 무엇일까? 중요한 단어에 집중하는 능력
트랜스포머의 심장은 어텐션(Attention)입니다. 우리말로는 '주의' 또는 '집중'이라는 뜻인데, 실제 역할도 정확히 그렇습니다. 문장 안에서 어떤 단어가 어떤 단어와 관련이 깊은지 계산해서 중요한 곳에 집중하는 기능입니다.
예문으로 살펴보겠습니다. "지친 강아지가 공을 쫓아가다가 그것을 물었다"라는 문장이 있습니다.
여기서 '그것'은 무엇을 가리킬까요? 사람은 당연히 '공'이라고 압니다.
그런데 AI 입장에서는 '강아지'일 수도 있고 '공'일 수도 있는 애매한 상황이죠.
어텐션은 이 문제를 이렇게 해결합니다. '그것'이라는 단어를 처리할 때, 문장 속 모든 단어와의 연관 점수를 계산합니다.
'공'과는 0.8점, '강아지'와는 0.1점, '지친'과는 0.02점 이런 식으로요.
그리고 점수가 높은 단어의 정보를 더 많이 반영해서 이해합니다. 결국 '그것 = 공'이라는 결론에 도달하는 것이죠.
더 놀라운 건 이 계산을 모든 단어가 동시에, 서로에 대해 수행한다는 점입니다.
문장 속 단어들이 전부 서로를 바라보며 "너는 나와 얼마나 관련 있니?"를 묻는 셈입니다.
이것을 셀프 어텐션(Self-Attention)이라고 부릅니다.
교실에 비유하면 이렇습니다.
선생님이 한 명씩 순서대로 발표시키는 게 옛 방식이라면, 어텐션은 모든 학생이 동시에 서로를 바라보며 누구의 의견이 지금 주제와 가장 관련 있는지 판단하는 회의와 같습니다. 정보 손실이 없고, 속도도 빠릅니다.
트랜스포머는 어떤 순서로 문장을 처리할까?

실제로 우리가 질문을 입력했을 때 내부에서 어떤 일이 벌어지는지 순서대로 따라가 보겠습니다.
1단계, 토큰화(Tokenization)입니다. 입력된 문장을 잘게 쪼갭니다. 앞서 다룬 토큰 개념이 여기서 등장합니다. "오늘 날씨 좋다"는 여러 개의 토큰 조각으로 나뉩니다.
2단계, 임베딩(Embedding)입니다. 쪼갠 토큰들을 숫자 덩어리, 즉 벡터로 바꿉니다.
AI는 글자를 직접 다룰 수 없고 숫자만 계산할 수 있기 때문입니다.
이때 의미가 비슷한 단어는 비슷한 숫자를 갖게 됩니다. 벡터 데이터베이스 이야기에서 다룬 바로 그 원리입니다.
3단계, 위치 정보 추가(Positional Encoding)입니다. 여기가 재미있는 지점입니다.
트랜스포머는 문장을 한꺼번에 처리하기 때문에 단어의 순서를 알 수 없다는 문제가 생깁니다.
"개가 사람을 물었다"와 "사람이 개를 물었다"를 구분하지 못하면 큰일이죠.
그래서 각 토큰에 몇 번째 자리인지를 알려주는 위치 정보를 함께 심어줍니다.
4단계, 어텐션 계산입니다. 앞서 설명한 대로 단어들 사이의 관계를 계산하며 문맥을 파악합니다.
이 과정은 한 번이 아니라 여러 층(Layer)에 걸쳐 반복됩니다.
층을 지날수록 단순한 문법 관계에서 시작해 점점 깊은 의미와 논리까지 파악하게 됩니다.
5단계, 출력입니다. 최종적으로 다음에 올 토큰의 확률을 계산해 하나를 골라 내놓습니다.
그리고 이 전체 과정을 답변이 끝날 때까지 반복합니다.
트랜스포머가 세상을 바꾼 진짜 이유
트랜스포머가 단순히 '성능이 좋은 구조'였다면 이렇게까지 화제가 되진 않았을 겁니다. 진짜 위력은 다른 데 있었습니다.
가장 결정적인 것은 병렬 처리가 가능해졌다는 점입니다.
순차 처리 방식에서는 첫 단어를 계산해야 두 번째 단어를 계산할 수 있었습니다. GPU를 아무리 많이 붙여도 소용없었죠.
하지만 트랜스포머는 모든 단어를 동시에 계산합니다. 즉 컴퓨터를 늘린 만큼 그대로 빨라진다는 뜻입니다.
이 특성이 왜 중요할까요?
모델을 거대하게 키울 수 있는 길이 열렸기 때문입니다.
학습 시간이 현실적인 범위에 들어오자 연구자들은 데이터와 파라미터를 계속 늘려보기 시작했습니다. 그리고 놀라운 사실을 발견합니다. 키우면 키울수록 성능이 계속 좋아졌다는 것입니다. 이를 '스케일링 법칙'이라고 부릅니다.
여기서 예상치 못한 일이 벌어집니다. 일정 규모를 넘어서자 아무도 가르치지 않은 능력이 갑자기 나타난 겁니다. 번역, 요약, 코드 작성, 논리 추론 같은 것들이죠. 앞선 글에서 다룬 창발(Emergence) 현상입니다.
또 하나의 강점은 범용성입니다. 트랜스포머는 언어만을 위한 구조가 아니었습니다. 이미지, 음성, 영상, 심지어 단백질 구조 분석에도 그대로 적용됐고 모두 좋은 성과를 냈습니다. 멀티모달 AI가 가능해진 것도 이 범용성 덕분입니다.
하나의 구조로 세상의 거의 모든 데이터를 다룰 수 있게 된 것, 이것이 트랜스포머의 진짜 혁명이었습니다.
초보자가 알아두면 좋은 포인트와 한계
원리를 알았다면 실제로 어떤 도움이 될까요? 그리고 이 구조에도 약점이 있을까요?
첫째, 문맥을 충분히 주는 것이 왜 중요한지 이해하게 됩니다. 어텐션은 주어진 문장 안에서 관계를 계산합니다.
정보가 부족하면 계산할 재료 자체가 없는 셈이죠. "이거 고쳐줘"보다 배경과 목적을 함께 적는 것이 좋은 이유가 원리로 설명됩니다.
둘째, 순서가 결과에 영향을 준다는 점을 알게 됩니다. 위치 정보가 반영되기 때문에 중요한 지시는 앞이나 뒤 같은 눈에 띄는 자리에 두는 것이 효과적입니다.
이제 한계도 봅시다. 첫째, 계산량이 문장 길이의 제곱에 비례합니다. 모든 단어가 서로를 확인하기 때문입니다. 단어가 2배가 되면 계산량은 4배가 되죠. 긴 문서를 다룰수록 비용이 급격히 올라가는 이유이며, 컨텍스트 윈도우에 한계가 있는 근본 원인이기도 합니다.
둘째, 여전히 확률 기반이라는 점입니다. 구조가 아무리 정교해도 결국 다음 토큰의 확률을 계산하는 방식이므로, 환각 문제는 구조만으로 해결되지 않습니다.
셋째, 학습 비용이 막대합니다. 거대 모델 하나를 학습시키는 데 천문학적인 비용과 전력이 들어갑니다. 그래서 최근에는 더 효율적인 구조를 찾는 연구가 활발히 진행되고 있습니다.
마무리하며
트랜스포머는 문장을 순서대로 읽는 대신 통째로 펼쳐놓고 단어들의 관계를 동시에 계산하는 구조이며, 그 핵심 아이디어가 바로 어텐션입니다. 병렬 처리가 가능해지면서 모델을 거대하게 키울 수 있게 됐고, 그 결과가 오늘날의 AI 혁명입니다.
원리를 알면 AI가 왜 그렇게 행동하는지 보이기 시작합니다.
왜 맥락이 중요한지, 왜 긴 문서는 비싼지, 왜 환각이 사라지지 않는지 전부 이 구조에서 설명됩니다.
다음 글에서는 요즘 개발 업계를 뒤흔들고 있는 바이브 코딩(Vibe Coding)을 쉽게 풀어드리겠습니다.
