LLM 학습의 필요성 및 중요성
- 작동 방식의 이해
- LLM을 잘 응용하고 활용하기 위해서는 그 작동 방식을 잘 이해하는 것이 중요합니다. 마치 운전을 할 때 차의 구성 요소를 이해하는 사람이 차의 상태를 더 잘 이해할 수 있는 것과 같습니다.
- 발전 방향 파악
- 트랜스포머 기본 모델 구조를 초기에 잘 이해하지 못하면, LLM이 빠른 속도로 발전하는 이후의 내용을 따라가지 못할 수 있습니다. 논문이나 기사의 이면에 가려진 내용을 이해하는 데 큰 도움이 됩니다.
- 객관적인 판단
- LLM을 지나치게 과대 포장하거나 추상적으로 생각하여 잘못 판단하는, 즉 할루시네이션(Hallucination)에 빠지지 않기 위해서라도 LLM의 실제 작동 방식을 알아둘 필요가 있습니다.
- 호기심 및 우연한 기회
- 단순히 작동 방식이 궁금해서 공부할 수 있으며, 당장 경제성이나 효율성을 따지지 않고 마음이 끌리는 것을 배우는 것이 예상치 못한 긍정적인 결과로 이어질 수 있습니다.
LLM의 정의 및 배경 개념
LLM (대규모 언어 모델)은 인공지능(AI)의 큰 범주 아래, 머신 러닝과 딥러닝(신경망) 모델의 한 종류입니다.
- 신경망 모델
- LLM은 신경망 모델 혹은 딥러닝 모델 중 한 부류이며, 텍스트나 이미지와 같은 데이터를 처리하는 데 뛰어납니다.
- 파라미터
- LLM은 대규모 데이터에서 훈련되며, 수백만에서 수십억 개의 파라미터를 가진 신경망입니다. 이 파라미터는 모델이 가진 노브(knob)나 다이얼로 표현되며, 훈련을 통해 조정되어 원하는 작업에 뛰어난 성능을 내도록 합니다.
- 수학 함수
- 신경망 모델은 하나의 거대한 수학 함수로 표현될 수 있으며, 파라미터는 이 수학 함수의 계수입니다.
- 트랜스포머 구조
- 현재 대부분의 LLM은 트랜스포머(Transformer) 구조를 기반으로 하고 있습니다. 원래 트랜스포머는 기계 번역을 위해 고안된 신경망 구조입니다.
LLM의 학습 방식
머신 러닝 모델 훈련 방식은 크게 지도 학습과 비지도 학습으로 나뉩니다.
- 지도 학습
- 입력과 정답(레이블/타겟)을 사용해서 모델이 패턴을 학습합니다 (예: 이메일과 스팸 여부를 쌍으로 훈련).
- 비지도 학습
- 정답 없이 데이터 자체의 패턴을 학습하며, 차원 축소나 시각화에 사용됩니다.
- LLM의 훈련
- LLM은 일반적으로 크게 보아 비지도 학습 방식을 사용하여 훈련되며, 입력 텍스트를 사용해서 다음 단어를 예측하는 방식으로 사전 훈련됩니다.
트랜스포머의 구조 및 모델 유형
트랜스포머 모델은 'Attention is All You Need' 논문을 통해 소개되었으며, 핵심 구성 요소는 어텐션 메커니즘입니다.
원래 트랜스포머는 크게 **인코더(Encoder)**와 디코더(Decoder) 두 구성 요소로 나뉘어 기계 번역과 같은 작업을 수행했습니다.
- 단어 벡터 (Word Embedding)
- 텍스트를 고정된 크기의 숫자 벡터로 표현하는 아이디어는 트랜스포머와 어텐션 메커니즘 발전의 기초가 되었습니다.
- 인코더 모델
- BERT와 같은 모델이 대표적이며, 입력 문장에서 누락된 블랭크를 채우도록 훈련됩니다. 주로 최종 결과가 하나의 벡터로 나오는 분류 작업 등에 사용됩니다.
- 디코더 모델 : GPT 스타일의 모델이 대표적이며, 현재 우리가 사용하는 대부분의 LLM은 이 디코더 기반 모델입니다.
- 작동 방식
- 초기 텍스트(프롬프트)를 입력받아 다음 단어(토큰)를 하나씩 예측하며 텍스트를 완성해 나갑니다. 이를 자기 회귀(Autoregressive) 모델이라고도 부릅니다.
- 훈련 단계
- 사전 훈련을 통해 텍스트 완성 능력을 갖춘 후, 지시 미세 튜닝(Instruction Fine-tuning)과 같은 추가 훈련을 거쳐 사용자의 지시를 따르도록 기능을 부여합니다.
- 능력
- 다음 단어 예측 훈련을 통해 제로샷(Zero-shot)과 퓨샷(Few-shot) 같은 기능을 부가적으로 얻게 됩니다.
LLM의 주요 애플리케이션
LLM은 텍스트 처리에 뛰어나므로 일상생활과 전문 분야에서 광범위하게 사용됩니다.
- 텍스트 처리 및 지식 추출
- 텍스트 분류, 요약. 일반적인 지식이나 전문적인 텍스트(의료, 법률 등)에서 지식을 추출하는 Q&A 작업.
- 대화 및 검색
- 챗봇 서비스 (ChatGPT, Gemini, Claude 등)의 핵심 기능인 사용자 지시에 따른 응답. 검색 엔진의 결과 개선 (AI 모드) 및 챗봇을 검색 엔진처럼 사용.
- 언어 및 교육
- 언어 번역. 언어 학습 및 교육 전반에 걸쳐 학습 자료 제공, 퀴즈 출제 등을 통한 상호 작용 학습.
- 프로그래밍
- 프로그래밍 코드 작성, 검수, 프로토타입 개발 등 컴퓨터 언어를 다루는 데 활용.
- 멀티모달 (제한적)
- 이미지를 이해하고(캡션 요약, 설명), 응답에 참고하여 응답을 생성할 수 있습니다. 다만, 이 책은 기본 텍스트 기반 트랜스포머 모델 구현에 중점을 둡니다 (이미지 생성은 디퓨전 모델 등 다른 구조 사용).
요약
1단계 (LLM 구축) 데이터 준비 및 샘플링, 기본적인 LLM 구조 이해 및 구축 (어텐션 메커니즘 등).
2단계 (사전 훈련) 파운데이션 모델을 만드는 방법 학습 및 모델 훈련 및 평가.
3단계 (미세 튜닝)분류 미세 튜닝 및 지시를 따르도록 하는 지시 미세 튜닝 방법 학습.
댓글 영역