THINK 판단 단계

GPT 발전사: GPT-1부터 GPT-4까지, 대규모 언어 모델은 어떻게 진화했나

GPT 발전사: GPT-1부터 GPT-4까지, 대규모 언어 모델은 어떻게 진화했나

GPT(Generative Pre-trained Transformer)는 트랜스포머(Transformer, 문장 속 단어들이 어텐션으로 서로를 참조하며 문맥을 처리하는 신경망) 구조를 바탕으로, 방대한 텍스트를 미리 학습(사전학습)한 뒤 여러 과제에 적응시키는 생성형 대규모 언어 모델(Large Language Model, LLM, 방대한 글을 읽고 배워 문장을 이어 쓰는 AI 모델)입니다. GPT 발전사란 이 모델이 GPT-1, GPT-2, GPT-3, InstructGPT, GPT-4로 세대를 거듭하며 규모와 능력을 키워 온 과정을 뜻합니다. 이 글은 2023년에 나온 GPT-4까지의 흐름을 다룹니다.

한눈에 보기

  • GPT는 '다음 단어 맞히기'로 방대한 글을 미리 익힌 AI 모델이며, 2018년 GPT-1부터 2023년 GPT-4까지 다섯 단계로 발전했습니다.
  • 세대마다 크기만 키운 것이 아니라, 예시 몇 개로 일을 배우는 능력과 사람의 평가로 말투를 다듬는 방법이 차례로 더해졌습니다.
  • 그래도 '그럴듯한 다음 단어'를 고르는 원리는 그대로여서, 없는 사실을 지어내는 환각은 GPT-4에도 남아 있습니다.

다음 단어 맞히기 기계가 비서가 되기까지

이런 상황을 떠올려 보세요. 납품이 사흘 늦어져 거래처에 사과 메일을 보내야 합니다. 요즘은 ChatGPT에 "납기 지연 사과 메일을 정중하게 써 줘"라고 한 줄만 적으면 제목부터 끝인사까지 갖춘 초안이 나옵니다. 그런데 몇 해 전의 언어 모델에 같은 문장을 넣었다면 사정이 달랐습니다. 그 모델은 부탁을 들어주는 법을 배운 적이 없고, 앞 문장에 어울리는 다음 문장을 이어 쓰는 법만 배웠습니다. 그래서 메일 대신 비슷한 부탁 문장을 몇 줄 더 늘어놓거나, 묻지도 않은 이야기로 흘러가기도 했습니다. 같은 '다음 단어 맞히기' 기계가 어떻게 쓸 만한 비서가 됐는지, 그 사이에 무엇이 바뀌었는지를 세대 순서대로 따라가 보는 것이 이 글의 목표입니다.

각 세대는 단순히 크기만 키운 것이 아닙니다. 단계마다 '어떻게 학습시킬 것인가'라는 방법론이 함께 바뀌었습니다. 처음에는 사전학습 뒤 과제별로 파인튜닝(fine-tuning, 미세조정. 이미 배운 모델을 특정 일에 맞게 조금 더 가르치는 일)하는 방식이었지만, 뒤로 갈수록 예시 몇 개만 보여 주는 퓨샷(few-shot) 학습, 나아가 사람의 선호를 반영하는 강화학습으로 무게중심이 옮겨 갔습니다.

이 글에서는 GPT 계열이 어떤 문제의식에서 출발했고, 세대별로 무엇이 달라졌으며, 그 변화가 실무에 어떤 의미를 갖는지 차례로 살펴봅니다. 앞부분은 세대 순서대로, 뒷부분은 스케일링 법칙·창발·토큰화·컨텍스트 창(context window, 모델이 한 번에 읽고 쓸 수 있는 글의 최대 길이)·환각 같은 주제별로 다시 묶어 봅니다. 각 모델의 이름과 특징을 외우기보다, '왜 그렇게 진화할 수밖에 없었는가'라는 흐름을 이해하는 편이 훨씬 유용합니다.

GPT-1: 라벨 없는 텍스트의 바다에서 출발

2018년 등장한 GPT-1은 '생성형 사전학습(generative pre-training)'이라는 아이디어를 정면으로 내세웠습니다. 당시 자연어처리(컴퓨터가 사람의 말과 글을 다루게 하는 분야)는 과제마다 라벨이 붙은 데이터를 따로 모아 모델을 새로 훈련하는 방식이 주류였습니다. 라벨은 사람이 데이터마다 달아 둔 정답 표시입니다. 감정 분석에는 감정 라벨 데이터가, 두 문장의 뜻이 서로 이어지는지 가리는 과제(문장 함의 판단)에는 또 다른 라벨 데이터가 필요했습니다. 문제는 라벨을 다는 일이 비싸고 느리다는 데 있었습니다.

