본문 바로가기
  • 컴공생의 공부 일기
  • 공부보단 일기에 가까운 것 같은
  • 블로그
🤖 AI/AI

🔬말 잘 듣는 모델 만들기 1 : 미세 조정

by 정람지 2025. 1. 10.

LLM을 활용한 실전 AI 애플리케이션 개발

- 허정준


 

다시 정리여

 

사전 학습 (Pre-training)

모델이 대규모 데이터셋을 기반으로 일반적인 패턴, 언어 구조 및 지식을 학습하는 초기 단계

 

파운데이션 모델(Foundation Model)을 만드는 과정!

바디 + 헤드 중에 바디 부분 모델!

 

 

미세 조정 (Fine-tuning)

사전 학습된 모델을 특정 작업이나 도메인에 맞게 최적화하는 과정

 

바디 + 헤드 중에 헤드 부분 레이어 생성!

 

 

강화 학습 (Reinforcement Learning)
모델이 보상을 통해 올바른 행동을 배우도록 학습시키는 방법

 

예시 ) 강화 학습 알고리즘 (예: Proximal Policy Optimization, PPO), RLHF, Reinforcement Learning with Human Feedback) 

 

 

굿굿이여


🔬말 잘 듣는 모델 만들기

GPT-3 (사용자의 말 다음에 올 말 생성)은 어떻게 챗 GPT(사용자의 요청에 답변 생성)가 될 수 있었을까?

  1. Instruction dataset 지시 데이터셋( 요청과 답변 형식) 으로 응답하기 학습 
  2. PPO(proximal policy optimization), RLHF(reinforcement Learning from Human Feedback) 등으로 사용자의 선호를 학습

 

모델을 조정하는 방법 

  • 강화 학습(reinforcement learning) 사용하는 방법
  • 강화 학습(reinforcement learning) 사용하지 않는 방법 

예시

  • 강화 학습 : PPO(proximal policy optimization), RLHF(reinforcement Learning from Human Feedback) 
  • non 강화 학습 : 기각 샘플링(rejective sampling), 직접 선호 최적화 ( Direct Preference Optimizatiuon, DPO)

🍄 코딩 테스트 통과하기 : 사전 학습과 지도 미세 조정

사전 학습하며 파운데이션 모델을 만들 때는 특정 태스크가 아닌, 언어에 대한 전체적인 이해도를 높이는 과정임.

 

언어 모델 : 다음에 올 단어의 확률을 예측하는 모델

언어 모델을 만들 때에는 일부 토큰을 넣고 다음에 올 토큰 중에서 정답 토큰의 확률을 높이는 방식으로 학습


🍯 연습 문제 풀어보기 : 지도 미세 조정

"지도" : 학습 데이터에 정답이 포함되어 있음

정렬 alignment : 사용자의 요청에 맞춰 응답

 

 

지시 데이터셋 : 사용자의 요청 / 적절한 형식의 대답 세트 데이터셋

=> 사전 학습 데이터보다 현저하게 적은 양

=> openai 는 데이터 레이블러를 고용하여 13000개 가량의 지시 데이터셋을 만들어서 학습 이용

 

llama 모델의 학습에 쓰인 alpaca 지시 데이터셋 예시

{
"instruction" : 사용자의 요구사항
"input" : 답변에 필요한 데이터
"output" : 정답 답변
"text" : 상단 세 개 변수의 내용을 정해진 포맷으로 묶은 데이터
}

 

 

학습 방법

- 사전 학습 때와 같이, 다음 단어를 예측하는 '인과적 언어 모델링(causal language modeling)' 을 사용해 학습

- 사전 학습과 미세 조정은 데이터셋의 차이로 구분됨


🍯 좋은 지시 데이터셋이 갖춰야 할 조건

데이터의 양? 품질? 형식?

 

🍮 데이터의 양

=> Meta. [Less is better than for Alignment] : 정렬을 위해서는 적은 데이터가 더 낫다.

  • LIMA : llaMa 모델을 정렬하는 데 1000개 정도의 지시 데이터셋을 쓴 모델
  • 52000개 학습 alpaca 지시 모델보다 성능이 좋음
  • google-Bard, OpenAi-GPT-4보다 4-50퍼센트 가량의 데이터를 이기거나 맞먹음.

 

🍮 데이터의 형식

=> 다양할수록 좋음

=> Meta : 피상적인 정렬 가설 suparficial aliognment hypothesis : 모델의 지식과 능력은 사전 학습 단계에서 대부분 완성되기 때문에 답변의 형식/나열 방법만 새로 익히면 되므로 적은 데이터가 필요한 것이다.

 

 

🍮 데이터의 품질

=> 높을수록 좋음! ^^

=> microsoft : [Textbooks are all you need] : 데이터셋 품질을 높이면 더 작은 데이터셋, 더 작은 모델로도 모델의 성능을 높일 수 있다.

  • 1.3B microsoft-pi 모델 > 16B 베이징대학교-wizardCoder 모델
  • 데이터셋에서 고품질의 데이터만 선별해서 학습시키면 더 성능이 좋음 ( 저품질의 데이터는 있으면 오히려 악영향) 
  • 교육적 가치가 낮은 데이터를 필터링하는 과정을 사용하여 품질을 높일 수 있음

 

It's

lunch time

 

고품질의 음식을 넣어야 

내 성능도 높아진다고 할 수 있겠다.