언어 모델은 어떻게 글을 쓰는가
트랜스포머의 구조를 이해했다면 이제 중요한 질문이 남는다. 그렇게 정교한 구조가 실제로 무엇을 배우길래, 사람처럼 문장을 이어 쓰고 요약하고 번역하고 설명까지 해낼까? 놀랍게도 출발점은 생각보다 소박하다. 언어 모델은 처음부터 "글쓰기"를 배우는 것이 아니다. 그저 다음에 올 토큰을 맞히는 일을 반복해서 배울 뿐이다.
바로 이 지점이 생성형 AI를 이해하는 핵심이다. 언어 모델의 마법은 특별한 비밀 목표에서 나오지 않는다. 아주 단순한 목표를 엄청난 데이터와 계산량으로 밀어붙였더니, 우리가 글쓰기 능력처럼 느끼는 현상이 나타난 것이다.

언어 모델은 사실상 "다음 토큰 맞히기" 기계다
사람이 문장을 읽을 때도 은근히 다음 말을 예상한다. "오늘 날씨가 너무"라는 말을 들으면, 우리는 "좋다", "덥다", "춥다" 같은 후보를 자연스럽게 떠올린다. 언어 모델도 비슷하다. 다만 감각이나 직관 대신, 방대한 텍스트에서 배운 통계적 패턴으로 다음에 올 표현을 계산한다.
예를 들어 모델이 "고양이는 햇볕이 드는 창가에서"라는 문장을 받았다고 해보자. 이때 모델은 다음에 올 수 있는 토큰 후보들에 확률을 붙인다. "잔다"의 확률이 높을 수 있고, "논다"나 "앉아"도 어느 정도 가능할 수 있다. 이 가운데 하나를 고르며 문장이 이어진다. 그리고 새로 생성된 토큰이 다시 입력에 포함되면서, 그다음 토큰을 또 예측한다. 이 과정을 반복하면 문단이 되고, 답변이 되고, 이야기처럼 보이는 결과가 나온다.
즉 언어 모델은 처음부터 완성된 문장을 한 번에 떠올리는 것이 아니다. 한 걸음 앞만 보며 계속 전진하는 방식으로 글을 만든다. 체스를 두는 천재라기보다, 매 순간 가장 그럴듯한 다음 수를 고르는 선수에 가깝다. 그런데 그 한 수가 워낙 정교해지면, 전체 게임도 꽤 그럴듯해 보인다.
토큰화: 언어를 모델이 다룰 수 있는 조각으로 바꾸기
모델은 사람처럼 "단어"를 그대로 이해하지 않는다. 먼저 문장을 토큰이라는 단위로 잘게 나눠야 한다. 토큰은 상황에 따라 하나의 단어일 수도 있고, 단어의 일부일 수도 있으며, 문장부호나 띄어쓰기 패턴의 일부일 수도 있다.
여기서 중요한 점은 토큰이 꼭 우리가 학교에서 배운 문법 단위와 같지 않다는 것이다. 모델에게 토큰은 어디까지나 계산하기 좋은 조각이다. 자주 등장하는 표현은 하나의 토큰이 될 가능성이 높고, 드물거나 긴 단어는 여러 토큰으로 쪼개질 수 있다. 한국어처럼 조사와 어미 변화가 많은 언어는 더욱 그렇다. 영어의 긴 전문 용어, 한국어의 복합 명사, 이모지, 코드 조각도 토큰화 방식에 따라 다르게 나뉜다.
토큰화가 중요한 이유는 두 가지다. 첫째, 모델은 토큰 단위로 학습하고 생성하기 때문이다. 둘째, 토큰 수는 곧 비용과 성능에 직접 연결된다. 같은 문장이라도 어떤 방식으로 토큰화하느냐에 따라 더 짧게 표현될 수도 있고, 더 길게 쪼개질 수도 있다. 문장이 길어질수록 모델이 처리해야 할 계산량도 늘어난다.
간단히 말해 토큰화는 언어를 숫자로 번역하는 첫 번째 관문이다. 우리가 문장을 본다고 생각하는 곳에서, 모델은 사실 토큰 ID의 시퀀스를 본다. "안녕하세요"라는 인사말도 모델 입장에서는 특정 숫자들의 순서일 뿐이다. 하지만 그 숫자들이 수많은 문맥 속에서 반복적으로 등장하면서, 점점 의미의 그림자를 얻게 된다.
문장을 쓴다는 것은 확률 분포를 따라간다는 뜻이다
언어 모델은 정답 하나를 외우는 방식으로 학습하지 않는다. 그 대신 주어진 문맥에서 다음 토큰이 나올 확률 분포를 배우려 한다. 이것이 언어 모델을 이해하는 가장 중요한 감각이다.
예를 들어 "대한민국의 수도는" 다음에는 "서울"이 올 확률이 매우 높다. 하지만 모든 문장이 이렇게 단정적이지는 않다. "비가 오면 나는" 다음에는 "우산을", "집에", "커피를", "산책을" 같은 여러 가능성이 열린다. 모델은 이 가능성들을 숫자로 표현한다. 그리고 학습 과정에서는 실제 정답 토큰의 확률이 높아지도록 가중치를 조정한다.
이런 관점에서 보면 언어 모델은 문장을 "이해"한다기보다, 문맥에 맞는 다음 표현들의 지형을 그린다고 볼 수 있다. 어떤 말이 자연스럽고, 어떤 말이 어색하며, 어떤 조합이 자주 함께 나타나는지 점점 정교하게 익힌다. 이 분포를 잘 배운 모델일수록 문장이 유창해지고, 스타일이 안정되며, 질문에 더 그럴듯하게 반응한다.
우리가 모델의 출력을 읽으며 "생각을 했다"고 느끼는 순간도 사실은 이 확률 분포의 결과인 경우가 많다. 물론 단순한 자동완성과는 차원이 다르다. 문장 몇 개 뒤를 내다보는 패턴, 문서 전체의 구조, 특정 장르의 문체, 질문과 답변의 관계까지 학습했기 때문이다. 하지만 근본 메커니즘은 여전히 같다. 문맥을 보고 다음 토큰의 확률을 계산하는 일이다.
다음 토큰 예측이 왜 이렇게 강력해졌을까
여기서 많은 독자가 한 번 멈칫한다. "정말 그게 전부인가? 다음 단어 맞히기만 해서 요약, 번역, 코딩, 설명까지 가능하다고?" 직관적으로는 잘 믿기지 않는다. 하지만 언어는 생각보다 많은 정보가 다음 표현 속에 녹아 있다.
문법을 보자. 조사가 무엇인지, 시제가 어떻게 이어지는지, 주어와 서술어가 어떻게 호응하는지는 다음 토큰을 잘 예측하려면 반드시 배워야 한다. 상식도 마찬가지다. "얼음은 보통" 다음에 무엇이 자연스러운지 알려면 세계에 대한 패턴을 어느 정도 알아야 한다. 스타일도 그렇다. 법률 문서, 소설, 이메일, 코드, 논문 초록은 다음 토큰의 분포가 서로 다르다.
결국 다음 토큰 예측은 겉보기에 단순하지만, 그 문제를 잘 풀기 위해서는 언어의 여러 층위를 함께 배워야 한다. 문법, 의미, 지식, 어조, 형식, 담화 구조가 한데 얽혀 들어온다. 마치 축구에서 공을 잘 차는 법만 배우는 줄 알았는데, 위치 선정, 패스 타이밍, 공간 이해, 체력, 심리전까지 다 필요하다는 사실을 뒤늦게 깨닫는 것과 비슷하다.
자기지도 사전학습: 라벨 없이 세상을 읽는 법
전통적인 머신러닝에서는 데이터마다 정답 라벨이 필요하다고 생각하기 쉽다. 고양이 사진에는 "고양이", 스팸 메일에는 "스팸" 같은 표지가 붙어 있어야 학습할 수 있다는 식이다. 하지만 언어 모델은 다른 길을 택했다. 인터넷의 방대한 텍스트에는 사람이 일일이 붙인 라벨이 없어도, 텍스트 자체가 이미 학습 재료가 된다.
이것이 자기지도학습의 핵심이다. 문장 일부를 입력으로 주고, 그다음 토큰을 맞히게 하면 정답은 원래 텍스트 안에 이미 들어 있다. 다시 말해 데이터가 스스로 문제와 정답을 동시에 제공한다. 그래서 대규모 텍스트를 거의 끝없이 활용할 수 있다.
이렇게 이루어지는 대규모 초기 학습을 사전학습이라고 부른다. 모델은 책, 기사, 웹문서, 코드, 대화문 같은 수많은 텍스트를 읽으며 언어의 패턴을 흡수한다. 이 단계에서 모델은 특정 회사의 FAQ만 배우는 것이 아니라, 언어 전반의 구조를 익힌다. 문법도 배우고, 설명하는 법도 배우고, 자주 함께 등장하는 개념들 사이의 관계도 배운다.
이 과정은 아이가 세상을 배우는 방식과 약간 닮아 있다. 누군가 매 순간 정답지를 주지 않아도, 엄청난 양의 문장을 접하면서 언어 감각이 생긴다. 다만 모델은 의미를 몸으로 체험하지 못한다는 점에서 사람과 다르다. 모델이 배우는 것은 어디까지나 텍스트 안에 압축된 세계의 흔적이다.
그래서 언어 모델은 때때로 놀라운 설명 능력을 보이면서도, 너무 당연한 현실 감각에서는 어긋난 답을 내놓을 수 있다. 많이 읽었지만 직접 살아본 적은 없는 학생과 비슷한 면이 있다.
사전학습은 문법만이 아니라 스타일과 지식도 흡수한다
자기지도 사전학습이 강력한 이유는 한 가지 기능만 배우지 않기 때문이다. 다음 토큰 예측을 계속하다 보면 모델은 자연스럽게 여러 층위의 패턴을 함께 익힌다.
문법과 문장 구조: 어순, 조사, 시제, 문장 호응
의미와 문맥: 어떤 단어들이 어떤 상황에서 함께 쓰이는지
스타일과 형식: 뉴스체, 대화체, 보고서체, 코드 스타일
지식의 흔적: 인물, 사건, 개념, 관계에 대한 텍스트 기반 패턴
이때 조심할 점도 있다. 모델이 지식을 "보유"한다고 말할 때, 그 지식은 데이터베이스처럼 깔끔하게 저장된 사실 목록이 아니다. 더 정확히는 수많은 문맥 속 통계적 관계가 가중치에 압축된 상태라고 보는 편이 맞다. 그래서 어떤 질문에는 놀랄 만큼 정확하지만, 어떤 질문에는 자신감 있게 틀릴 수 있다.
즉 모델은 백과사전을 그대로 암기한 존재가 아니라, 언어 속 반복 패턴을 대규모로 압축한 시스템이다. 이 점을 이해해야 다음 장에서 다룰 LLM과 파운데이션 모델도 제대로 보인다.
프롬프트는 질문이 아니라 "시작 문맥"이다
언어 모델은 프롬프트를 읽고 답한다. 그런데 프롬프트를 단순히 "질문"이라고만 생각하면 중요한 부분을 놓치기 쉽다. 모델에게 프롬프트는 더 넓게 보면 이어서 생성해야 할 텍스트의 시작 부분이다.
예를 들어 "프랑스 혁명을 초등학생도 이해하게 설명해줘"라는 프롬프트가 들어가면, 모델은 이 문맥 뒤에 어떤 톤과 구조의 답이 이어질 가능성이 높은지 계산한다. 반대로 "다음 문장을 법률 문체로 바꿔라"라고 하면, 이제 모델은 법률 문서 스타일의 다음 토큰 분포를 따라가게 된다.
이 말은 곧 프롬프트가 모델의 능력을 새로 만드는 것이 아니라, 이미 학습한 능력 가운데 어떤 경로를 꺼내 쓸지 유도하는 역할을 한다는 뜻이다. 같은 모델이라도 프롬프트가 달라지면 전혀 다른 성격을 띠는 이유가 여기에 있다.
좋은 프롬프트는 모델에게 애매한 여지를 줄이는 프롬프트다. 무엇을 원하는지, 어떤 형식이 필요한지, 어떤 수준으로 설명해야 하는지, 무엇을 하지 말아야 하는지를 분명히 해주면 모델은 더 안정적인 분포를 따라 생성할 수 있다. 반대로 입력이 모호하면 모델은 그럴듯한 방향을 추측해야 하고, 그만큼 결과의 일관성도 흔들린다.
생성은 결정이 아니라 샘플링이다
모델이 다음 토큰 후보들에 확률을 붙였다고 해서, 항상 가장 확률이 높은 토큰만 고르는 것은 아니다. 그렇게 하면 답이 지나치게 단조롭고 반복적일 수 있다. 그래서 실제 생성에서는 확률 분포를 바탕으로 샘플링을 수행한다.
샘플링은 쉽게 말해 후보들 중 하나를 확률적으로 뽑는 과정이다. 확률이 높은 후보가 더 자주 뽑히지만, 경우에 따라 두 번째나 세 번째 후보도 선택될 수 있다. 이 작은 차이가 결과물의 다양성, 창의성, 안정성에 큰 영향을 준다.
여기서 자주 등장하는 설정이 온도다. 온도는 확률 분포를 얼마나 날카롭게 혹은 평평하게 만들지 조절하는 손잡이로 생각하면 된다. 온도가 낮으면 모델은 상위 후보에 더 보수적으로 매달리고, 온도가 높으면 덜 유력한 후보도 더 쉽게 선택한다.
낮은 온도에서는 다음과 같은 특징이 나타나기 쉽다.
답변이 안정적이고 예측 가능하다
사실형 질문에 비교적 유리하다
표현이 다소 평범하고 반복적일 수 있다
높은 온도에서는 반대 성향이 강해진다.
표현이 다양하고 창의적으로 보일 수 있다
이야기 생성이나 아이디어 발산에 유리할 수 있다
헛소리나 일관성 붕괴가 늘어날 수 있다
즉 생성 품질은 모델 자체만이 아니라 추론 설정에도 크게 좌우된다. 같은 모델인데도 어느 날은 또렷하고, 어느 날은 산만하게 느껴지는 이유 중 하나가 바로 여기에 있다.
왜 어떤 답은 자연스럽고, 어떤 답은 헛소리일까
언어 모델은 확률적으로 가장 그럴듯한 다음 토큰을 이어 붙인다. 그런데 여기서 중요한 함정이 있다. 그럴듯함과 사실임은 같은 것이 아니다.
모델은 문장 형태를 잘 맞춘다. 문법도 자연스럽고, 설명 구조도 그럴듯하며, 자신감 있는 어조도 쉽게 낸다. 하지만 외부 세계를 직접 확인하는 능력이 없으면, 틀린 정보를 아주 매끈한 문장으로 만들어낼 수 있다. 이것이 나중에 더 자세히 다룰 환각의 출발점이다.
또한 모델은 긴 문맥을 따라가며 답하더라도, 실제로는 매 단계에서 다음 토큰을 고르는 일을 반복할 뿐이다. 그래서 전체적으로는 일관돼 보이지만, 중간중간 미세한 오류가 쌓여 논리가 어긋나기도 한다. 한 문장 한 문장은 멀쩡한데, 전체 문단을 읽으면 뭔가 미끄러지는 느낌이 드는 이유다.
이 점을 이해하면 언어 모델을 대하는 태도도 달라진다. 모델은 만능 지식인이 아니라, 확률적으로 매우 정교한 텍스트 생성기다. 훌륭한 비서가 될 수는 있어도, 무조건 믿어도 되는 최종 심판은 아니다.
언어 모델의 능력은 어디까지일까
그럼에도 언어 모델은 놀랄 만큼 많은 일을 해낸다. 이유는 분명하다. 사람의 수많은 지적 작업이 결국 언어를 다루는 일과 연결되어 있기 때문이다. 요약, 번역, 분류, 문체 변환, 질의응답, 초안 작성, 코드 작성 보조까지, 겉으로는 서로 다른 작업도 언어 모델 관점에서는 "적절한 다음 토큰을 이어 가는 일"로 통일될 수 있다.
이 통일성이 바로 언어 모델의 강점이다. 과거에는 작업마다 별도 모델을 만들던 일이 많았다. 하지만 언어 모델은 하나의 큰 시스템이 프롬프트에 따라 여러 역할을 수행할 수 있게 만들었다. 같은 엔진이 선생님, 편집자, 번역가, 요약기, 검색 보조 도구처럼 행동하는 것이다.
다만 한계도 분명하다. 언어 모델은 다음과 같은 문제를 자주 드러낸다.
사실 검증 없이 그럴듯한 답을 만든다
복잡한 추론에서 중간 단계가 흔들릴 수 있다
학습 데이터의 편향을 답변에 반영할 수 있다
최신 정보나 사내 문서처럼 학습에 없던 정보는 바로 알지 못한다
그래서 실제 서비스에서는 언어 모델 하나만 던져두지 않는다. 검색을 붙이고, 도구를 연결하고, 평가 체계를 만들고, 안전 장치를 더한다. 이 책의 뒤쪽에서 다룰 RAG, 파인튜닝, 에이전트, 모델 운영이 모두 그 연장선에 있다.
글쓰기를 배우는 것이 아니라, 언어의 세계를 압축한다
이 장의 핵심을 한 문장으로 정리하면 이렇다. 언어 모델은 "글을 쓰는 법"을 직접 배우기보다, 언어 세계에서 다음 표현이 어떻게 이어지는지를 대규모로 압축한 결과로 글을 쓸 수 있게 된다.
토큰화는 언어를 계산 가능한 조각으로 바꾸고, 다음 토큰 예측은 그 조각들의 연결 법칙을 학습하게 만든다. 자기지도 사전학습은 라벨 없는 텍스트에서 문법, 지식, 스타일을 빨아들이는 엔진이 되고, 프롬프트와 샘플링은 이미 배운 능력을 어떤 방식으로 꺼내 쓸지 조정한다.
이제 우리는 생성형 AI의 가장 중요한 비밀 하나를 손에 넣었다. 언어 모델의 능력은 신비로운 의식에서 나온 것이 아니라, 단순한 목표를 엄청난 규모로 학습한 결과라는 사실이다. 바로 이 단순함이 오히려 강력했다.
다음 장에서는 여기서 한 걸음 더 나아가 보자. 같은 언어 모델이라도 왜 어떤 모델은 단순한 자동완성을 넘어서, 지시를 따르고, 긴 문맥을 활용하고, 여러 작업을 한 몸처럼 수행할까? 그 질문에 답하려면 이제 LLM과 파운데이션 모델이라는 더 큰 그림으로 들어가야 한다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