GPT-1의 착안점은 분명했습니다. 라벨이 없는 일반 텍스트는 인터넷에 넘쳐납니다. 그러니 먼저 '다음 단어 맞히기'라는 단순한 목표로 방대한 텍스트를 학습해 언어의 일반적인 구조를 익히게 하자는 것이었습니다. 이렇게 언어 감각을 쌓은 모델은 과제마다 비교적 적은 라벨 데이터로 살짝 파인튜닝만 해 주면 됩니다. 이 두 단계 구성이 바로 '사전학습 후 파인튜닝' 패러다임입니다. 신입 사원이 먼저 책과 신문을 두루 읽어 문장 감각을 익힌 뒤, 부서에 배치되고 나서 그 부서 업무만 짧게 배우는 것과 비슷합니다.

구조로 보면 GPT-1은 트랜스포머의 디코더 부분만 쌓아 올린 형태입니다. 디코더는 앞의 글을 보고 뒤의 글을 만들어 내는 쪽 부품입니다. 문장을 왼쪽에서 오른쪽으로 읽으며 다음에 올 단어를 예측하는 단방향 언어 모델입니다. 여기서 핵심 부품이 자기어텐션(self-attention)입니다. 문장 속 각 단어가 다른 단어들을 얼마나 참고할지 가중치를 계산해, 문맥을 반영한 표현을 만듭니다.

GPT-1의 성과는 규모가 크지 않았어도 방향을 증명했다는 데 있습니다. 하나의 사전학습 모델이 여러 과제에서 두루 쓸 만한 성능을 냈습니다. 과제마다 밑바닥부터 설계하던 관행을 흔든 것입니다. 이후 GPT 계열은 모두 이 사전학습 철학 위에서 자라납니다.

GPT-2: 규모를 키우자 나타난 뜻밖의 재능

2019년의 GPT-2는 GPT-1과 뼈대는 같지만 크기를 크게 늘렸습니다. 파라미터(parameter, 모델이 학습하며 조정하는 숫자로, 모델의 지식이 담기는 곳) 수를 키우고, 훨씬 방대하고 다양한 웹 텍스트로 학습했습니다. 논문 제목이 '언어 모델은 비지도 다중과제 학습기(Language Models are Unsupervised Multitask Learners)'라는 데서 핵심 주장이 드러납니다.

GPT-2가 던진 메시지는 도발적이었습니다. 과제별 파인튜닝 없이도 충분히 큰 언어 모델은 여러 과제를 스스로 수행한다는 것입니다. 번역이나 요약 같은 작업을 따로 가르치지 않았는데도, 학습 데이터 안에 그런 패턴이 자연스레 섞여 있었기에 모델이 이를 흡수했습니다. 요약을 원하면 글 끝에 'TL;DR:' 같은 단서만 붙여도 모델이 요약을 시도했습니다. TL;DR은 영어권 인터넷에서 '너무 길어서 요약하면'이라는 뜻으로 긴 글 끝에 붙이는 표시입니다.

이것이 오늘날 우리가 당연하게 여기는 '프롬프트로 지시하기'의 원형입니다. 별도 학습 없이 입력 텍스트의 형태만 바꿔 원하는 출력을 끌어내는 방식입니다. GPT-2는 이 가능성을 처음으로 뚜렷이 보여 줬습니다. 규모를 키우자 따로 가르치지 않은 능력이 저절로 나타나는 현상, 이른바 창발(emergence)의 초기 신호였습니다.

동시에 GPT-2는 위험성 논의도 불러왔습니다. 그럴듯한 가짜 글을 대량으로 생성할 수 있다는 우려 때문에, OpenAI는 처음에 큰 모델의 공개를 미뤘습니다. 생성 능력이 강해질수록 오남용 위험도 커진다는, 이후 계속 되풀이될 긴장이 이때부터 시작됐습니다.

GPT-3와 문맥 내 학습: 예시 몇 개로 배우는 모델

2020년의 GPT-3는 규모의 도약을 상징합니다. 논문 제목 '언어 모델은 퓨샷 학습기다(Language Models are Few-Shot Learners)'가 핵심을 압축합니다. 여기서 결정적으로 떠오른 개념이 문맥 내 학습(in-context learning)입니다.

문맥 내 학습이란 모델의 가중치를 전혀 바꾸지 않고, 프롬프트 안에 예시를 몇 개 넣어 과제를 가르치는 방식입니다. 예시를 하나도 안 주면 제로샷(zero-shot), 한 개면 원샷(one-shot), 여러 개면 퓨샷(few-shot)이라 부릅니다. 예를 들어 '사과→apple, 바나나→banana, 포도→'라고 입력하면, 모델은 패턴을 파악해 'grape'를 이어 붙입니다. 번역 규칙을 학습시킨 적이 없는데도 그렇습니다. 새로 온 직원에게 규정집을 건네는 대신 "지난번 견적서 세 장 보고 같은 양식으로 써 줘"라고 하는 것과 같습니다.

