인공지능

Fine-Tuning 소개

원담 2025. 6. 24. 14:04
728x90

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단계

  1. 모델 선택: 작업 목적에 맞는 사전 학습 모델 고르기
  2. 패키지 설치: PyTorch, TensorFlow, Hugging Face 등
  3. 모델 불러오기: PC 또는 클라우드에서 불러오기
  4. 파인튜닝: 작업에 특화된 데이터로 재학습
  5. 검증: 정확도/정밀도/재현율/F1 등으로 평가
  6. 배포: 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)하는 세 가지 주요 방법

모델을 파인튜닝하는 방식은 크게 세 가지로 나눌 수 있다.

  1. 자기지도 학습(Self-Supervised Learning)
  2. 지도 학습(Supervised Learning)
  3. 강화 학습(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) 수 등

 

 

 

 

 

 

 

 

 

 

 

728x90