LLM의 학습은 방대한 텍스트를 읽으며 다음 토큰을 더 잘 예측하도록 수십억 개의 파라미터를 조정하는 과정이고, 추론은 고정된 파라미터를 사용해 입력 다음에 올 토큰을 하나씩 생성하는 과정이다.
앞선 글에서는 인공지능, 머신러닝, 딥러닝과 생성형 AI의 관계를 역사와 분류 관점에서 살펴봤습니다. 그 분류에서 대규모 언어 모델, 즉 LLM은 딥러닝을 기반으로 텍스트를 생성하는 생성형 AI의 한 종류였습니다.
이번에는 분류도 안쪽으로 한 단계 더 들어가 보겠습니다.
ChatGPT나 Claude 같은 서비스에 질문을 입력하면 몇 초 안에 자연스러운 답이 나옵니다. 화면만 보면 모델이 질문을 읽고, 저장된 지식을 검색한 다음, 사람처럼 생각해서 문장을 작성하는 것처럼 보입니다.
하지만 내부에서 일어나는 일은 이 설명과 조금 다릅니다. LLM은 학습 단계에서 언어의 통계적 패턴을 파라미터에 압축하고, 추론 단계에서는 그 파라미터와 현재 문맥을 이용해 다음 토큰의 확률을 계산합니다. 하나의 토큰을 선택하면 그 토큰을 다시 입력에 붙이고, 같은 계산을 반복하면서 문장을 만듭니다.
이 글에서 다루는 내용은 다음과 같습니다.
- 원시 텍스트가 학습 데이터가 되는 과정
- 토큰과 파라미터는 무엇이며 모델은 무엇을 학습하는가
- 사전 학습에서 순전파, 손실 계산과 역전파가 일어나는 방식
- 지도 미세 조정과 선호도 정렬이 필요한 이유
- 추론에서 프리필, KV 캐시와 디코딩이 동작하는 과정
- 온도, Top-k와 Top-p가 답변을 바꾸는 원리
- 학습, 미세 조정, RAG와 추론의 차이