이 능력이 실무의 판을 바꿨습니다. 과제마다 모델을 따로 다시 학습하지 않아도, 프롬프트만 잘 설계하면 하나의 모델로 번역·요약·분류·코드 생성을 두루 처리할 수 있게 됐습니다. '프롬프트 엔지니어링'이라는 분야가 본격화된 배경입니다.

GPT-3의 도약은 '스케일링 법칙(Scaling Laws)' 연구와 맞물립니다. 모델 크기, 데이터, 계산량을 함께 키우면 성능이 예측 가능한 곡선을 따라 꾸준히 좋아진다는 관찰입니다. 이 법칙이 이후 대규모 투자를 정당화하는 근거가 됐습니다. 자세한 내용은 뒤의 '주제로 다시 보기'에서 다룹니다.

InstructGPT와 RLHF: 사람의 뜻을 따르게 만드는 학습

RLHF의 3단계: 시범 답변 지도학습 → 선호 순위로 보상 모델 학습 → 보상 모델 기준 강화학습.

GPT-3는 강력했지만 문제가 있었습니다. 다음 단어를 잘 맞히도록 학습했을 뿐, '사람이 원하는 방식으로 답하도록' 학습한 적은 없습니다. 그래서 질문의 의도를 벗어나거나, 장황하거나, 유해한 내용을 내놓기도 했습니다. 학습 목표인 다음 토큰(token, AI가 글을 읽고 쓰는 조각 단위로, 보통 단어 하나보다 조금 작은 단위) 예측과 실제 우리가 바라는 것(도움되고 안전한 응답) 사이에 간극이 있었던 것입니다. 앞에서 본 사과 메일 장면이 바로 이 간극입니다.

이 간극을 메운 방법이 인간 피드백 기반 강화학습(RLHF, Reinforcement Learning from Human Feedback)이며, InstructGPT가 이를 체계적으로 적용한 대표 사례입니다. 강화학습은 잘한 행동에는 점수를 주고 못한 행동에는 덜 주면서, 점수가 높아지는 쪽으로 스스로 고쳐 가게 하는 학습 방식입니다. 과정은 크게 세 단계입니다. 먼저 사람이 직접 시범 답변을 작성해 모델을 지도학습(정답을 보여 주며 따라 하게 하는 학습)으로 다듬습니다. 다음으로 같은 질문에 나온 여러 응답을 사람이 좋은 순서대로 매기고, 이 선호 데이터로 '보상 모델', 곧 사람 대신 답변에 점수를 매겨 주는 채점용 모델을 학습합니다. 마지막으로 이 보상 모델을 기준 삼아, 언어 모델이 더 높은 점수를 받는 방향으로 강화학습을 진행합니다.

결과는 인상적이었습니다. 논문에 따르면 파라미터가 100배 적은 13억 개짜리 InstructGPT의 답변이 1,750억 개짜리 GPT-3의 답변보다 사람들에게 더 선호됐습니다. 규모만이 능사가 아니며, '정렬(alignment, 모델이 사람의 의도와 가치에 맞게 행동하도록 맞추는 일)'이라는 별도의 축이 있음을 보여 준 것입니다. 오늘날 우리가 쓰는 대화형 AI가 질문에 공손하고 조리 있게 답하는 배경에는 이 정렬 과정이 있습니다.

다만 RLHF에도 그늘이 있습니다. 사람의 선호를 학습하다 보니, 실제로 옳은 답보다 '옳아 보이는 답', 사용자가 듣기 좋아하는 답에 치우칠 수 있습니다. 정렬은 만능이 아니라 계속 다듬어야 할 과제입니다.

GPT-4: 멀티모달과 신뢰성으로

2023년의 GPT-4는 여러 방향에서 도약했습니다. 기술 보고서에 따르면 텍스트뿐 아니라 이미지도 입력으로 받는 멀티모달(multimodal, 글·이미지처럼 여러 형태의 정보를 함께 다루는) 능력을 갖췄고, 각종 전문 시험과 벤치마크(모델 성능을 비교하려고 만든 표준 시험 문제 모음)에서 이전 세대를 뚜렷이 앞섰습니다. 보고서는 모의 변호사 시험에서 응시자 상위 10% 안팎의 점수를 냈다고 밝혔습니다. 복잡한 추론, 긴 맥락 처리, 지시 준수에서 개선이 두드러졌습니다.

