잇연

[sesac LLM] day18-240118 파인튜닝 Fine-tuning 본문

SESAC LLM 개발자 강의

[sesac LLM] day18-240118 파인튜닝 Fine-tuning

잇연 2024. 1. 25. 14:51

Fine-tuning 소개

  • Fine-tuning은 기존 AI 모델의 성능특정 작업에 맞게 조정하는 과정

OpenAI의 텍스트 생성 모델들은 방대한 양의 텍스트로 사전 학습된다. 이 모델들을 효과적으로 사용하기 위해서는 지시사항과 여러 예시들을 프롬프트에 포함시키는 것이 중요하다.

but, 모델이 Fine-tuning되면, 프롬프트에서 많은 예시들을 제공할 필요가 없다.

 

Fine-tuning을 사용하는 경우

  • OpenAI 텍스트 생성 모델의 Fine-tuning은 특정 응용 프로그램에 대해 더 나은 성능을 제공할 수 있지만, 시간과 노력의 신중한 투자가 필요하다.
  • 프롬프트 엔지니어링, 프롬프트 체이닝 (복잡한 작업을 여러 프롬프트로 나누기), 그리고 함 수 호출을 먼저 시도하는 것을 추천하다.
  • Fine-tuning이 결과를 향상시킬 수 있는 몇 가지 일반적인 사용 사례들
    • 스타일, 톤, 형식 또는 기타 질적 측면 설정
    • 원하는 출력을 생성하는 신뢰성 향상
    • 복잡한 프롬프트를 따르지 못하는 문제 수정
    • 특정한 방식으로 많은 엣지 케이스 처리
    • 프롬프트로 명확하게 설명하기 어려운 새로운 기술이나 작업 수행
    • 쉽게 말해 "말하기보다는 보여주기가 더 쉬울 때"이다.
  • fine-tuning 이점 :
    1. 프롬프트만으로는 달성하기 어려운 고품질의 결과를 얻을 수 있다.
    2. 프롬프트에 포함될 수 있는 것보다 더 많은 예시를 학습하여 모델을 개선한다.
    3. 더 짧은 프롬프트를 사용하여 토큰 사용을 절약할 수 있다.
    4. 요청에 대한 더 낮은 지연 시간을 경험할 수 있다.

Fine-tuning은 프롬프트보다 많은 예시를 학습해 Few-shot Learning을 개선하고, 다양한 작업에서 더 좋은 결과를 얻게 해줍니다. 모델이 Fine-tuning되면, 프롬프트에 많은 예시를 넣을 필요가 없어지며, 이는 비용 절감과 더 빠른 요청 처리로 이어진다. Fine-tuning 과정은 학습 데이터 준비 및 업로드, 새로운 모델 훈련, 결과 평가, 필요시 처음 단계로 돌아가기, 그리고 Fine-tuning된 모델 사용하기 등을 포함한다.


파인튜닝(Fine-tuning): 기존에 대량의 데이터로 훈련된 모델을 새로운, 비교적 작은 데이터셋에 추가 학습시켜 특정 작업에 최적화시키는 과정. 기존 학습된 모델의 지식을 활용해 적은 데이터로도 좋은 성능을 달성할 수 있다.

 

퓨샷 러닝(Few-shot Learning): 모델이 매우 적은 예시(보통 한 개에서 몇 개의 예시)를 통해 특정 작업을 수행할 수 있도록 학습하는 방법. 퓨샷 러닝은 모델이 새로운 작업을 빠르게 학습하고 적응하는 능력에 중점을 둔다.

 

관계: 파인튜닝은 퓨샷 러닝의 한 방법으로 사용될 수 있다. 즉, 대규모 데이터셋으로 사전 훈련된 모델을 가져와서 새로운 작업에 대해 몇 개의 데이터만을 사용해 추가 학습을 시킬 수 있다. 이렇게 함으로써, 모델이 적은 데이터로도 빠르게 새로운 작업을 학습하는 능력을 갖출 수 있다.