해당 영상을 보고 정리한 내용입니다.
LLM의 정의와 ChatGPT의 역할
- LLM은 인터넷상의 방대한 텍스트 데이터를 학습하여 인간 언어의 패턴을 익힌 거대 신경망 모델이다.
- LLM은 주어진 이전 단어들의 문맥을 바탕으로 다음에 올 단어를 예측하도록 훈련되며, 이렇게 학습된 모델은 번역, 요약, 질의응답 등 다양한 언어 업무를 수행할 수 있다.
- ChatGPT는 이러한 LLM 기술을 기반으로 만들어진 대화형 인공지능으로, OpenAI의 GPT 계열 모델에 사용자의 지시에 따라 응답하도록 추가 훈련(미세조정)된 사례이다.
- 간단히 말해 ChatGPT는 LLM에 대화 및 명령 수행 능력을 덧붙인 것으로 볼 수 있다. 이를 통해 ChatGPT는 단순한 언어 예측을 넘어, 사용자와 대화하고 유용한 정보를 제공하는 AI 어시스턴트의 역할을 수행한다.
Base Model vs. Instruction Tuning
LLM 개발에서는 base model과 instruction-tuned model(지시/명령 조정된 모델)을 구분한다.
- Base model은 방대한 텍스트 코퍼스로 사전 학습된 순수 언어 모델로서, 어떤 입력에 대해 다음 토큰을 예측하는 것만을 학습한다. 특별한 지시 없이 그저 통계적으로 그럴듯한 문장을 만들어낼 뿐이다.
- Instruction tuned model은 인간이 주는 지시나 질문에 유용하게 답하도록 추가 훈련된 LLM이다. 예를 들어 ChatGPT의 경우 대화 형식의 지도학습과 사용자 피드백에 기반한 강화학습을 거쳐 사용자의 의도를 따라 응답하는 법을 배우게 된다.
즉, base model이 언어의 일반적 패턴을 학습한 상태라면, instruction-tuned model은 그 위에 “사용자 지시에 따른 답변 능력”을 갖추도록 미세하게 튜닝된 모델이라고 할 수 있다.
LLM 사전 훈련 (Pretraining) 과정
LLM의 성능은 사전 훈련 단계에서 어떻게 방대한 지식을 습득하였는지에 달려 있다. 이 단계에서는 인터넷상의 텍스트로부터 데이터를 모으고, 신경망이 언어 패턴을 학습하도록 거대한 base model을 만들어낸다.
사전 훈련 과정의 주요 요소는 다음과 같다
- 데이터 수집 : Common Crawl과 같은 프로젝트를 통해 전 세계 웹페이지를 크롤링하여 방대한 말뭉치 수집
- 정제 단계 : 유해/스팸/저품질 콘텐츠 필터링, HTML, 스크립트 제거 및 본문 추출, 언어 분류 후 주요 언어(예: 영어) 중심 필터링, 개인정보(PII) 제거 등
- 정제단계를 거쳐 고품질의 텍스트 데이터셋 확보 → LLM 사전학습 데이터로 사용
- 토큰화 : 텍스트를 BPE(Byte Pair Encoding) 방식 등으로 분할
- 텍스트 데이터를 신경망에 넣을수는 없기에 토큰화 기법 (글자를 토큰 단위의 숫자 시퀀스로 변환) 사용
- 목표 : 텍스트를 일정한 크기의 vocabulary 목록으로 분할
- 목록이 너무 작으면 매우 많은 토큰으로 쪼개고, 너무 크면 드물게 쓰이는 거대한 사전 관리가 비효율
- 약 10만개 내외의 어휘 집합이 토큰화 효율과 모델 효율의 균형을 맞추는 적정선으로 알려짐
- Byte Pair Encoding : 모든 문자를 UTF-8 바이트 시퀀스로 변형 후, 빈번한 바이트 조합을 하나의 단위로 묶는 토큰화 방법 (링크 참조 : 자세한 설명)
- 철자 단위의 단어 목록을 만든다
- 가장 빈도수가 높은 단어 Pair를 Token으로 추가한다 → 유의미한 단어로 추정
- 토큰화 결과 예시 : 문장 - ChatGPT is amazing → 정수 ID 시퀀스 [Chat, GPT, is, ama, ##zing]
- Transformer 구조 기반 학습 : Self-attention으로 문맥내 단어간 관계 학습 → 전체 문장을 한번에 처리해 멀리떨어진 단어 간의 의존성(장기의존성)까지 포착하여 일관된 문맥 이해 가능
- 학습 목표 : Cross-Entropy Loss 기반으로 모델의 오차를 최소화하여 모델 최적화 → 주어진 문맥 다음 등장할 토큰 예측
- 모델의 오차 : 모델의 출력 확률 분포와 정답 토큰(훈련 데이터에서 다음에 나온 실제 단어) 사이의 차이
- 모델은 오차를 줄이는 방향으로 파라미터를 조정하며, 이러한 최적화 과정을 역전파 알고리즘으로 수행
LLM의 추론 단계 (Inference)
사전 학습을 마친 LLM은 이제 새로운 입력에 대해 언어 생성을 할 수 있다. 이 사용 단계(inference)에서, 모델은 사용자의 입력(prompt)을 토큰화된 형태로 받아들인 뒤, 그에 이어질 적절한 출력 텍스트를 한 토큰씩 생성한다.
추론 과정은 다음과 같이 이루어진다
- 시작 토큰 추가: 모델은 일반적으로 문장의 시작을 알리는 <BOS> (Beginning Of Sequence)와 같은 특수 시작 토큰을 먼저 입력받아 생성을 개시한다.
- 토큰별 다음 단어 예측: 현재까지 생성된 모든 토큰(초기에는 사용자의 입력 토큰들 plus 시작 토큰)을 고려하여 다음에 올 토큰의 확률 분포를 계산한다. 트랜스포머 모델은 지금까지의 문맥을 바탕으로 각 어휘 항목에 대한 출현 확률을 출력하며, 이 확률분포에서 가장 그럴듯한 후보를 선택하거나 무작위 샘플링한다.
- Greedy Decoding : 확률이 높은 단어를 선택
- 확률적 샘플링 : Temperature 조절 및 Top-K 샘플링의 방식으로 창의성이 높은 다양한 답변 생성가능
- 토큰 추가 및 반복: 선택된 단어를 출력 문장에 추가한 뒤, 그 문장을 다시 모델의 입력 컨텍스트에 포함시켜 다음 토큰을 예측한다. 이렇게 생성-예측 과정을 반복하면서 모델은 토큰을 하나씩 이어붙여 문장을 만들어간다.
- 종료 조건: 모델이 특별한 종료 토큰 <EOS>(End Of Sequence)를 출력하거나, 사전에 정해둔 최대 생성 길이에 도달하면 문장 생성을 멈춘다. 완성된 출력 문장은 사용자가 읽을 수 있는 형태로 디코딩되어 제공된다.
이러한 추론 메커니즘은 확률적 예측에 기반하고 있으므로, 동일한 입력도 매번 조금씩 다른 출력을 낼 수 있다.
특히 확률적 샘플링을 도입하면 창의적인 답변을 얻는 대신 출력의 일관성이 떨어질 수 있고, 반대로 항상 최고 확률 토큰만 고르면 문장이 반복되거나 상투적인 응답이 생길 수 있다.
따라서 실제 ChatGPT와 같은 서비스는 샘플링 기법 조정이나 반복 억제 알고리즘 등을 활용하여 응답의 품질과 다양성 사이 균형을 맞추고 있다.
대화형 어시스턴트로의 후속 학습 (Post-training)
기본 사전 학습만 거친 LLM은 언어 생성 능력은 뛰어나지만, 곧바로 사람과 상호작용하는 어시스턴트 역할을 하기에는 부족하다. 예컨대, 질문을 하면 엉뚱한 방향으로 중언부언하거나, 사용자의 의도를 제대로 반영하지 못할 수 있다. 따라서 ChatGPT와 같은 모델을 만들려면 사전 학습된 기반 모델을 사람에게 유용한 형태로 추가 훈련하는 후속 학습 단계가 필요하다.
이 단계에서 모델은 대화 능력과 지시 이행 능력을 얻게 되며, 주요 절차는 다음과 같다
- 대화 데이터셋 구축 및 지도 학습
- 먼저 사람의 질문-답변 쌍, 명령-응답 쌍 등으로 이루어진 고품질 대화형 데이터셋을 준비한다. 이 데이터는 사용자의 입력에 대해 모범적인 답변(예: 인간 전문가가 작성한 정답이나 바람직한 응답)을 포함하며, 모델이 어떻게 대화하고 문제를 풀어야 하는지 직접 학습할 수 있는 교본 역할을 한다.
- 이렇게 구축된 데이터셋을 활용하여 지도 학습(Supervised Fine-Tuning, SFT)을 진행하는데, 이는 기존의 기반 모델이 해당 질문들에 대해 정답과 유사한 출력을 내도록 파인튜닝하는 과정이다.
- 예를 들어 “사용자: … 질문” -> “모델: … 답변” 형식의 대화 예시들을 모델에 보여주고, 모델이 답변을 생성하면 정답과의 오차를 계산하여 모델 파라미터를 조정한다.
- 이처럼 인스트럭션 튜닝(instruction tuning)을 거친 모델은 이전보다 사용자 명령을 따르는 성향이 크게 향상된다. 이 단계만으로도 모델은 질문에 보다 직접적으로 답하고, 대화의 형식을 갖추는 등 어시스턴트로서의 기본기를 갖추게 된다.
- 먼저 사람의 질문-답변 쌍, 명령-응답 쌍 등으로 이루어진 고품질 대화형 데이터셋을 준비한다. 이 데이터는 사용자의 입력에 대해 모범적인 답변(예: 인간 전문가가 작성한 정답이나 바람직한 응답)을 포함하며, 모델이 어떻게 대화하고 문제를 풀어야 하는지 직접 학습할 수 있는 교본 역할을 한다.
- 인간 피드백을 활용한 강화 학습(RLHF)
- 인간과 상호작용하는 AI의 특성상, 단순 지도학습만으로는 해결하기 어려운 영역들이 남아 있다. 특히 정답이 정해져있지 않은 주관적인 요청들에 대응하는 품질을 높이기 위해 도입된 방법이 인간 피드백을 통한 강화학습(Reinforcement Learning from Human Feedback)이다.
- 이 절차에서는 실제 사람 평가자가 모델이 만들어낸 여러 답변을 비교하여 어느 쪽이 더 나은지 표시하는 방식으로 데이터를 생성한다 . 예를 들어 모델에게 동일한 질문에 대해 약간씩 다른 답변을 여러 개 생성하게 한 뒤, 사람이 가장 만족스러운 답변순으로 순위를 매긴다.
- 그 결과를 활용하여 보상 모델(Reward Model)이라는 별도의 신경망을 훈련하는데, 이 보상 모델은 어떤 답변이 사람 선호도가 높을지를 예측하도록 학습된다. 마지막으로, 이 보상 모델이 높은 점수를 주는 방향으로 LLM의 출력을 향상시키도록 강화 학습 알고리즘(예: Proximal Policy Optimization 등)을 적용하여 LLM 자체를 다시 훈련시킨다.
- 인간과 상호작용하는 AI의 특성상, 단순 지도학습만으로는 해결하기 어려운 영역들이 남아 있다. 특히 정답이 정해져있지 않은 주관적인 요청들에 대응하는 품질을 높이기 위해 도입된 방법이 인간 피드백을 통한 강화학습(Reinforcement Learning from Human Feedback)이다.
'오픈소스 컨트리뷰션 아카데미 2025' 카테고리의 다른 글
| PR Agent 아키텍처, 명령어별 세부 동작 흐름, 환경 세팅 (1) | 2025.05.04 |
|---|