GPT-4의 특징 하나는 개발 과정에서 안전성과 정렬에 큰 비중을 뒀다는 점입니다. 유해한 요청을 거절하고, 사실과 다른 주장을 줄이려는 노력이 강화됐습니다. 물론 완벽하지는 않습니다. 보고서 스스로도 환각(hallucination, 사실이 아닌 내용을 그럴듯하게 지어내는 현상)과 편향, 신뢰성의 한계가 여전히 남아 있음을 분명히 밝힙니다.

또 하나 눈에 띄는 대목은 성능 예측입니다. GPT-4 개발진은 작은 규모의 실험 결과로부터 최종 모델의 성능 일부를 미리 예측할 수 있었다고 보고했습니다. 계산량을 최대 1만분의 1까지 적게 쓴 작은 모델들의 결과로 GPT-4의 최종 손실(loss, 모델이 다음 단어를 얼마나 틀리게 맞히는지 나타내는 점수로, 낮을수록 좋은 값)을 학습 초반에 미리 맞혔고, 코드 작성 시험인 HumanEval의 통과율 일부는 계산량을 최대 1,000분의 1까지 적게 쓴 모델들로 예측했습니다. 스케일링 법칙의 정신이 실제 대규모 개발에 녹아든 사례입니다. 무작정 키우는 것이 아니라, 결과를 어느 정도 가늠하며 자원을 투입하는 방향으로 성숙한 것입니다.

세대별 흐름 한 장으로 보기

GPT-1의 단방향 언어 모델에서 출발해 규모 확장과 문맥 내 학습을 거치고, 인간 피드백 정렬과 멀티모달로 이어진 흐름은 아래 표와 그림처럼 세대별 변화로 정리할 수 있습니다.

세대 공개 파라미터 수 한 번에 읽는 길이(토큰) 새로 더해진 것
GPT-1 2018년 약 1억 1,700만 512 사전학습 후 파인튜닝
GPT-2 2019년 최대 15억 1,024 규모 확장, 파인튜닝 없는 과제 수행
GPT-3 2020년 1,750억 2,048 예시 몇 개로 배우는 문맥 내 학습
InstructGPT 2022년 13억~1,750억 GPT-3와 같음 사람 피드백 강화학습(RLHF)
GPT-4 2023년 공개 안 함 8,192(확장판 32,768) 이미지 입력, 성능 예측

세대별 주요 언어 모델: GPT 계열의 발전 흐름

주제로 다시 보기

세대 순서로 훑은 이야기를 이제 주제별로 다시 묶어 보겠습니다. 앞에서 짧게 언급한 스케일링 법칙과 창발, 그리고 모든 세대에 공통으로 걸리는 토큰화, 컨텍스트 창, 환각을 차례로 짚습니다.

스케일링 법칙: 덩치를 키우면 왜 똑똑해지는가

GPT 계보를 관통하는 설계 철학을 하나만 꼽으라면 '규모 키우기'입니다. 다만 이 선택은 막연한 직감이 아니라 정량적 근거 위에 서 있습니다. OpenAI 연구진은 2020년 1월 논문에서 모델의 성능, 정확히는 검증 손실(validation loss, 학습에 쓰지 않은 글로 잰 손실)이 세 가지 자원, 곧 파라미터 수, 학습 데이터 양, 계산량(FLOPs, 학습에 쓴 연산 횟수)에 대해 매끄러운 거듭제곱 관계를 그린다는 사실을 관찰했습니다. 이를 스케일링 법칙(scaling law)이라 부릅니다. 손실을 로그-로그 좌표에 찍으면 거의 직선으로 떨어집니다. 자원을 열 배 부으면 손실이 예측 가능한 폭만큼 줄어든다는 뜻입니다.

이 법칙이 실무에 주는 의미는 생각보다 큽니다. 모델을 다 학습시키기 전에, 작은 모델 몇 개의 학습 곡선만으로 훨씬 큰 모델의 최종 성능을 미루어 예측할 수 있습니다. 앞에서 본 GPT-4의 성능 예측이 바로 이 원리를 쓴 사례입니다. 막대한 비용이 드는 대규모 사전학습을 '도박'이 아니라 '공학'으로 바꾼 대목입니다.

다만 손실이 낮아진다고 해서 사람이 원하는 유용함이 그만큼 오르는 것은 아닙니다. 그래서 규모 경쟁은 정렬과 데이터 품질이라는 별도의 과제와 늘 짝을 이뤄 진행됐습니다. 계산 예산을 모델 크기와 데이터에 어떻게 나눌지, 법칙이 어디서 힘을 잃는지는 글 끝 심화 절에서 다룹니다.

창발성 논쟁: 능력이 갑자기 튀어나오는 순간

같은 능력도 채점 지표에 따라 계단처럼(불연속) 혹은 매끄럽게(연속) 보인다.

