Pre-trained models
- BERT(Bidirektional Encoder Representations from Transformers)
- GPT(Generative Pre-trained Transformer)
이런 NLP 들은 감정 분석, NER, Q&A에 활용 된다. Fine tuning 은 이런 pre-trained models 을 기반으로 이루어 진다.
1. 모델의 학습(Training)과 파인튜닝(Fine-tuning)의 차이
학습(Training)이란?
- 모델 학습이란 대규모 언어 모델이 사실(facts)을 학습하는 과정.
- 이를 위해 엄청난 양의 데이터셋을 모델에 제공.
- 이 데이터셋은 뉴스 기사, 이미지, 오디오, 비디오 파일 등 다양한 형식일 수 있다.
- 목적은 모델이 데이터를 이해하고, 패턴을 학습하며, 지식을 쌓는 것.
학습 중 일어나는 일: 모델의 가중치(weights)가 조정
- 다시 말해, 학습이란 모델에게 대량의 데이터를 제공하여 지식을 쌓게 하는 첫 번째 단계이다.
- 모든 모델은 반드시 학습부터 시작해야 하며, 파인튜닝을 먼저 할 수는 없다.
파인튜닝(Fine-tuning)이란?
- 파인튜닝은 모델에게 특정 스타일이나 작업(task)을 학습시키는 과정.
- 학습(Training) 이후에 수행되며, 기존 학습된 모델의 지식과 가중치를 활용.
- 즉, 이미 방대한 데이터를 학습해 둔 모델을 기반으로 하여, 특정 작업에 필요한 데이터를 소량 추가 제공하여 조정하는 것.
예시: 모델이 뉴스 기사 데이터로 학습되었다면 모델은 기사의 전반적인 의미나 문맥은 이해할 수 있지만 특정한 작업 예를들면
- 뉴스 기사와 함께, "이 기사에 등장하는 인물은 A, B, C이다" 같은 레이블된 데이터를 제공하면, 모델이 이를 학습하여 해당 작업을 잘 수행할 수 있도록 된다.
감성 분석 예시
- 뉴스 기사 + "이건 긍정이다", "이건 부정이다" 같은 데이터셋을 제공하여 모델이 감성 판단 작업을 학습하도록 한다.
2. 파인튜닝 시 일어나는 내부 변화
- 파인튜닝 시에도 모델의 가중치(파라미터)를 조정
- 하지만 학습 전체를 다시 하지는 않는다
작업(task)이 원래 학습한 것과 얼마나 유사한지에 따라, 조정하는 층의 범위가 달라질 수 있다
3. 사전 학습된 모델(pretrained model)의 중요성
- 사전 학습 모델은 처음부터 모델을 훈련시키는 데 필요한 시간과 자원을 절약해 줌
- 이미 대규모 데이터셋에서 다양한 일반 지식을 학습한 상태이므로, 이 기반 위에서 특정 작업에 대한 파인튜닝만 수행하면 된다.
레이블 데이터(label data)를 수집하는 건 어렵고 비용도 많이 들기 때문에, 사전 학습 모델을 활용하는 것이 매우 효율적이다.
실제 사례: Hugging Face
- Hugging Face에는 다양한 파인튜닝 모델들이 있다. 이들은 특정 기능(감성 분석, 요약, NER, 감정 분석, 의도 분석 등)에 특화되어 파인튜닝된 모델이다.
- 이들은 모두 공통의 베이스 모델 위에, 특화된 데이터셋으로 파인튜닝된 것입니다.
핵심 요약
| 항목 | Training (학습) | Fine-tuning (파인튜닝) |
| 목적 | 모델의 기본 지식 학습 | 특정 작업에 모델을 특화 |
| 데이터 | 대량의 범용 데이터 | 소량의 작업 특화 데이터 |
| 파라미터 조정 | 전체 가중치 | 일부 (주로 깊은 층) 가중치 |
| 수행 시기 | 최초 | 학습 이후 |
| 예시 | 뉴스, 웹, 이미지, 오디오 등 | 감성 분석, 요약, NER 등 |
| 결과 | 범용적인 모델 | 특정 작업에 능한 모델 |
4. 파운데이션 모델(Foundation Models)에 대한 이해
- 파운데이션 모델이란 방대한 양의 데이터로 사전 학습(pre-trained)된 머신러닝 모델을 의미.
- 이 모델들은 텍스트 요약, 개체명 인식(NER), 주제 식별 등 다양한 특정 작업에 파인튜닝(fine-tuning) 되어 활용될 수 있다.
- 일반적으로 딥러닝 알고리즘을 사용해 학습되며, 패턴 인식 및 예측 정확도가 매우 높다.
학습 데이터의 종류
- 이러한 모델은 텍스트, 이미지, 음성, 구조화된 데이터, 3D 신호 등 다양한 유형의 데이터를 사용해 학습된다.
- 즉, 매우 광범위한 데이터를 기반으로 훈련되어, 각 데이터의 특징과 사실을 잘 이해할 수 있다.
파인튜닝의 활용 사례
- 개발자는 이 기초 모델을 가져와서 특정 목적에 맞게 조정(파인튜닝) 할 수 있다.
예시
- 질문-응답(Q&A) 예: 기업의 연차 보고서에서 "핵심 정보 요약" 요청 또는 뉴스에서 "마이크로소프트 관련 주요 뉴스는?" 요청
- 감성 분석 예: 뉴스 또는 기사 텍스트의 감성이 긍정, 부정, 중립인지 판단
- 정보 추출 예: 음성 데이터에서 발화자 수, 말한 내용, 의도 등 추출
- 이미지 캡셔닝 예: 수많은 암 관련 의료 이미지 중 특정 유형의 암을 분류
- 객체 인식 예: 사람, 자동차, 동물, 사물 등을 이미지로부터 식별
중요한 점은 기초 모델은 범용적인 인지 능력을 갖고 있으며, 이를 우리는 목적에 맞게 조정하여 새로운 태스크를 수행할 수 있다는 것이다.
대표적인 파운데이션 모델들
| 모델명 | 특징 | 파라미터 수 |
| GPT-3 (OpenAI) | 텍스트 생성, 대규모 언어 모델 | 1750억 개 |
| BERT | 문맥 이해에 강함 | 3.4억 개 |
| RoBERTa | BERT의 확장판 | 3.55억 개 |
| T5 | Text-to-Text 모델, 다양한 NLP 태스크 수행 | 110억 개 |
- 이 모델들은 대규모 데이터로 사전 학습되어, 언어의 의미, 문맥, 감정 등 다양한 요소를 이해할 수 있다.
- 파라미터 수가 많을수록, 더 많은 데이터와 복잡한 구조를 학습한 모델이다.
5. 파운데이션 모델의 작동 방식 – 세 가지 단계
1단계: Pre-training (사전 학습)
- 방대한 데이터셋으로 일반적인 패턴과 특징을 학습하는 단계
- 많은 컴퓨팅 자원, 시간, 비용이 요구됨 (예: GPT-3, GPT-4는 수천만 달러의 비용과 수 주~수개월의 시간 소요)
2단계: Fine-tuning (파인튜닝)
- 사전 학습된 모델을 기반으로, 특정 작업에 맞는 소규모 데이터셋을 통해 추가 학습
- 예: 질문-응답, 감성 분석, 텍스트 분류 등
- 나만의 작업(Task)에 따라 새롭게 조정 가능
3단계: Deployment (배포)
- 파인튜닝이 끝난 모델을 실제 환경에서 사용 가능하게 만드는 단계
- 사용자는 API나 애플리케이션을 통해 새로운 데이터를 입력, 모델은 학습된 패턴을 기반으로 예측 결과를 반환
- API, 웹 애플리케이션 형태로 배포 가능
- 대량 사용자를 위한 성능 최적화 및 확장성 확보도 중요
6. 파운데이션 모델을 사용하는 실질적인 절차
1단계: 모델 선택(Choose a model)
- 예: BERT, GPT-3, RoBERTa, GANs 등
- 각 모델은 학습한 데이터와 목적이 다르므로, 작업 특성에 맞게 선택. 예를들면 BERT 는 문맥 파악에 강하고 GPT는 텍스트 생성에 강함.
2단계: 필요 패키지 설치
- 사용하는 프레임워크 및 라이브러리 설치(예를들면, PyTorch, TensorFlow, Hugging Face Transformers..)
3단계: 사전 학습 모델 불러오기(Load Pre-trained model)
- 로컬 PC, Mac, 리눅스 등에서 모델 불러오기
- 사전 학습 모델은 크기가 매우 크므로 메모리와 저장 공간이 충분해야 함
4단계: 파인튜닝 수행
- 작업에 특화된 데이터셋 제공
- 입력 텍스트 + 정답 출력 (라벨)을 모델에 제공하여 학습
- 전이 학습(transfer learning) 기법 사용(예: 고객 리뷰에 대한 감성 분류 → 리뷰 데이터 + 긍/부정 라벨 제공)
5단계: 테스트 (검증)
- 검증 데이터셋으로 모델의 성능 평가
- 평가 지표 사용: Accuracy, Precision, Recall, F1 Score
6단계: 배포 (Production Deployment)
- 실제 서비스 환경에 모델 배포
- 예: 웹 애플리케이션, API 형태로 배포
- 사용자 요청을 입력 받아 모델이 결과 생성
- 성능 최적화, 다수 사용자 대응을 위한 확장성(Scalability) 확보 필요
요약: 파운데이션 모델 활용 6단계
- 모델 선택: 작업 목적에 맞는 사전 학습 모델 고르기
- 패키지 설치: PyTorch, TensorFlow, Hugging Face 등
- 모델 불러오기: PC 또는 클라우드에서 불러오기
- 파인튜닝: 작업에 특화된 데이터로 재학습
- 검증: 정확도/정밀도/재현율/F1 등으로 평가
- 배포: API, 웹 형태로 서비스화 및 최적화
7. 왜 우리는 파인튜닝(Fine-tuning)을 하는가?
작은 모델을 파인튜닝하면 큰 모델보다 나을 수 있다
- OpenAI의 연구 사례에 따르면, GPT-3 (1750억 파라미터) 같은 거대한 사전 학습 모델보다 InstructGPT (13억 파라미터)처럼 작지만 파인튜닝된 모델이 성능이 더 우수한 경우가 있다.
- 두 모델에게 동일한 작업(task)을 시켰더니 작고 파인튜닝된 InstructGPT가 크고 범용적인 GPT-3보다 더 나은 결과를 제공하였다. 왜냐하면 InstructGPT는 특정 작업을 잘 하도록 정밀하게 조정된 모델이기 때문이다.
최근 추세: "작고 정밀한 언어모델(SLiMs)"의 등장 2024년에는 “작은 특화 언어모델”의 시대가 도래할 것 sLLM
- 2024년 2월 12일 기준 앞으로는 거대한 범용 LLM 대신 작고 정밀하게 조정된 언어모델이 주류가 될 것이라고 함.
- 이 모델들은 거대한 GPT, BERT 같은 모델에서 지식은 빌리고 특정 작업에만 집중하도록 훈련됨
왜 작고 특화된 모델이 중요한가?
- GPT 같은 대형 언어모델은 범용 지식 기반으로 일반적인 답변을 함
- 하지만 실제로는 도메인에 따라 정밀한 이해와 분석이 필요
- 그래서 각 도메인에 맞는 작고 정교한 언어모델이 필요하다
도메인 특화된 언어모델은 훨씬 더 정확하고 효율적이다.
8. 모델을 파인튜닝(fine-tuning)하는 세 가지 주요 방법
모델을 파인튜닝하는 방식은 크게 세 가지로 나눌 수 있다.
- 자기지도 학습(Self-Supervised Learning)
- 지도 학습(Supervised Learning)
- 강화 학습(Reinforcement Learning)
자기지도 학습(Self-Supervised Fine-Tuning)
- 개요: 자기지도 학습에서는 일반적으로 대규모 데이터를 수집하여 모델에 전달한다. 이 데이터는 텍스트, 오디오, 비디오 등 다양한 형태일 수 있다.
- 방법: 복잡한 가공 없이 간단하게 데이터를 모델에 전달하고, 모델이 스스로 의미나 구조를 파악하게 한다.
- 예시: 내가 작성한 뉴스 기사나 블로그 글들을 모델에 학습시키고, 이후 블로그 생성 시 내 문체나 어조로 작성하도록 유도할 수 있다. 데이터는 보통 CSV, 텍스트 파일 등의 형태로 제공된다.
- 핵심 특징: “Self”라는 단어처럼, 사람이 직접 레이블링하거나 지도하지 않는다.모델이 데이터 안의 의미를 스스로 파악합니다. 초기 파인튜닝 단계에서 자주 사용되기도 한다.
지도 학습(Supervised Fine-Tuning)
- 개요: 지도 학습은 파인튜닝에서 가장 일반적이며 실용적인 방법이다. 데이터를 입력(input)과 원하는 출력(output)의 형태로 구성하여 모델에 제공한다.
- 방법: 모델에게 “이 입력이 들어오면, 이 출력이 나와야 한다”고 직접 알려준다. 질문-답변 형태도 많이 사용된다.
- 예시:뉴스 기사 → 해당 기사의 감정 분석 결과. 뉴스 기사 → 등장 인물 또는 주제 추출. 입력: 문서, 질문 등 / 출력: 요약, 키워드, 응답 등
- 데이터 준비: 사람이 직접 데이터를 가공하거나 구조화해야 하므로 인간의 개입이 필요. 수천~수만 개의 입력/출력 쌍이 필요할 수 있다. CSV, MySQL, MongoDB 등 다양한 포맷으로 구성 가능
- 모델별 요구 사항: 각 모델은 입력 데이터를 받아들이는 포맷에 차이가 있을 수 있으므로, 이에 맞춰 데이터를 준비해야 함
- 핵심 특징: 데이터 구조가 중요. 입력과 출력이 명확히 정의되어야 함.잘 준비된 데이터일수록 성능이 뛰어남
- 예시 도구: Gradient 같은 플랫폼에서는 문서 요약, 문서 질문 응답, 감정 분석, 주제 분류 등 여러 작업을 예제로 보여줌. 문서와 요약 예시를 다수 제공하여 학습에 사용 가능
강화 학습(Reinforcement Learning, RL)
- 개요: 강화 학습은 비교적 고급 기법으로, 모델이 학습 중 보상(reward)을 기반으로 성능을 개선해 나가는 방식이다.
- 예시: OpenAI의 InstructGPT. OpenAI는 강화 학습 기반 파인튜닝을 통해 InstructGPT를 개발했다. “훈련된 보상 모델(Train Reward Model)”을 사용하여 출력 결과의 질을 평가한다.
- 학습 구조: 프롬프트를 모델에 입력 → 여러 개의 출력 생성 + 출력 결과 각각에 대해 사람이 점수를 매김(보상 부여)한 후 이 결과들을 기반으로 PPO(Proximal Policy Optimization) 알고리즘을 사용해 모델을 반복 학습
- PPO란? 강화학습에서 사용하는 최적화 알고리즘. 모델이 안정적으로 보상을 극대화하도록 도와주는 방식
- 핵심 특징: 출력에 대한 평가 시스템이 필요.반복적인 학습 루프를 통해 성능 향상.고난이도이지만, 성능 향상에 매우 효과적
| 방식 | 특징 | 데이터 준비 | 난이도 |
| 자기지도(Self) | 모델이 스스로 의미 파악 | 비구조화 데이터 (예: 텍스트, 오디오) | 낮음 |
| 지도(Supervised) | 입력/출력 쌍 제공 → 명확한 가이드로 학습 | 사람이 직접 가공한 입력/출력 쌍 | 중간 |
| 강화(RL) | 보상을 기반으로 반복 학습, 최적화 진행 | 훈련 보상 모델 + 보상 부여 시스템 필요 | 높음 |
8. 모델 파라미터란 무엇인가?
모델을 파인튜닝하거나 사용할 때, 우리는 “모델 파라미터” 라는 개념을 자주 접한다. 예를 들어 GPT-3는 약 1,700억(170B) 개의 파라미터를 갖고 있고, GPT-4는 무려 1.5조(1.5 trillion) 개의 파라미터로 훈련되었다. 모델 파라미터란, 머신러닝 모델이 학습 과정에서 학습하는 가중치(weights)와 편향(bias) 이다. 이 값들은 모델이 입력 데이터를 기반으로 예측하거나 출력을 생성할 수 있도록 도와준다.
즉, 모델 파라미터는 학습을 통해 스스로 조정하는 내부 변수들이며, 이것이 모델이 데이터를 이해하고 결과를 만들어내는 핵심이다.
주요 대형 언어 모델(LLM)들의 파라미터 비교
| 모델명 | 파라미터 수 | 설명 |
| GPT-4 | 약 1.5조 | OpenAI, 고성능 다중언어 지원 |
| Bard | 약 1.6조 | Google, 고성능이지만 도메인 한계 |
| LLaMA | 약 1.2조 | Meta, 빠르게 발전 중인 오픈소스 |
| FLAN-UL2 | 약 200억 | Google, 작지만 자연스러운 텍스트 생성에 강점 |
| BLOOM | 약 1760억 | BigScience, 다양한 언어 지원 |
다국어 지원 (Multilingual Support) 여부. 다국어 지원은 글로벌 적용성을 판단하는 중요한 지표이다.
| 모델 | 다국어 지원 여부 | 특징 |
| GPT-4 | 매우 우수 | 다양한 언어 이해 및 생성 가능 |
| Bard | 일부 지원 | 도메인 특화 용도에 적합 |
| LLaMA | 지원 | 사용자 모국어 기반 상호작용 가능 |
| FLAN | 지원 | 다양한 언어 상황에 대응 가능 |
| BLOOM | 최적화 | 언어 장벽 극복에 중점 |
주요 특징 요약
| 기능 | GPT-4 | Bard | LLaMA | FLAN | BLOOM |
| 모델 크기 | 매우 큼 | 매우 큼 | 큼 | 중간 | 중간 |
| 텍스트 생성 | 탁월 | 우수 | 우수 | 자연스러움 | 다양함 |
| 다국어 지원 | 탁월 | 일부 | 우수 | 우수 | 우수 |
| 학습 데이터 | 대규모 웹 | 웹+다국어 | 웹 유사 | 공개셋 | 다국어 웹 |
| 활용 용도 | 생성, 요약 등 | 도메인 응답 | 오픈소스 기반 | 입력 기반 생성 | 장벽 해소 |
| 사용 용이성 | API 제공 | 검색창 통합 | 제한적 | 일부 오픈 | 완전 오픈 |
9. 파라미터 수와 성능 관계
- 모델 파라미터 수가 많을수록 다양한 작업을 처리 가능
- 예시: 62B 파라미터: 번역, 상식 추론, 요약, QA, 540B 파라미터: 대화, 논리 추론, 의미 분석, 코드 작성 등
- 하지만 파라미터 수가 많아질수록 계산 리소스도 크게 증가하므로, 성능과 효율성 간의 균형을 잘 맞추는 것이 중요하다.
| 구분 |
설명 | 예시 |
| 모델 파라미터 (Model Parameters) | 학습을 통해 결정되는 내부 값 | 가중치(Weights), 편향(Biases) |
| 하이퍼파라미터 (Hyperparameters) | 학습 전 설정하는 외부 조정값 | 배치 크기(Batch Size), 학습률(Learning Rate), 에폭(Epoch) 수 등 |
'인공지능' 카테고리의 다른 글
| 양자화 (0) | 2025.06.26 |
|---|---|
| 사전 학습된(pre-trained) 모델 종류 (0) | 2025.06.26 |
| 자연어 처리 시스템: 인간의 언어를 이해하기 (3) | 2025.06.20 |
| 시계열 예측 시스템: 과거 데이터로 미래를 읽기 (2) | 2025.06.19 |
| 이상치 분석 시스템 (0) | 2025.06.19 |