본문 바로가기

스타트업 투자/데이터 + 테크

패스트캠퍼스 환급챌린지 9일차 : 파인튜닝 강의 후기

by Sungwook Choi 2025. 4. 9.

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

*_1. 학습 인증샷 4장 이상 포함
*_① 오늘자 날짜, 공부 시작 시각 포함 사진 1장

② 오늘자 날짜, 공부 종료 시각 포함 사진 1장

③ 1개 클립 수강 인증 사진 (강의장 목록 캡쳐, 강의 내용이 담긴 수강화면이 보이지 않도록) 1장

④ 학습 인증샷 1장 이상 (ex. 필기 촬영, 작업물, 등)

2. 학습 후기 700자 이상 (공백 제외)

딥러닝 모델의 학습 두 단계

Pre-training (사전학습) : 기본 지식 학습

  • 마치 학교에서 기초 교육을 받는 것과 같음
  • 대규모 데이터 (인터넷의 텍스트, 이미지 등)을 사용해 모델에게 기본적인 이해력을 가르침
  • 엄청난 양의 데이터가 필요 (수백~수천 GB)
  • 매우 비싼 컴퓨팅 자원 필요 (수천만~수억 원의 비용)
  • 수백억~수천억 개의 파라미터 학습
  • 몇 주~ 몇 달의 훈련 시간 소요
  • GPT모델은 프리트레이닝 과정에서 수조 개의 단어를 읽으며 언어의 패턴, 문법, 사실 정보 등을 학습
  • 거대 언어 모델의 경우에는 개인이 하기 어려운 편

Fine-tuning (미세조정) : 특수 작업 최적화

  • 마치 이미 기본 교육을 받은 모델에게 특수한 기술을 가르치는 것과 같음
  • 이미 프리트레이닝이 된 모델에게 내가 가진 상대적으로 적은 양의 데이터를 추가적으로 학습함
    • 여기서 적은 양은 데이터 개수로는 수백~수십만 개로 프리트레이닝에 비해서는 매우 적은 양
  • 상대적으로 적은 데이터로 가능 (수십 MB ~ 수 GB)
  • 더 적은 컴퓨팅 자원 필요 (몇 만 ~ 수백만원의 비용)
  • 더 짧은 훈련 시간 (몇 시간~며칠)
  • 파인튜닝은 또한 크게 풀 파인튜닝과 PEFT 튜닝으로 나누어 분류 할 수 있음

Full Fine-tuning (풀 파인튜닝)

  • 모델의 모든 파라미터를 새로운 데이터로 업데이트함
  • 마치 전체 컴퓨터를 새로운 용도에 맞게 완전히 재구성하는 것과 같음
  • 모델의 모든 가중치 (수십억~수천억 개)를 조정
  • 최대한의 성능 개선 가능
  • 많은 메모리와 계산 자원 필요
  • 원본 모델의 일반적 능력이 손실될 위험 있음 (과적합)
  • 특정 작업에 완전히 최적화된 모델 생성
  • 필요한 GPU가 굉장히 많은 편 (개인도 가능하지만, PEFT란 대안이 좀 더 선호됨)

PEFT (Parameter-Efficient Fine Tuning)

  • PEFT는 ‘파라미터 효율적 파인튜닝’의 약자로, 모델의 일부만 업데이트하여 효율적으로 파인튜닝하는 방법
  • 마치 대형 기계 전체는 그대로 두고, 일부 부품만 교체하여 전체 기능을 향상시키는 것과 같음
  • 필요한 이유
    • 자원문제 : 최신 AI모델은 너무 거대해서, 모든 파라미터를 조정하려면 엄청난 GPU메모리와 시간 필요
    • 효율성 : 실제로 모든 파라미터를 변경하지 않아도 좋은 결과를 얻을 수 있음
    • 재사용성 : 기본 모델은 그대로 두고, 필요할 때마다 작은 ‘추가 모듈’만 바꿔가며 여러 작업에 활용 가능

LoRA (Low-Rank Adaption) 튜닝

  • LoRA는 PEFT의 대표적인 기법으로, 낮은 랭크의 행렬을 사용해 원본 모델의 변화를 표현
  • 마치 거대한 건물의 구조는 그대로 두고, 작은 증축 부분만 추가하는 것과 같음
  • 작동원리
    • 원본 모델의 거대한 파라미터 행렬(W)은 그대로 유지
    • 작은 크기의 두 파라미터 행렬 (A와 B)을 추가로 학습
  • 실제 예시
    • 10,000x10,000 크기의 원본 파라미터 행렬이 있을때, 이를 학습하지는 않음
    • LoRA에서는 10,000x8크기의 A와 8x10,000크기의 B만 학습 (총 16만개 파라미터)
    • 원본의 0.16%만 학습하면서도 풀 파인튜닝과 유사한 성능을 달성하기도 함

LoRA (Low-Rank Adaption) 튜닝의 강점

  • 필요한 GPU 대폭 감소
  • 훈련 속도 크게 향상
  • 더 적은 훈련 데이터로도 좋은 결과
  • 거대한 언어 모델은 그대로 두고, 여러 작업 별로 작은 LoRA모듈만 교체하며 사용 가능
  • 거대한 언어 모델을 풀 파인튜닝하면 원본 모델의 지식이 상당량 훼손되는 경우가 많음
  • 하지만, LoRA튜닝은 원본 모델을 두고 추가 파라미터 행렬을 학습하기 때문에, 대부분의 지식을 보존하면서 새로운 능력만 추가되는 경향성을 보임
  • 단, 문제가 매우 어려울 경우에는 아무래도 더 많이 학습하는 풀 파인튜닝이 유리한 경우들이 존재하기도 함
  • 풀 파인튜닝과 LoRA 튜닝 중 어떤 것이 성능이 더 좋느냐는 어떤 문제를 학습시키고 있느냐와 데이터의 양에 따라서 다를 수 있음

url : https://abit.ly/lisbva

댓글