GPT 발전사에서 가장 흥미로운 현상은 창발적 능력(emergent abilities)입니다. 특정 작업, 이를테면 여러 자리 덧셈이나 논리 추론을 시켜 보면, 작은 모델에서는 성능이 사실상 무작위 수준에 머물다가 어떤 규모를 넘어서는 순간 급격히 치솟습니다. 물이 99도까지는 그대로이다가 100도에서 끓어오르듯, 상태가 한순간에 바뀌는 것(상전이)처럼 보입니다. GPT-2에서는 흉내조차 못 내던 과제를 GPT-3가 예시 몇 개만으로 풀어낸 사례들이 이 논의에 불을 붙였습니다.

이 현상을 어떻게 해석하느냐를 두고 진영이 갈립니다. 한쪽은 진짜 질적 도약이 일어났다고 봅니다. 규모가 임계점을 넘으면서 모델 내부에 새로운 표현이나 알고리즘이 형성됐다는 관점입니다. 반대편은 창발이 상당 부분 '착시'라고 반박합니다. 정답이냐 오답이냐로만 채점하는 불연속 지표를 쓰면 계단처럼 보이지만, 부분 점수를 주는 연속 지표로 다시 재면 성능이 사실은 매끄럽게 올라가고 있었다는 것입니다. 어느 쪽이든, 겉으로 드러나는 능력의 도약이 실무자에게 강렬한 인상을 남긴 것만은 분명합니다.

실무 관점에서 창발성이 주는 교훈은 분명합니다. 작은 모델에서 어떤 기능이 안 된다고 해서 그 기능이 '원리적으로 불가능하다'고 단정하면 안 됩니다. 반대로 큰 모델에서 된다고 해서 작은 모델로 값싸게 대체하려다 낭패를 볼 수도 있습니다. 특히 사고 사슬(chain-of-thought, 답을 내기 전에 풀이 과정을 단계별로 적게 하는 방법) 추론은 충분히 큰 모델에서만 이득이 나타나는 대표적 사례입니다. 작은 모델에 단계적 추론을 시키면 오히려 성능이 떨어지기도 합니다.

창발성은 곧 예측 불가능성이기도 합니다. 스케일링 법칙이 '평균 손실'은 잘 예측해도, '특정 과제가 언제 갑자기 될지'는 미리 맞히지 못합니다. 그래서 새 모델이 나올 때마다 폭넓은 벤치마크로 능력의 지형을 다시 그려야 합니다. 이 불확실성은 안전성 논의와도 바로 이어집니다. 원치 않는 능력, 이를테면 사람을 속이거나 위험한 정보를 조합하는 능력 역시 예고 없이 창발할 수 있기 때문입니다.

글을 어떤 조각으로 자르나: 토큰화의 실무 함정

GPT 계열이 세대를 거듭해도 근본 원리는 한결같습니다. 앞에 주어진 토큰들을 보고 '다음에 올 토큰의 확률 분포'를 계산하는 것입니다. 이렇게 쪼갠 토큰을 숫자 목록으로 바꾼 것이 임베딩(embedding, 뜻이 비슷한 말끼리 가까운 자리에 놓이도록 바꾼 숫자 좌표)이며, 어텐션 층을 거치며 문맥이 반영됩니다. '오늘 날씨가'라는 입력 뒤에 '좋다', '흐리다', '춥다' 같은 후보가 저마다 확률을 갖고, 그중 하나를 골라 이어 붙입니다. 이때 어떤 후보를 실제로 고를지 정하는 온도(temperature)·top-p 같은 디코딩 설정은 프롬프트 엔지니어링 글에서 따로 다룹니다. 이 설정은 이미 계산된 확률에서 무엇을 뽑을지만 조율할 뿐, 모델이 애초에 모르는 사실을 끌어내지는 못합니다.

GPT 계열은 글자 단위도 단어 단위도 아닌, 그 중간인 서브워드(subword) 단위로 텍스트를 자릅니다. 흔한 단어는 통째로 한 토큰이 되고, 드문 단어는 여러 조각으로 쪼개집니다. 어떻게 자르는지의 구체적인 방식은 글 끝 심화 절에서 다룹니다.

이 방식은 실무에서 두고두고 발목을 잡는 미묘한 문제를 만듭니다. 대표적인 것이 산술입니다. GPT-3까지의 토크나이저에서는 숫자 '12345'가 하나의 토큰이 될지 '123'과 '45'로 쪼개질지가 학습 데이터의 빈도에 좌우됐습니다. GPT-4의 토크나이저는 숫자를 세 자리씩 끊는 규칙을 두었지만, 자릿수와 토큰 경계가 어긋나는 문제는 여전합니다. 자릿수 경계와 토큰 경계가 어긋나면 모델은 덧셈에서 어이없는 실수를 저지릅니다. 글자를 세는 과제, 이를테면 'strawberry에 r이 몇 개인가' 같은 질문에 모델이 틀리는 근본 원인도 여기 있습니다. 모델은 글자를 직접 보지 못하고 토큰이라는 덩어리만 보기 때문입니다. 매출표 숫자를 AI에 더하게 했다면 결과를 계산기로 한 번 더 확인하는 편이 안전한 이유입니다.

