Developer's Development
3.3.9 [LLM] 기초 및 응용 본문
LLM의 이해
LLM(Large Language Model)은 대규모 데이터를 기반으로 학습된 초거대 언어 모델로, 자연어 생성, 번역, 요약 등 다양한 언어 관련 작업을 수행할 수 있는 딥러닝 모델이다.
- LLM의 등장 (GPT-3)
👉🏻 발전 과정
기존 RNN → LSTM → Transformer 구조로 발전
Transformer 기반의 언어 모델들이 등장하며 LLM 시대 개막
👉🏻 GPT-3란
OpenAI에서 개발한 초거대 언어 모델
1750억 개의 파라미터를 사용해 강력한 언어 생성 능력을 갖춤
👉🏻 등장 배경
컴퓨팅 자원의 발전과 대규모 데이터 활용 기술의 발전으로 가능해짐
기존 모델보다 훨씬 큰 파라미터를 통해 복잡한 문맥 이해
👉🏻 특징
광범위한 자연어 처리 작업 가능: 텍스트 생성, 번역, 코딩 등
사전 학습(Pre-training) 후 추가 학습 없이도 다양한 작업 수행
👉🏻 이전 모델과의 비교
GPT-2(15억 개 파라미터) 대비 비약적인 성능 향상
BERT, T5 등의 모델과 차별화된 자기회귀(Auto-regressive) 방식 채택
- Pre-training 단계 (사전훈련)
대규모 데이터셋에서 언어의 구조와 의미를 학습하고, 주로 다음 단어를 예측하는 방식으로 학습한다.
👉🏻 사전 학습 방식
- 자기회귀(Auto-regressive) 모델(GPT 계열): 한 방향(왼쪽 → 오른쪽)으로 학습하며, 다음 단어 예측
- 마스크드 언어 모델(Masked Language Model, BERT 계열): 문장 내 일부 단어를 마스킹하여 예측하도록 학습
❓Fine-tuning과 차이점
- Pre-training은 일반적인 언어 이해 학습
- Fine-tuning은 특정 작업에 맞게 추가 학습
[Fine-tuning의 발전]
- Instruction-tuning: 명령어 기반으로 모델을 미세 조정
- RLHF(Reinforcement Learning from Human Feedback): 인간 피드백을 활용한 강화 학습으로 성능 향상
- 인컨텍스트러닝 (In-context Learning)
모델이 별도의 추가 학습 없이 입력 맥락(Context)만으로 문제를 해결하는 기법이다.
ex)
- 간단한 단어 패턴 학습: 입력 프롬프트(예제)를 제공하면, 모델이 이를 기반으로 규칙을 찾아 적절한 답변을 생성
- 번역 모델: 프롬프트만 제공하고, 별도의 예제 없이 모델이 문제를 해결
- 이메일 분류: 몇 개의 예제를 제공하면, 모델이 해당 패턴을 인식하여 예측 가능
- 코드 자동 생성: 한 개의 예제만 보고, 비슷한 코드를 생성
- LLM을 이용한 질의응답: 질문과 답변 예제를 제공하여, 모델이 맥락을 이해한 뒤 새로운 질문에 답변
- LLM의 종류
| 모델명 | 특징 | 학습 방식 | 주요 용도 |
| GPT (Generative Pre-trained Transformer) |
자기회귀 방식 (Autoregressive)으로 다음 단어를 예측하여 생성 |
단방향 (왼쪽 → 오른쪽) 학습 | 텍스트 생성, 문서 작성, 코딩 보조 |
| BERT (Bidirectical Encoder Representations from Transformers) |
양방향 학습을 통해 문맥 이해를 강화 | 양방향 학습 (좌우 문맥을 모두 활용) | 문장 이해, 질의응답(QA), 감성분석 |
| TS (Text-to-Text Transfer Transformer) |
모든 자연어 처리를 텍스트 입력-출력 문제로 변환하는 범용 모델 | Seq2Seq (인코더-디코더 구조) | 번역, 요약, 문서 생성. 문법 교정 |
| ChatGPT | GPT 기반으로 대화형 작업에 최적화된 모델 | 자기회귀 학습 + Reinforcement Learning from Human Feedback(RLHF) |
챗봇, 고객 지원, 대화형 AI |
| Claude | Anthropic에서 개발한 AI 모델로, 안전성과 윤리적 고려를 강화 | 자기회귀 학습 + RLHF | 대화형 AI, 문서 작성, 코딩 보조 |
| Gemini (구 Bard) |
Google DeepMind에서 개발한 멀티모달 모델로, 이미지, 음성 등도 처리 가능 | Transformer 기반, 멀티모달 학습 | 대화형 AI, 검색, 멀티모달 생성 |
| LLaMA (Large Language Model Meta AI) |
Meta에서 개발한 경량화된 LLM, 연구 및 오픈소스 AI 용도로 사용 | 자기회귀 학습 | 연구용 LLM, 로컬 AI 모델 실행 |
- LLM의 활용 사례
1. 텍스트 생성: 소설, 기사 작성
2. 코딩 보조: 코드 자동 완성
3. 고객 응대: 챗봇 시스템
4. 교육 보조: 문제 풀이 및 설명 제공
5. 과학 논문 요약: 복잡한 연구 논문의 핵심 요약
6. 법률 문서 분석: 계약서, 법률 문서 해석 지원
7. 의료 상담 보조: AI 기반 의료 지식 제공
- LLM의 한계 및 윤리적 문제
👉🏻 할루시네이션
환각(Hallucination)이란 모델이 사실이 아닌 정보를 생성하는 것으로, 학습 데이터의 불완전성, 과도한 일반화로 인해 발생한다.
- 보완 방법
: 지식 그래프 활용: 외부 데이터와 연결
: Fact-checking: 출력 결과 검증
👉🏻 다른 한계점
1. 편향(Bias): 학습 데이터에 존재하는 편향이 반영될 가능성
2. 프라이버시 문제: 사용자 입력 데이터의 유출 가능성
3. 계산 비용(비효율성): 모델 크기와 컴퓨팅 자원의 부담 증가
- 최신 LLM 동향
👉🏻 OpenAI - ChatGPT 5
코딩과 에이전트 기반(agentic) 작업에 최적화
코딩에서 특히 뛰어난 성능을 보임
개발자 협업에 이상적인 모델
에이전트형 작업수행 능력도 크게 향상됨
gpt-oss-120b, gpt-oss-20b 등 open-weight 모델 공개
👉🏻 Anthropic - Claude 4
도구 사용을 통한 확장된 사고 (웹 검색 등)
복잡한 장기 작업 수행 능력이 뛰어남
👉🏻 Meta - LLaMA 4
다양한 파라미터 크기를 제공하는 오픈소스 모델
Mixture-of-Experts(MoE) 아키텍처 채택으로 파라미터는 17B 수준으로 유지하면서 대규모 모델 구현 가능
멀티모달 설계
맥락 길이 확장
👉🏻 Google - Gemini 2.5
텍스트, 이미지, 오디오, 비디오 통합 입력
1M 토큰 컨텍스트 지원
복잡한 추론과 실시간 멀티모달 처리 강점
'Deep Think' 모드는 다단계 사고 및 강화된 복잡 추론에 특화함
👉🏻 DeepSeek - DeepSeek R1
고급 추론 기능을 통해 복잡한 문제를 보다 효과적으로 해결하여 심층적인 분석 기술이 필요한 애플리케이션에 적합
685B를 갖춘 인상적인 아키텍처를 자랑하는 open-weight 모델
👉🏻 xAI - Grok 4
Elon Musk의 AI 회사 xAI에서 개발중인 모델
256K 토큰 컨텍스트 및 멀티모달 지원
LLM의 사용
- 프롬프트 (Prompt)
모델에게 작업을 요청하는 입력 텍스트이다.
👉🏻 프롬프트 설계의 중요성: 명확하고 구체적인 지침이 정확한 결과로 이어진다.
👉🏻 프롬프트 설계 기법
1. 역할 부여(Role Prompting): 모델이 특정 역할을 수행하도록 지시
2. 단계적 추론(Chain-of-Thought, CoT): 모델이 논리적 사고를 하도록 유도
3. 명확한 제약 조건 부여: 모델의 응답을 특정 형식이나 길이로 제한
4. 예제 기반 학습(Few-shot Prompting): 모델이 제공된 예시를 바탕으로 패턴을 학습
* [참고] Zero-shot & One-shot & Few-shot
1. Zero-shot: 예시없이 작업을 수행하는 것
- 장점: 빠르고 간단함
- 단점: 정밀도가 낮을 수 있음
2. One-shot: 하나의 예시 제공 후 작업을 수행하는 것
- 장점: 예제 기반으로 성능 향상
- 단점: 한 개의 예제로는 부족할 수도 있음
3. Few-shot: 여러 예시를 제공하는 것
- 장점: 예제가 많아질수록 정밀도 증가
- 단점: 토큰 사용량 증가 → 비용 증가
5. 반응 개선(Iterative Refinement): 프롬프트를 여러 차례 수정하여 최적화
- LLM 사용 사례
텍스트 생성, 번역, 질의응답, 코드 생성, 데이터 요약, 고객 서비스, 의료 분야, 법률 검토
- LLM 체험
1. Playground 활용
OpenAI Playground 플랫폼을 통해 사용자가 프롬프트를 입력해 LLM의 기능을 체험할 수 있다.
👉🏻 주요 기능
1) 모델 선택: text-davinci-003, gpt-3.5-turbo, gpt-4 등
2) 프롬프트 입력: 원하는 작업 요청 입력
3) 매개변수 조정
- Temperature: 응답 창의성 조절 (낮을수록 일관된 응답, 높을수록 창의적 응답)
- Max Tokens: 출력 길이 설정
- Top-p, Frequency Penalty, Presence Penalty 등 추가 옵션
4) 결과 확인: 즉시 모델 응답 확인 가능
👉🏻 실습 예제
텍스트 생성, 번역, 질의응답, 코드 생성
2. API 방식 LLM 호출
프로그램에서 LLM을 활용하기 위해 HTTP 요청을 통해 모델과 상호작용하는 방법이다.
👉🏻 호출 흐름
1. API 키 발급: OpenAI 계정에서 API 키 생성
2. 프롬프트 작성: 모델에 요청할 작업 생성
3. 요청 매개변수 설정
- model(사용할 모델), max_tokens(출력 길이 제한), temperature(응답 창의성 조절)
4. 응답 받기: 모델이 생성한 텍스트 활용
👉🏻 실제 응용 예제
- Flask/FastAPI로 간단한 LLM 기반 웹서비스 구축
- Stramlit을 활용하여 사용자 인터페이스 제공
- JSON 응답을 받아 데이터 분석 및 시각화
👉🏻 장점: 클라우드 기반 사용, 다양한 응용 가능
❗ 주의사항
API 키 보안 유지, 토큰 사용량에 따른 과금
- API 호출의 과금 방식
- 사용된 토큰 수를 기준으로 과금하며, 입력 토큰(Input) + 출력 토큰(Output)의 합계로 계산
❓ 토큰
ex) "ChatGPT is amazing!" → 6개의 토큰
Input 토큰: 사용자 요청 텍스트
Output 토큰: 모델의 응답 텍스트
- Input 토큰: 사용자가 입력한 텍스트
- Output 토큰: 모델이 출력한 텍스트
- 총 토큰 수 = Input + Output
- 모델별 토큰 가격 차이
gpt-4: 1K 토큰당 $0.03 (Input), $0.06 (Output)
gpt-3.5-turbo: 1K 토큰당 $0.0015 (Input), $0.002 (Output)
- 비용 절감 방법
짧고 효율적인 프롬프트 설계
필요 이상으로 긴 응답 방지 (Max Tokens 설정)
시스템 프롬프트 활용하여 일관된 응답 유지
LLM 주요 파라미터
- Top P
확률적 필터링을 통해 모델의 출력 단어를 제한하는 파라미터이다.
- Top P는 출력 확률 분포의 상위 p%를 포함하도록 설정한다.
- p = 0.9라면, 출력 확률이 가장 높은 단어들의 합이 90% 이상인 단어만 고려된다.
- 작동 방식
1. 모델은 다른 단어의 확률을 계산한다.
2. 확률 합계가 p를 넘는 단어만 선택 가능하다.
- p = 1.0: 모든 단어를 고려(완전 다양성)
- p = 0.9: 상위 90% 확률의 단어만 사용(더 집중된 응답)
- p = 0.5: 확률적으로 상위 50% 단어만 사용(더 보수적인 응답)
- Maximum Tokens
생성되는 출력의 최대 길이를 설정한다.
- 입력과 출력의 토큰 합계는 모델의 토큰 제한(ex. 4096 토큰)을 넘을 수 없다.
- 짧은 응답이 필요한 경우 작은 값을 설정한다.
- 긴 텍스트 요약이나 생성에는 더 큰 값을 사용한다.
- Temperature
출력의 창의성을 제어하는 파라미터이다.
- 값이 낮을수록 더 일관되고 결정적인 결과를 제공한다.
- 값이 높을수록 더 다양한 출력이 가능하다.
- T = 0.2: 매우 일관된 결과
- T = 0.8: 창의적이고 다양한 결과
LLM 적용
- 문장 생성
주어진 프롬프트를 바탕으로 자연스러운 문장을 작성하는 기능
👉🏻 작동 원리: 프롬프트 입력 → 단어 예측 → 문장 생성
👉🏻 주요 파라미터
- temperature: 창의성 조정
- max_tokens: 출력 길이 제한
- top_p: 단어 선택 다양성 조정
👉🏻 활용 사례
창의적 콘텐츠 작성: 소설, 시, 광고 문구 등
교육 및 학습: 설명, 연습 문제 생성 등
- 질의응답
사용자의 질문에 대해 LLM이 문맥에 맞는 답변을 생성하는 작업
👉🏻 작동 원리: 프롬프트 입력 → 문맥 분석 (질문 의도를 파악해 적절한 답변 생성) → 결과 출력
👉🏻 주요 파라미터
- temperature: 응답의 창의성 조절
- max_tokens: 답변 길이 제한
- top_p: 출력 다양성 조정
👉🏻 활용 사례
교육 플랫폼(실시간 학습 지원)
고객 지원(제품 및 서비스 문의 응답)
정보 검색
문서 요약
- 요약
LLM을 사용하여 긴 텍스트에서 핵심 정보를 추출하거나 재구성하는 작업
👉🏻 작동 원리
1. 입력 텍스트를 분석하여 주제와 구조 이해
2. 핵심 정보를 추출하거나 재구성
3. 간결한 요약 문장을 생성해 출력
👉🏻 주요 파라미터
- max_tokens: 요약 길이 제한
- temperature: 표현의 창의성 조절
- top_p: 다양한 단어 선택 가능성 제어
👉🏻 활용 사례
뉴스 및 문서 요약: 긴 기사나 보고서를 간략히 정리 (추상적 요약)
교육 자료 요약: 논문이나 연구의 핵심 내용 추출 (추출적 요약)
비즈니스: 회의 기록이나 보고서 요약
- 번역
입력 텍스트를 하나의 언어에서 다른 언어로 변환하는 작업 (문맥의 의미를 이해해 자연스러운 번역 제공)
👉🏻 작동 원리
1. 프롬프트 입력: 번역 요청과 대상 언어 지정
2. 문맥 이해: 텍스트의 구조와 의미 분석
3. 번역 생성: 문법과 어휘를 반영해 번역 작성
4. 결과 출력: 번역된 문장 반환
👉🏻 주요 파라미터
- temperature: 번역의 창의성 조절
- max_tokens: 번역 길이 제한
- top_p: 단어 선택 다양성 조정
👉🏻 활용 사례
이메일, 문서 번역
학술 자료 번역
e-러닝 콘텐츠 번역
- 채팅
사용자와 대화형으로 상호작용하며, 고객 지원, 교육, 엔터테인먼트 등 다양한 분야에서 활용
👉🏻 작동 원리
1. 프롬프트 작성: 사용자 입력 기반 대화 시작
2. 문맥 이해: 이전 메시지를 참고해 문맥 유지
3. 응답 생성: 적절한 정보와 어조로 응답 작성
4. 결과 출력: 생성된 응답 제공
👉🏻 주요 특징
- 문맥 유지: 대화 흐름 이해 및 연속적 응답
- 다양한 어조: 친근함, 유머 등 상황에 맞는 대화
- 다목적 활용: 정보 제공, 추천, 코딩 등
👉🏻 활용 사례
고객 지원: 문제 해결, 제품 정보 제공
교육: 학습 질문 응답 및 설명
엔터테인먼트: 유머, 이야기 생성
- 그 외 다양한 Use Case
1. 코드 생성: Python, JavaScript, SQL 등 코드 작성
2. 창작 활동: 소설, 시, 마케팅 문구 생성
3. 데이터 분석: 데이터 요약, 패턴 탐지
- LLM의 한계 및 해결 방법
👉🏻 한계점
사실과 다른 정보를 생성할 가능성 (Hallucination)
편향된 응답 가능성 및 윤리적 문제
긴 컨텍스트 유지 어려움
👉🏻 해결 방법
system prompt 활용하여 방향 설정
모델 fine-tuning 적용
Human-in-the-loop 검증 시스템 도입
'LLM' 카테고리의 다른 글
| 3.3.11 [LLM] Ollama (3) | 2025.09.02 |
|---|---|
| 3.3.10 [LLM] 실습 (OpenAI API) (4) | 2025.09.01 |
| 3.3.8 [NLP] 자연어 딥러닝(전이학습) (8) | 2025.08.27 |
| 3.3.7 [NLP] 자연어 딥러닝(신경망 기계 번역) (7) | 2025.08.26 |
| 3.3.6 [NLP] 자연어 딥러닝(언어 모델링) (0) | 2025.08.22 |