가장 먼저 구분해야 할 두 단계: 학습과 추론
LLM을 이해할 때 가장 중요한 출발점은 학습과 추론을 분리하는 것입니다.
학습은 모델의 파라미터를 바꾸는 과정입니다. 모델이 예측한 다음 토큰과 실제 다음 토큰의 차이를 계산하고, 그 오차가 줄어드는 방향으로 가중치를 조금씩 수정합니다. 이 작업을 수많은 문장과 배치에 걸쳐 반복하면 모델은 단어의 사용 방식, 문장 구조, 개념 사이의 관계와 여러 형태의 문제 해결 패턴을 익히게 됩니다.
추론은 학습이 끝난 모델을 사용하는 과정입니다. 사용자의 프롬프트가 들어와도 일반적인 추론 중에는 모델의 파라미터가 바뀌지 않습니다. 이미 고정된 파라미터와 현재 대화 문맥을 이용해 다음 토큰을 계산할 뿐입니다.
두 과정의 차이를 먼저 표로 정리하면 다음과 같습니다.
| 구분 | 학습 | 추론 |
| 목적 | 다음 토큰 예측 오차를 줄이며 능력을 형성 | 입력에 맞는 출력 토큰을 생성 |
| 파라미터 | 계속 업데이트 | 일반적으로 고정 |
| 주요 입력 | 대규모 학습 데이터와 정답 토큰 | 사용자 프롬프트와 대화 문맥 |
| 계산 방향 | 순전파와 역전파 | 순전파 중심 |
| 병렬 처리 | 많은 토큰과 배치를 병렬 처리 | 프리필은 병렬, 생성은 토큰별 순차 처리 |
| 비용 특성 | 한 번의 학습에 막대한 연산과 시간이 필요 | 요청마다 반복되므로 운영 규모가 비용을 결정 |
| 결과 | 체크포인트 또는 완성된 모델 | 텍스트, 코드와 같은 생성 결과 |
학습은 교과서를 만들고 장기간 훈련하는 과정에 가깝고, 추론은 시험장에서 이미 배운 내용을 사용해 답을 작성하는 과정에 가깝습니다. 다만 이 비유에서도 주의할 점이 있습니다. 사람은 시험을 치르면서도 경험을 축적할 수 있지만, 일반적인 LLM API 호출은 요청이 끝났다고 해서 모델의 기본 파라미터가 자동으로 학습되지는 않습니다.
1단계: 텍스트를 모은다고 바로 학습할 수 있는 것은 아니다
LLM 학습의 첫 단계는 데이터 준비입니다.
웹 문서, 책, 논문, 코드, 질의응답 자료와 대화 데이터처럼 다양한 텍스트를 수집할 수 있지만, 수집한 원문을 그대로 학습에 넣으면 품질과 안전 문제가 생깁니다.
같은 문서가 여러 사이트에 복제돼 있을 수 있고, 자동 생성된 스팸, 의미 없는 문자열, 개인정보, 저작권 문제가 있는 자료, 악성 코드와 유해 콘텐츠가 섞일 수 있습니다. 특정 언어, 지역과 관점의 데이터가 지나치게 많으면 모델의 행동에도 그 편향이 반영됩니다.
따라서 실제 데이터 파이프라인에서는 다음과 같은 작업이 중요합니다.
- 중복 또는 유사 문서 제거
- 문서 품질 판별과 스팸 필터링
- 개인정보와 민감 정보 탐지
- 언어와 도메인 비율 조정
- 지나치게 짧거나 깨진 문서 제거
- 데이터 출처, 사용 권한과 계보 기록
- 학습용, 검증용과 평가용 데이터 분리
모델 구조가 같아도 학습 데이터의 구성과 정제 방식이 다르면 결과는 크게 달라질 수 있습니다. LLM 개발에서 데이터 작업은 단순한 전처리가 아니라 모델의 지식 범위, 문체, 편향과 안전성을 결정하는 핵심 설계 과정입니다.
2단계: 문장을 토큰으로 나눈다
신경망은 문장 자체를 직접 계산하지 못합니다. 텍스트를 숫자로 바꾸기 위해 먼저 토큰화가 필요합니다.
토큰은 모델이 텍스트를 처리하는 기본 단위입니다. 하나의 토큰이 항상 하나의 단어나 한 글자를 의미하는 것은 아닙니다. 자주 등장하는 단어는 한 토큰이 될 수 있고, 드문 단어는 여러 부분으로 나뉠 수 있습니다. 한국어의 조사와 어미, 영어 단어의 접두사와 접미사, 공백과 문장부호도 토크나이저의 규칙에 따라 서로 다른 단위로 분해됩니다.
예를 들어 다음 문장은 모델과 토크나이저에 따라 여러 토큰으로 나뉩니다.
생성형 AI는 문장을 만듭니다.
개념적으로는 다음과 비슷한 형태가 될 수 있습니다.
[생성, 형, AI, 는, 문장, 을, 만듭니다, .]
실제 분할 결과는 모델마다 다릅니다. 중요한 것은 각 토큰이 어휘 사전의 정수 ID로 바뀐다는 점입니다.
[1842, 731, 9274, 118, 5321, 84, 22017, 13]
모델은 이 ID를 임베딩 벡터로 변환합니다. 임베딩은 토큰을 수백 또는 수천 차원의 숫자 배열로 표현한 것입니다. 학습이 진행되면 비슷한 문맥에서 사용되는 토큰은 관련된 방향의 표현을 갖게 되고, 모델은 이 벡터 공간에서 단어와 개념의 관계를 계산합니다.
토큰화는 비용에도 영향을 줍니다. 같은 의미의 문장이라도 언어와 표현 방식에 따라 토큰 수가 달라질 수 있으며, 대부분의 LLM 서비스는 입력과 출력 토큰을 기준으로 비용과 사용량을 계산합니다.
3단계: 다음 토큰 예측으로 언어를 학습한다
많은 자기회귀 LLM의 사전 학습 목표는 놀랄 만큼 단순합니다.
앞에 나온 토큰을 보고 다음 토큰을 예측한다.
다음 문장이 학습 데이터에 있다고 가정해 보겠습니다.
인공지능은 데이터를 통해 패턴을 학습한다.
모델은 한 번에 다음과 같은 여러 예측 문제를 학습할 수 있습니다.
인공지능은 → 데이터를
인공지능은 데이터를 → 통해
인공지능은 데이터를 통해 → 패턴을
인공지능은 데이터를 통해 패턴을 → 학습한다
정답 라벨을 사람이 문장마다 새로 붙이지 않아도, 원문에서 한 칸 뒤의 토큰을 정답으로 사용할 수 있습니다. 이를 자기지도 학습이라고 부릅니다. 인터넷 규모의 방대한 텍스트를 학습 데이터로 활용할 수 있었던 중요한 이유입니다.
그렇다고 모델이 단순히 앞 단어와 다음 단어의 빈도만 외우는 것은 아닙니다. 다양한 문맥에서 다음 토큰을 정확히 맞히려면 문법, 문체, 사실 관계, 문서 구조, 코드 규칙과 개념 사이의 연관성을 내부 표현에 반영해야 합니다.
예를 들어 “대한민국의 수도는” 다음에 올 토큰을 예측하려면 지리 정보를 반영해야 하고, 함수의 시작 부분 다음에 올 코드를 예측하려면 프로그래밍 문법과 앞선 변수의 역할을 추적해야 합니다. 다음 토큰 예측이라는 단순한 목표에서 여러 능력이 함께 나타나는 이유입니다.
4단계: 트랜스포머가 문맥을 계산한다
토큰 ID가 임베딩으로 바뀌면 트랜스포머 층을 통과합니다.
2017년 제안된 트랜스포머의 핵심은 어텐션입니다. 어텐션은 현재 토큰을 처리할 때 문맥 안의 다른 토큰을 얼마나 참고할지 계산합니다.
다음 문장을 보겠습니다.
민수는 노트북을 가방에 넣었다. 그것은 새 제품이었다.
“그것”이 무엇을 가리키는지 판단하려면 앞에 나온 “노트북”과 “가방”의 관계를 살펴봐야 합니다. 셀프 어텐션은 각 토큰에서 Query, Key와 Value 벡터를 만들고, Query와 Key의 유사도를 이용해 어떤 토큰의 Value를 얼마나 섞을지 계산합니다.
개념적으로는 다음과 같습니다.
Attention(Q, K, V) = softmax(QKᵀ / √d) V
여러 개의 어텐션 헤드는 서로 다른 관계에 주목할 수 있습니다. 어떤 헤드는 문법적 관계를, 다른 헤드는 멀리 떨어진 단어 사이의 참조나 주제 관계를 포착할 수 있습니다.
각 트랜스포머 층에는 어텐션뿐 아니라 피드포워드 네트워크, 잔차 연결과 정규화가 포함됩니다. 이 층을 여러 번 통과하면서 토큰 표현은 단순한 단어 벡터에서 현재 문맥을 반영한 표현으로 바뀝니다.
마지막 출력 층은 어휘 사전의 모든 토큰에 대해 점수인 로짓을 만듭니다. 소프트맥스를 적용하면 다음 토큰의 확률 분포를 얻을 수 있습니다.
서울 0.72
부산 0.08
대한민국 0.05
도시 0.03
기타 토큰 0.12
학습 단계에서는 이 분포가 실제 정답 토큰에 높은 확률을 주도록 모델을 수정합니다.
5단계: 틀린 정도를 계산하고 파라미터를 바꾼다
모델이 예측한 확률과 실제 다음 토큰 사이의 차이를 손실이라고 합니다. 다음 토큰 학습에는 보통 교차 엔트로피 손실이 사용됩니다.
정답이 “서울”인데 모델이 “서울”에 0.72의 확률을 줬다면 비교적 손실이 작습니다. 0.01만 줬다면 손실이 큽니다.
손실을 계산한 뒤에는 역전파가 시작됩니다. 미분의 연쇄 법칙을 이용해 출력의 오차가 각 층과 파라미터에 얼마나 영향을 받았는지 기울기를 계산합니다.
그다음 옵티마이저가 기울기를 이용해 파라미터를 조금씩 업데이트합니다.
새 파라미터 = 기존 파라미터 - 학습률 × 기울기
실제 학습에는 Adam 계열 옵티마이저, 학습률 스케줄, 가중치 감쇠와 기울기 클리핑 같은 기법이 함께 사용됩니다. 수식 한 줄은 단순하지만, 수십억 개의 파라미터와 대규모 배치에서 이 계산을 반복하려면 많은 GPU 또는 AI 가속기와 분산 학습 기술이 필요합니다.
학습 과정은 대략 다음 루프로 반복됩니다.
데이터 배치 준비
→ 순전파
→ 다음 토큰 확률 계산
→ 손실 계산
→ 역전파
→ 파라미터 업데이트
→ 다음 배치
중간중간 모델의 파라미터와 옵티마이저 상태를 체크포인트로 저장합니다. 학습 장애가 발생했을 때 복구하거나, 특정 시점의 모델을 평가하고, 이후 미세 조정의 시작점으로 사용하기 위해서입니다.
사전 학습만으로는 좋은 대화형 AI가 되기 어렵다
사전 학습을 마친 모델은 언어와 지식의 패턴을 많이 알고 있지만, 사용자의 지시를 안정적으로 따르는 대화형 도구가 됐다고 보기는 어렵습니다.
웹 문서의 다음 토큰을 잘 예측하는 목표와 “질문에 정확하고 안전하게 답하라”는 목표는 같지 않기 때문입니다. 사전 학습 모델은 질문 뒤에 또 다른 질문을 이어 쓰거나, 불필요하게 긴 문서를 만들거나, 유해한 요청에도 그대로 반응할 수 있습니다.
그래서 사전 학습 이후에는 포스트 트레이닝이 이어집니다.
지도 미세 조정
지도 미세 조정, 즉 SFT에서는 지시와 모범 답변 쌍을 사용합니다.
사용자: 다음 문장을 세 줄로 요약해줘.
도우미: <좋은 요약 답변>
이 데이터를 학습하면 모델은 단순히 인터넷 문장을 이어 쓰는 대신, 사용자와 도우미 역할을 구분하고 지시 형식에 맞는 답을 생성하는 방식을 익힙니다.
사람의 선호를 반영하는 정렬
정답이 하나로 정해지기 어려운 질문도 많습니다. 두 답변이 모두 사실이라도 하나가 더 명확하고 친절할 수 있습니다.
RLHF 방식에서는 사람이 여러 답변의 선호 순위를 표시하고, 이 선호를 예측하는 보상 모델을 학습한 뒤, 언어 모델이 더 높은 보상을 받도록 강화 학습을 적용할 수 있습니다.
DPO와 같은 방식은 선호된 답변과 선호되지 않은 답변의 쌍을 이용해 정책 모델을 직접 최적화합니다. 구현 방식은 다르지만 목표는 비슷합니다. 모델이 사람이 선호하는 유용성, 정직성, 안전성과 문체를 더 잘 따르도록 만드는 것입니다.
사전 학습이 모델의 기반 능력과 넓은 지식 표현을 만든다면, 포스트 트레이닝은 그 능력을 대화형 제품에서 어떤 방식으로 드러낼지 조정합니다.
추론 1단계: 프롬프트를 토큰으로 바꾸고 한꺼번에 읽는다
학습을 마친 모델에 사용자가 다음 질문을 보냈다고 가정해 보겠습니다.
LLM의 학습과 추론 차이를 두 문장으로 설명해줘.
서버는 프롬프트를 토큰화하고 토큰 ID를 모델에 전달합니다. 시스템 프롬프트, 이전 대화, 검색 결과와 도구 실행 결과가 있다면 이 내용도 정해진 형식으로 문맥에 포함됩니다.
모델이 입력 프롬프트 전체를 처음 처리하는 단계를 프리필이라고 합니다. 프리필에서는 입력 토큰들이 트랜스포머 층을 지나며 각 위치의 Key와 Value 벡터가 계산됩니다.
이 결과는 KV 캐시에 저장됩니다. 다음 토큰을 만들 때마다 이전 프롬프트 전체의 Key와 Value를 다시 계산하지 않기 위해서입니다.
프리필은 입력 토큰을 비교적 병렬로 처리할 수 있습니다. 따라서 매우 긴 문서를 입력하면 첫 토큰이 나오기 전 시간이 길어지고 메모리 사용량도 커지지만, 모든 입력 토큰을 반드시 한 글자씩 순차 생성하는 것은 아닙니다.
추론 2단계: 다음 토큰을 하나씩 생성한다
프리필이 끝나면 디코딩이 시작됩니다.
모델은 현재 문맥을 바탕으로 다음 토큰의 로짓과 확률 분포를 계산합니다. 디코더는 그 분포에서 하나의 토큰을 선택합니다.
예를 들어 첫 출력 토큰 후보가 다음과 같을 수 있습니다.
학습은 0.58
LLM의 0.18
두 0.07
모델 0.05
기타 0.12
“학습은”이 선택되면 이 토큰을 문맥 뒤에 붙이고 다시 다음 토큰을 계산합니다.
입력 프롬프트
→ “학습은” 생성
→ “학습은 모델의” 생성
→ “학습은 모델의 파라미터를” 생성
→ 계속 반복
이 과정을 자동회귀 생성이라고 합니다. 새 토큰은 앞에서 생성된 모든 토큰에 의존하므로 출력 생성은 본질적으로 순차적입니다.
KV 캐시는 이전 토큰의 어텐션 Key와 Value를 재사용해 중복 계산을 줄입니다. 하지만 출력이 길어질수록 캐시가 커지고, 매 단계에서 참고해야 할 문맥도 늘어납니다. 긴 문맥과 긴 답변이 지연 시간과 메모리 사용량을 증가시키는 이유입니다.
모델은 종료 토큰을 생성하거나, 설정된 최대 토큰 수에 도달하거나, 서비스가 지정한 중단 문자열을 만나면 생성을 마칩니다.
같은 질문에도 답이 달라지는 이유
모델은 다음 토큰 하나만 내놓는 것이 아니라 전체 어휘에 대한 확률 분포를 계산합니다. 어떤 토큰을 선택할지는 디코딩 전략에 따라 달라집니다.
탐욕적 선택
매 단계에서 확률이 가장 높은 토큰을 선택합니다. 결과가 비교적 일관되지만, 반복적이거나 지나치게 뻔한 문장이 나올 수 있습니다.
온도
온도는 확률 분포의 날카로움을 조절합니다.
- 낮은 온도: 높은 확률의 토큰에 더 집중해 결과가 안정적
- 높은 온도: 낮은 확률의 후보도 선택될 가능성이 커져 결과가 다양
온도가 높다고 모델이 더 똑똑해지는 것은 아닙니다. 다양성과 예측 가능성의 균형을 바꾸는 설정입니다.
Top-k
확률이 높은 상위 k개의 토큰만 후보로 남기고 나머지는 제외합니다.
Top-p
확률을 높은 순서로 더했을 때 누적 확률 p에 도달할 때까지의 후보만 사용합니다. 문맥에 따라 후보 수가 유동적으로 바뀝니다.
정확한 코드나 정형 응답이 필요하면 낮은 온도와 제한적인 디코딩이 유리할 수 있고, 아이디어 발상이나 문체 변형에는 더 다양한 샘플링이 도움이 될 수 있습니다.
모델은 추론하면서 새로 학습할까
일반적인 추론 요청에서는 모델의 파라미터가 바뀌지 않습니다.
사용자가 대화 중에 “내 이름은 민수야”라고 알려주면 모델은 현재 문맥 안에서 그 정보를 참고할 수 있습니다. 그러나 대화가 문맥에서 사라지면 기본 모델이 민수라는 사용자를 영구적으로 학습한 것은 아닙니다.
서비스가 대화 기록을 별도 데이터베이스에 저장하거나, 메모리 기능으로 다시 프롬프트에 넣거나, 이후 학습 데이터로 검토할 수는 있습니다. 하지만 이것은 한 번의 추론 과정에서 파라미터가 즉시 업데이트되는 것과 다릅니다.
추론 중 모델이 여러 단계의 설명을 생성하는 것도 같은 원리입니다. 모델이 출력 토큰을 더 많이 사용해 중간 문제를 분해할 수는 있지만, 그 과정에서 기본 파라미터가 새로 학습되는 것은 아닙니다.
미세 조정과 RAG는 어디에 속할까
LLM 애플리케이션에서는 학습, 미세 조정과 RAG가 자주 혼동됩니다.
미세 조정
미세 조정은 기존 모델을 특정 데이터로 추가 학습해 파라미터를 바꾸는 작업입니다. 전체 파라미터를 업데이트할 수도 있고, LoRA처럼 작은 추가 파라미터만 학습할 수도 있습니다.
특정 문체, 출력 형식과 반복되는 업무 패턴을 모델의 행동에 반영할 때 유용합니다. 다만 최신 사실을 자주 갱신하기 위한 데이터베이스 대용으로 사용하는 것은 관리와 정확성 측면에서 비효율적일 수 있습니다.
RAG
검색 증강 생성, 즉 RAG는 질문과 관련된 문서를 검색해 프롬프트에 넣고 추론하는 방식입니다. 모델의 기본 파라미터를 바꾸지 않습니다.
사용자 질문
→ 관련 문서 검색
→ 질문과 문서를 프롬프트로 구성
→ LLM 추론
→ 답변 생성
자주 바뀌는 사내 문서, 제품 설명서와 정책처럼 출처가 중요하고 최신성이 필요한 지식을 제공할 때 유용합니다.
프롬프트 엔지니어링
프롬프트 엔지니어링도 추론 단계의 입력을 설계하는 작업입니다. 역할, 지시, 예시와 출력 형식을 명확히 해 모델이 이미 가진 능력을 원하는 방향으로 사용하도록 돕습니다. 모델의 파라미터를 직접 바꾸지는 않습니다.
| 방법 | 파라미터 변경 | 외부 문서 사용 | 잘 맞는 목적 |
| 사전 학습 | 예 | 학습 데이터로 사용 | 기반 언어 능력과 폭넓은 표현 형성 |
| 미세 조정 | 예 | 추가 학습 데이터로 사용 | 문체, 형식과 특정 행동 패턴 조정 |
| RAG | 아니요 | 추론 시 검색해 사용 | 최신 사실, 사내 지식과 근거 제공 |
| 프롬프트 엔지니어링 | 아니요 | 입력에 직접 포함 가능 | 지시와 출력 형식 제어 |
왜 학습은 비싸고 추론은 운영 문제가 될까
학습은 순전파뿐 아니라 역전파와 옵티마이저 상태 계산이 필요합니다. 파라미터, 기울기와 옵티마이저 상태를 메모리에 유지해야 하며, 대규모 데이터 배치를 여러 장비에서 처리해야 합니다.
따라서 한 번의 대규모 사전 학습에는 막대한 연산량, 전력, 고속 네트워크와 저장 장치가 필요합니다.
추론은 역전파를 하지 않으므로 한 요청만 보면 학습보다 가볍습니다. 하지만 서비스에서는 수많은 사용자의 요청이 계속 들어옵니다. 입력 길이, 출력 길이, 동시 사용자 수와 응답 속도 목표가 전체 운영 비용을 결정합니다.
추론 시스템에서는 다음 지표가 중요합니다.
- 첫 토큰이 나오기까지 걸리는 시간
- 이후 초당 생성되는 토큰 수
- 동시에 처리할 수 있는 요청 수
- 요청당 GPU 메모리와 KV 캐시 사용량
- 입력과 출력 토큰당 비용
- 응답 품질을 유지하면서 적용할 수 있는 양자화 수준
작은 모델을 사용하거나, 파라미터를 낮은 정밀도로 양자화하거나, 요청을 동적 배치로 묶고, KV 캐시를 효율적으로 관리하면 추론 비용을 줄일 수 있습니다. 반대로 무조건 가장 큰 모델과 가장 긴 문맥을 사용하면 품질 이득보다 지연과 비용 증가가 더 클 수 있습니다.
다음 토큰 예측만으로 왜 틀린 답도 자연스럽게 만들까
LLM은 사실 여부를 직접 판정하는 데이터베이스가 아니라 문맥에 맞는 다음 토큰의 확률을 계산하는 모델입니다.
학습 데이터에 없거나 희박한 질문, 서로 충돌하는 정보, 최신 사건과 모호한 프롬프트를 만나도 모델은 생성을 멈추기보다 그럴듯한 토큰을 이어갈 수 있습니다. 문장이 자연스럽다는 사실과 내용이 참이라는 사실은 같지 않습니다.
환각을 줄이려면 모델 크기만 키우는 것보다 시스템 설계가 중요합니다.
- 최신 또는 사내 자료를 RAG로 제공
- 답변에 출처와 근거를 요구
- 계산과 조회는 검증 가능한 도구에 맡김
- 중요한 결과는 규칙과 별도 검증 모델로 확인
- 모르는 경우 모른다고 답하는 정책 적용
- 평가 데이터로 정확성과 실패 유형을 반복 측정
LLM의 학습 원리를 이해하면 “모델이 많이 배웠으니 항상 사실을 말할 것”이라는 기대가 왜 위험한지 알 수 있습니다.
전체 과정을 한 번에 연결해 보기
LLM의 생애주기를 단순화하면 다음과 같습니다.
원시 데이터 수집
→ 정제·중복 제거·품질 관리
→ 토큰화
→ 사전 학습
→ 평가와 체크포인트 선택
→ 지도 미세 조정
→ 선호도 정렬과 안전성 조정
→ 배포
→ 프롬프트 입력
→ 프리필과 KV 캐시 생성
→ 토큰별 디코딩
→ 결과 검증과 사용자 응답
학습에서는 정답 토큰과의 오차가 역전파되어 파라미터를 바꿉니다. 추론에서는 파라미터를 고정한 채 프롬프트와 지금까지 생성된 토큰을 이용해 다음 토큰을 선택합니다.
이 차이를 이해하면 다음 질문에도 답하기 쉬워집니다.
- 왜 대화 한 번으로 모델이 영구적으로 학습되지 않는가
- 왜 긴 프롬프트가 첫 응답 시간을 늘리는가
- 왜 긴 출력은 토큰 단위로 천천히 생성되는가
- 왜 온도를 바꾸면 같은 질문의 답이 달라지는가
- 왜 최신 지식에는 미세 조정보다 RAG가 더 적합할 수 있는가
- 왜 자연스러운 문장이 반드시 정확한 사실을 의미하지 않는가
LLM은 지식을 한 문장씩 저장해 두었다가 꺼내는 검색 엔진도 아니고, 요청할 때마다 스스로 파라미터를 고치는 시스템도 아닙니다.
학습 단계에서는 대규모 데이터의 패턴을 파라미터에 압축하고, 추론 단계에서는 그 파라미터와 현재 문맥을 이용해 다음 토큰을 반복적으로 생성합니다.
이 단순한 원리를 정확히 이해하는 것이 LLM의 능력과 한계를 과장하지 않고, 필요한 곳에 학습, 미세 조정, RAG와 프롬프트 설계를 올바르게 배치하는 출발점입니다.
참고 자료
- Ashish Vaswani et al., Attention Is All You Need, 2017
- Tom Brown et al., Language Models are Few-Shot Learners, 2020
- Edward Hu et al., LoRA: Low-Rank Adaptation of Large Language Models, 2021
- Long Ouyang et al., Training language models to follow instructions with human feedback, 2022
- Rafael Rafailov et al., Direct Preference Optimization: Your Language Model is Secretly a Reward Model, 2023
'일반IT > AI' 카테고리의 다른 글
| Open WebUI만 있는 것은 아니다 — AI 모델을 위한 오픈소스 UI 6가지 비교 (0) | 2026.07.24 |
|---|---|
| AI로 페이스북 마케팅을 한다는 것 — 클씨랩 프로젝트에서 만든 작은 팀의 광고 시스템 (1) | 2026.07.24 |
| 생성형 AI는 갑자기 나타난 기술이 아니다 — AI 역사와 분류로 이해하는 기존 머신러닝과의 차이 (1) | 2026.07.22 |
| Claude Fable급 모델을 Qwen으로 직접 운영하면 AWS 비용은 얼마일까? (1) | 2026.07.22 |
| 보안 프롬프트 엔지니어링: 페르소나, 스킬, 하네스, 루프 엔지니어링의 이해 (1) | 2026.07.21 |