다국어 환경에서는 토큰화의 불균형이 곧 비용이 됩니다. 영어는 단어당 토큰 수가 적지만, 한국어나 일본어처럼 학습 데이터에 상대적으로 덜 노출된 언어는 같은 의미를 담는 데 훨씬 많은 토큰이 듭니다. 드문 한글 글자는 한 글자가 여러 바이트 조각(토큰)으로 쪼개지기도 합니다. 결국 같은 내용을 처리해도 한국어 프롬프트가 영어보다 토큰을 더 많이 쓰고, 청구 비용과 컨텍스트 창(context window, 모델이 한 번에 읽고 기억할 수 있는 글의 최대 길이) 소모가 늘어납니다. 프롬프트를 설계할 때 이 점을 염두에 두면 불필요한 지출을 줄일 수 있습니다.

컨텍스트 창: 긴 글을 어떻게 기억하나

트랜스포머의 자기어텐션은 입력의 모든 토큰이 서로를 참조하게 만듭니다. 덕분에 문장 앞뒤의 먼 관계까지 포착하지만, 글이 길어질수록 계산과 메모리 부담이 가파르게 커집니다. 초기 GPT의 컨텍스트 창이 짧았던 것도 이 비용 때문입니다. 창을 늘리려고 쓴 공학 기법들은 심화 절에서 다룹니다.

컨텍스트 창이 넓어졌다고 해서 그 안을 모델이 고르게 활용하는 것은 아닙니다. 실무에서 자주 부딪히는 함정이 '중간을 잊는(lost in the middle)' 현상입니다. 긴 문맥의 맨 앞과 맨 뒤에 놓인 정보는 잘 참조하지만, 한가운데 파묻힌 핵심 문장은 놓치는 경향이 관찰됩니다. 그래서 검색 증강 생성(RAG, AI가 답하기 전에 관련 문서를 먼저 찾아 읽고 그 내용을 근거로 답하게 하는 방법) 파이프라인을 짤 때, 검색해 온 근거 문서를 프롬프트의 어디에 두느냐가 답변 품질을 좌우합니다. 가장 중요한 근거는 맨 앞이나 맨 뒤로 몰아 두는 편이 안전합니다. 긴 계약서를 통째로 붙여 넣고 요약을 부탁할 때도, 꼭 챙겨야 할 조항은 질문 바로 옆에 따로 적어 주는 편이 낫습니다.

긴 문맥과 RAG는 흔히 경쟁 관계로 오해받지만 실제로는 서로를 보완합니다. 컨텍스트 창이 아무리 넓어도 회사 내부 문서 전체를 매번 통째로 밀어 넣으면 비용과 지연을 감당할 수 없습니다. 검색으로 관련 조각만 추려 넣고, 넓어진 문맥은 그 조각들을 넉넉히 담고 대화 이력을 유지하는 데 쓰는 조합이 현실적입니다. 문맥 길이를 무한정 늘리는 방향과, 필요한 정보만 골라 넣는 방향이 함께 발전해 온 이유입니다.

환각: GPT는 왜 없는 사실을 지어내는가

가장 흔한 오해는 GPT가 '사실을 저장한 데이터베이스'라는 생각입니다. GPT는 데이터를 검색해 꺼내는 장치가 아니라, 확률적으로 그럴듯한 다음 토큰을 이어 붙이는 생성기입니다. 그래서 존재하지 않는 논문이나 인용을 자신 있게 지어내는 환각이 생깁니다. 모델은 '진실인지'가 아니라 '자연스러운지'를 기준으로 문장을 만들기 때문입니다.

언어 모델이 환각을 일으키는 원인

이 현상을 '버그'로만 보면 본질을 놓칩니다. 근본 원인은 학습 목표 자체에 있습니다. 학습 데이터에서 자주 등장한 문장 형태를 이어 붙이는 데 최적화됐을 뿐, 자기 출력이 세계의 사실과 맞는지 검증하는 장치는 애초에 없습니다.

확률적 생성 과정도 환각을 부추깁니다. 디코딩 설정으로 다양성을 높이면 모델은 확률이 낮은 토큰도 선택하게 됩니다. 창의적 글쓰기에는 좋지만 사실 확인이 중요한 작업에서는 위험을 키웁니다. 게다가 자기회귀(autoregressive, 자기가 방금 쓴 글을 다시 입력으로 받아 다음 글을 이어 쓰는) 방식은 한 번 잘못된 토큰을 내놓으면 그 오류를 전제로 뒤 문장을 계속 이어 가기 때문에, 작은 착오가 눈덩이처럼 불어나기 쉽습니다. 존재하지 않는 논문의 저자와 연도를 술술 만들어 내는 것이 대표적입니다.

정렬 과정이 환각을 되레 부채질하는 역설도 있습니다. RLHF 단계에서 평가자들은 '모르겠다'는 답보다 그럴듯하고 완결된 답에 높은 점수를 주기 쉽습니다. 그러면 모델은 '확신에 찬 어조로 말하는 습관'을 보상으로 학습합니다. 아는 것과 모르는 것의 경계를 스스로 표현하도록 훈련하는 일, 이른바 보정(calibration, 모델이 내세우는 확신의 정도를 실제 정답률에 맞추는 일)이 별도의 연구 주제가 된 배경입니다. GPT-4 기술 보고서도 사전학습만 마친 모델은 확신도가 실제 정답률과 잘 맞았지만, 사후 학습을 거친 뒤에는 그 정도가 줄었다고 밝혔습니다.

실무에서 환각을 완전히 없앨 수는 없지만 억제할 수단은 여럿 있습니다. 검색 증강 생성으로 답변의 근거를 외부 문서에 묶어 두고 출처를 함께 제시하게 하면, 모델이 기억에만 기대어 지어낼 여지가 줄어듭니다. 온도를 낮춰 매번 비슷한 답이 나오게 하고, '근거가 없으면 모른다고 답하라'는 지시를 분명히 적고, 중요한 출력은 별도 검증 단계나 다른 모델로 교차 확인하는 방식도 널리 쓰입니다. 환각을 이해하는 첫걸음은 그것이 우연한 결함이 아니라 '다음 단어 예측'이라는 설계에서 자연스럽게 흘러나오는 성질임을 받아들이는 데 있습니다.

그 밖에 자주 하는 오해

또 하나의 오해는 '크면 무조건 똑똑하다'는 단순한 도식입니다. 규모가 성능의 큰 동력인 것은 맞지만, InstructGPT가 보여 줬듯 정렬이라는 별개의 축이 실제 유용성을 크게 좌우합니다. 작지만 잘 정렬된 모델이, 크지만 정렬되지 않은 모델보다 실무에서 더 쓸 만할 수 있습니다.

프롬프트로 학습한다는 표현도 조심해야 합니다. 문맥 내 학습은 모델의 가중치를 바꾸지 않습니다. 대화 안에서만 임시로 패턴을 흉내 낼 뿐, 대화가 끝나면 그 '학습'은 사라집니다. 지식을 계속 갱신해야 한다면 파인튜닝이나 외부 검색 연동이 따로 있어야 합니다.

다음 걸음: 함께 익히면 좋은 개념들

GPT 발전사를 제대로 이해하려면 트랜스포머와 자기어텐션의 작동을 먼저 익히는 편이 좋습니다. 어텐션이 문맥을 어떻게 반영하는지 감을 잡으면, 모델이 왜 긴 맥락을 다룰 수 있는지, 왜 컨텍스트 창에 한계가 있는지가 자연스럽게 이해됩니다. 토큰화와 임베딩 개념도 함께 짚어 두면 입력 처리 과정이 선명해집니다.

실무를 겨냥한다면 프롬프트 엔지니어링 기법을 정리해 두면 좋습니다. 예시를 주지 않는 제로샷, 몇 개 주는 퓨샷, 추론 과정을 단계적으로 끌어내는 사고 사슬, 도구 사용과 추론을 결합하는 ReAct 등이 대표적입니다. 여기에 디코딩 설정을 상황별로 조율하는 감각을 더하면 출력 품질을 크게 끌어올릴 수 있습니다.

환각을 줄이는 실무 기법은 RAG와 AI 환각 글에서 더 자세히 다룹니다. 특정 분야에 깊이 맞춰야 한다면 파인튜닝과 RAG의 장단점을 비교해 고르면 됩니다.

마지막으로 정렬과 안전성 논의를 놓치지 말아야 합니다. RLHF의 원리와 그 한계, 편향과 유해성 완화 방법은 GPT 이후 모든 대규모 언어 모델에 공통으로 걸리는 주제입니다. 원문 논문들, 특히 GPT 시리즈 원 논문과 InstructGPT, GPT-4 기술 보고서, 그리고 스케일링 법칙 논문을 차례로 읽으면 이 발전사의 결을 스스로 확인할 수 있습니다. 그 뒤의 흐름(추론 모델, 에이전트)은 AI 에이전트와 에이전틱 서비스란? 글에서 이어 볼 수 있습니다.

개발자를 위한 심화

이 부분은 직접 구현하는 개발자를 위한 내용입니다.

서브워드 토큰화와 바이트 수준 BPE

GPT-2 이후로는 바이트 페어 인코딩(Byte Pair Encoding, BPE)을 바이트 수준에서 변형한 방식을 씁니다. 원리는 단순합니다. 자주 붙어 나오는 문자쌍을 반복해서 하나의 토큰으로 병합해 사전을 키웁니다. 흔한 단어는 통째로 한 토큰이 되고, 드문 단어는 여러 조각으로 쪼개집니다. GPT-3와 GPT-4 계열의 사전 크기는 대략 5만에서 10만 개 수준입니다.

토큰화가 정확히 어떻게 이뤄지는지 알고 싶다면 tiktoken 같은 라이브러리로 직접 확인하는 습관을 들이는 편이 좋습니다. 예를 들어 GPT-4용 인코딩으로 짧은 문장을 잘라 보면 공백이 앞 토큰에 붙는지 뒤에 붙는지, 특정 고유명사가 몇 조각으로 나뉘는지가 한눈에 보입니다. 프롬프트 길이 예산을 잡거나, 특정 출력이 왜 이상하게 잘렸는지 원인을 추적할 때 이 감각이 큰 도움이 됩니다.

어텐션의 제곱 비용과 컨텍스트 창 확장 기법

토큰 수가 n이면 어텐션의 계산량과 메모리가 대략 n²에 비례합니다. 문맥을 두 배로 늘리면 비용은 네 배로 뜁니다. GPT-1의 문맥이 512토큰, GPT-3가 2048토큰이던 시절에는 큰 문제가 아니었지만, 수만에서 수십만 토큰을 다루는 지금은 이 제곱 비용이 핵심 병목입니다.

그래서 최신 모델은 컨텍스트 창을 늘리려고 여러 공학 기법을 겹겹이 씁니다. 위치 정보를 다루는 방식만 해도 초기의 절대 위치 임베딩에서, 상대 위치를 회전으로 표현하는 로터리 위치 임베딩(RoPE), 학습 없이 편향을 더하는 ALiBi 같은 방식으로 진화했습니다. 이런 기법 덕에 짧게 학습한 모델을 학습 때보다 훨씬 긴 입력으로 확장(context extension)할 수 있게 됐습니다. 메모리 접근을 최적화한 플래시어텐션(FlashAttention)도 긴 문맥을 실용화하는 데 결정적 역할을 했습니다.

스케일링 법칙의 세부: 친칠라 최적과 수확 체감

스케일링을 둘러싼 인식은 한 번 크게 뒤집혔습니다. 초기에는 파라미터를 최대한 키우는 쪽이 정답처럼 여겨졌습니다. 그런데 딥마인드의 친칠라(Chinchilla) 연구가 판을 바꿨습니다. 고정된 계산 예산 아래에서는 모델 크기와 데이터 양을 균형 있게 늘려야 하며, 파라미터 하나당 대략 20토큰 정도를 학습시켜야 최적이라는 결과입니다. 당시 대형 모델 상당수가 '덩치에 비해 데이터를 덜 학습한' 상태였음이 드러났습니다. 이후 업계는 무작정 파라미터를 늘리기보다 질 좋은 데이터를 더 많이 확보하는 쪽으로 방향을 틀었습니다.

다만 스케일링 법칙에도 한계가 있습니다. 거듭제곱 곡선은 완만하게 꺾이며, 어느 지점을 넘어서면 자원을 아무리 부어도 손실 감소폭이 미미해집니다. 또 이 법칙이 잘 맞히는 것은 평균 손실이지 특정 과제의 능력이 아니어서, 앞의 창발 논쟁에서 본 것처럼 '어떤 일이 언제 되기 시작하는가'는 여전히 직접 재 봐야 압니다.

보완 · 요약 문구와 범위 안내를 바로잡고, 한눈에 보기와 납기 지연 사과 메일 장면, 용어 풀이를 더했으며, 세대순 흐름 뒤에 주제별 절을 모으고 되풀이된 스케일링·환각·GPT-4 예측 설명을 합쳤고, GPT-4 성능 예측 수치를 기술 보고서에 맞게 바로잡고 디코딩 절은 링크로 줄였다. 세대별 공개 연도·파라미터 수·문맥 길이·새로 더해진 것을 한 표로 정리해 더했다.

작성: AI (Claude Opus 4.8)

출처

  1. Improving Language Understanding by Generative Pre-Training (GPT-1)
  2. Language Models are Unsupervised Multitask Learners (GPT-2)
  3. Language Models are Few-Shot Learners (GPT-3)
  4. Training language models to follow instructions with human feedback (InstructGPT)
  5. GPT-4 Technical Report
  6. Scaling Laws for Neural Language Models
뉴스레터로 매주 받아보기 기술 블로그 목록